提供python市场数据api访问flextrade sym

pyflx的Python项目详细描述


Pyflx

versionpyversionplatformlicensedownloads

提供对flextrade sym的python市场数据api访问。pyflx有两个市场数据python类-symlister(客户机)用于使用flextrade市场数据服务器中的市场数据,以及symproxy(发布者或订阅者)用于将自定义tick数据发布到flextrade市场数据服务器。

安装

PyPI安装,使用pip

pip install pyflx

示例

importpyflximporttimedefonData(symbol,data={}):print("[onData] symbol:{}, data:{}".format(symbol,data))sl=pyflx.Symlistener()sl.onData(onData)whileTrue:try:ifsl.connect('192.168.1.123',7600):sl.subscribe('XAU/USD')sl.loop()time.sleep(5)exceptKeyboardInterrupt:exit(0)exceptExceptionase:print(e)

有关示例代码,请参见symlistener.pysymproxy.py

API

SymListener类

pyflx.symlistener()
创建SymListener客户端的实例。

>> sl = pyflx.Symlistener()

symlistener.connect(ip_addressport
IP地址:str
端口:int
返回:bool
连接到指定端口号上的sym服务器。如果成功,则返回true;如果无法连接到服务器,则返回false

>> sl.connect('192.168.1.123', 7600)

symlister.subscribe(symbol
符号:str
订阅符号的市场数据。

>> sl.subscribe('XAU/USD')

symlister.subscribeAll()
订阅所有符号的市场数据。

>> sl.subscribeAll()

symlistener.取消订阅(symbol
符号:str
取消订阅符号的市场数据。

>> sl.unsubscribe('XAU/USD')

symlister.subscribeAll()
取消订阅所有符号的市场数据。

>> sl.unsubscribeAll()

symlister.loop()
输入事件循环并侦听回调。

>> sl.loop()

symlister.ondata(symboldata
符号:str
数据:dict
如果已分配回调onData,则在从sym server接收消息时调用该回调。

>> def onData(symbol, data):
>>     print("[onData] symbol:{}, data:{}".format(symbol, data))
>>
>> sl = pyflx.Symlistener()
>> sl.onData(onData)

交感神经类

pyflx.symproxy()
创建symproxy服务器的实例。

>> sp = pyflx.Symproxy()

symproxy.initialize(port
端口:int
侦听端口上的传入连接请求。

>> sp.initialize(7600)

symproxy.getfd()
返回:int
返回客户端或绑定套接字。

>> sp.getFd()

symproxy.select()
返回:int
在套接字上查找事件。

>> sp.select()

symproxy.checksocket()
将触发进程检查请求和回调。

>> sp.checkSocket()

symproxy.publish(symboldata
符号:str
数据:dict
将市场数据tick更新发布到sym服务器。

>> sp.publish('XAU/USD', {0:1420, 1:1421.5, 512:1000, 513:2000, 1032:'USD', 1541:'U'})

symproxy.onlogon(usernamepassword
用户名:str
密码:str
如果已分配回调onLogon,则在从客户端接收登录消息时调用该回调。

>> def onLogon(username, password):
>>     print("[onLogon] username:{}, password:{}".format(username, password))
>>
>> sp = pyflx.Symproxy()
>> sp.initialize(7600)
>> sp.onLogon(onLogon)
>> sp.onSubscribe(onSubscribe)
>> sp.onUnsubscribe(onUnsubscribe)

symproxy.onsubscribe(symbol
符号:str
如果已分配回调onSubscribe,则在从客户端接收符号订阅消息时调用该回调。

symproxy.onunsubscribe(usernamepassword
符号:str
如果已分配回调onUnsubscribe,则在从客户端接收到符号取消订阅消息时调用该回调。

支架

更改日志

1.2.0

  • 2019年8月7日
  • 支持Python2.7
  • SymListener类
  • 交感类

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Jetty是否有请求缓存?   数组中的java 2值与我的数据帧中的2列对应   对象序列化期间的java DbUtils类型转换问题   java根面板中不显示所有单独的面板   java通过代理或SSH隧道连接Hbase API   java困惑:与经典MVC控制器相比,JSF2中bean的角色   java在我的Triangle类中“找不到符号错误”   java在Android中设置从路径到自定义按钮的图像   java不绕轨道旋转椭圆   AES在socket上搞砸了序列化/反序列化。无效的流标头。JAVA   java在数组中搜索term和if语句   线程“main”java中出现异常。util。正则表达式。PatternSyntaxException:在索引0附近悬挂元字符“*”*   Websphere上的java Google反射无法打开url连接   java为什么inc/dec频道什么都不做?   java KeyListener无法访问keyPressed方法