首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Lightstreamer与IG索引API

使用Lightstreamer与IG索引API
EN

Stack Overflow用户
提问于 2020-12-28 16:26:01
回答 1查看 278关注 0票数 1

我正在尝试使用来自IG索引的流API,他们的文档是这里。Api要求在应用程序中包含光流客户端。因此,我使用了版本并将其添加到我的项目中。我创建了一个连接到服务器的函数。(我相信)

代码语言:javascript
复制
def connect_light_stream_client():
    if cst == None or xt == None:
        create_session()
    global client
    client = lsc.LightstreamerClient(lightstreamer_username=stream_ident,
                                     lightstreamer_password=stream_password,
                                     lightstreamer_url=light_stream_server)

    try:
        client.connect()
    except Exception as e:
        print("Unable to connect to Lightstreamer Server")
        return

然后,我调用第二个函数,它应该获取一个股票数据流,在每个滴答之后打印结果。

代码语言:javascript
复制
def listner(item_info):
    print(item_info)

def light_stream_chart_tick():
    sub = lsc.LightstreamerSubscription(mode="DISTINCT", items={"CHART:CS.D.XRPUSD.TODAY.IP:TICK"},
                                        fields={"BID"})
    sub.addlistener(listner)
    sub_key = client.subscribe(sub)
    print(sub_key)

最后的打印输出为1,我没有从侦听器那里得到任何信息。有什么建议我做错了吗?

EN

回答 1

Stack Overflow用户

发布于 2022-11-06 14:19:42

有几件事不对:

  1. 您必须等待订阅请求响应任何更新。在您的代码中,在接收到任何滴答之前,执行就会结束。我将来自light_stream_chart_tick()的代码放入connect方法中,请求输入作为等待。
  2. itemsfields参数需要是列表而不是dicts
  3. 波普尔史诗离线(至少当我尝试时)-我已经取代了比特币。
代码语言:javascript
复制
def connect_light_stream_client():
    if cst == None or xt == None:
        create_session()
    global client
    client = lsc.LightstreamerClient(lightstreamer_username=stream_ident,
                                     lightstreamer_password=stream_password,
                                     lightstreamer_url=light_stream_server)

    try:
        client.connect()
    except Exception as e:
        print("Unable to connect to Lightstreamer Server")
        return

    sub = lsc.LightstreamerSubscription(
        mode="DISTINCT", 
        items=["CHART:CS.D.BITCOIN.TODAY.IP:TICK"],
        fields=["BID"]
    )
    sub.addlistener(listner)
    sub_key = client.subscribe(sub)
    print(sub_key)

    input("{0:-^80}\n".format("Hit CR to unsubscribe and disconnect"))
    client.disconnect()


def listner(item_info):
    print(item_info)

有一个python项目这里,它使与IG的交互变得更加容易,并包含了一个流样例。该项目是最新的,并积极维护。

充分披露:我是这个项目的维护者

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65480735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档