dow*_*123 12 python quickfix fix-protocol
我试图用python quickfix(FIX 4.2)实现基本的FIX请求,但是文档很少让我完全理解它(我已经做了很多研究,问题末尾的链接 - 所以请放心这不是一个没有做任何挖掘的问题)
8=FIX.4.2 | 9=108 | 35=A | 34=1 | 49=ACCOUNTXXX | 52=20161116-00:00:15.281 | 56=CNX | 553=ACCOUNTXXXSTR1 | 554=Stater123 | 98=0 | 108=60 | 141=Y | 10=133 |
Run Code Online (Sandbox Code Playgroud)
8=FIX.4.2 | 9=77 | 35=A | 49=CNX | 34=1 | 52=20161116-00:00:17.928 | 56= ACCOUNTXXXSTR1 | 98=0 | 108=60 | 141=Y | 10=140 |
Run Code Online (Sandbox Code Playgroud)
8=FIX.4.2 | 9=142 | 35=V | 34=8 | 49=ACCOUNTXXX | 52=20161116-12:19:48.269 | 56=CNX | 146=1 | 55=EUR/USD | 262=2016110213351833862 | 263=2 | 264=1 | 265=1 | 266=Y | 267=2 | 269=0 | 269=1 | 10=110 |
Run Code Online (Sandbox Code Playgroud)
8=FIX.4.2 | 9=227 | 35=X | 49=CNX | 34=241 | 52=20161116-12:20:03.651 | 56=ACCOUNTXXX | 262=2016110213351834170 | 268=2 | 279=0 | 269=0 | 278=141 | 55=EUR/USD | 270=1.76371 | 15=GBP | 271=1000000 | 346=1 | 279=0 | 269=1 | 278=142 | 55=EUR/USD | 270=1.76406 | 15=GBP | 271=1000000 | 346=1 | 10=223 |
Run Code Online (Sandbox Code Playgroud)
8=FIX.4.2 | 9=59 | 35=0 | 34=3 | 49=ACCOUNTXXX | 52=20161116-00:01:15.868 | 56=CNX | 10=054 |
Run Code Online (Sandbox Code Playgroud)
我想要一些建议和一些基本的代码结构,如何设置Python代码来发送A,B,C并打开一个套接字/流来继续读取STREAM中的数据并将其记录到控制台
我在哪里看过了?
https://github.com/quickfix/quickfix/blob/master/examples/executor/python/executor.py
https://futures.io/matlab-r-project-python/35213-python-quickfix.html
https://github.com/tianyilai/QuickFix-python-client/tree/master/spec
然而,文档和示例很稀疏,我正在努力找到我的方式通过谢谢
A –呼叫时,QuickFix自动发送登录请求initiator.start()。您需要的文档的关键一点在这里,其中包括PYTHON示例翻译:
import quickfix
if len(sys.argv) < 2: return # FAIL to have a mandatory number of args
fileName = sys.argv[1] # .SET fileName ( a configuration file )
try:
settings = quickfix.SessionSettings( fileName )
application = quickfix.MyApplication()
storeFactory = quickfix.FileStoreFactory( settings )
logFactory = quickfix.FileLogFactory( settings )
acceptor = quickfix.SocketAcceptor( application, storeFactory, settings, logFactory )
# .SocketInitiator( ... ) # Ref. below
acceptor.start() #-------------------------------
# while condition == true: do something
#
# pass; # onEoLife:
acceptor.stop() #--------------------------------
except quickfix.ConfigError, e:
print e
Run Code Online (Sandbox Code Playgroud)
(Cit .:) ...上面的示例代码显示了如何启动
acceptor侦听套接字的FIX协议 。 ...
如果你想,而发起者(设置从你身边一个会话),你将取代acceptor与该代码段SocketInitiator。
该行将settings = quickfix.SessionSettings(fileName)加载配置文件,并且许多关键字段都从那里获取。请参阅配置文件文档。
B-为了请求实时数据,您需要向对方发送35 = V的消息。为此,您定义一条MarketDataRequest消息,该消息具有一些变量,然后将该消息发送给交易对手。看这里。不过请注意,我认为这里的文档有误,要发送您需要致电的mssage fix.Session_sendToTarget(message)。
C-您无需担心,QuickFix会处理心跳并在断开连接后自动登录等。您可以在配置文件中设置心跳间隔(例如60秒)fileName。请参阅配置文件文档。
| 归档时间: |
|
| 查看次数: |
7179 次 |
| 最近记录: |