IG lightstreamer 服务器总是每秒发送更新

问题描述 投票:0回答:1

我正在尝试通过python连接到IG的lightstreamer服务器以获取蜡烛图数据。然而,我似乎总是每秒都会获得项目更新,即使我指定我每分钟或每小时都需要它。这是我的代码:

from lightstreamer.client import *

loggerProvider = ConsoleLoggerProvider(ConsoleLogLevel.WARN)
LightstreamerClient.setLoggerProvider(loggerProvider)

ls_client = LightstreamerClient("https://demo-apd.marketdatasystems.com", None)
ls_client.connectionDetails.setUser("...")
ls_client.connectionDetails.setPassword("...")
ls_client.connect()

subscription = Subscription(
    mode="MERGE",
    items=["CHART:CS.D.BITCOIN.CFD.IP:1MINUTE"],
    fields=["BID_CLOSE"])
subscription.addListener(SubListener())
ls_client.subscribe(subscription)

input()

ls_client.unsubscribe(subscription)
ls_client.disconnect()

class SubListener:
  def onItemUpdate(self, update):
    print(update.getValue("BID_CLOSE"))

1MINUTE
CHART:CS.D.BITCOIN.CFD.IP:1MINUTE
部分似乎没有任何影响。

我已经在 IG 的流媒体伴侣中尝试了相同的项目字符串,并且我能够以这种方式每分钟获取更新,但由于某种原因它无法在代码中工作。有什么想法吗?

python lightstreamer
1个回答
0
投票

我认为项目名称中的标签 1MINUTE 表示图表烛台聚合的时间间隔的持续时间;但是,更新会持续发送。 如果您想以特定频率接收更新,您可以利用 Lightstreamer 客户端库的 setRequestedMaxFrequency 选项。 要每分钟接收一次更新,您应该使用如下所示的内容:

subscription.setRequestedMaxFrequency(Decimal(1)/Decimal(60));
© www.soinside.com 2019 - 2024. All rights reserved.