我是第一次通过quickfix连接。 Python是3.7。环境是Windows7。创建会话没有问题。发送消息时出现问题。我对此完全陌生,请帮忙。
import quickfix as fix
#...
settings = fix.SessionSettings(file)
application = FIX_IO()
storeFactory = fix.FileStoreFactory(settings)
initiator = fix.SocketInitiator(application, storeFactory, settings)
initiator.start()
# ALL OK WITH THE SESSION
sid = fix.SessionID('FIX.4.4', 'XXXX', 'XXXX')
print('IT DOES EXISTS:',fix.Session_doesSessionExist(sid))
#YES IT DOES
我成功构建了一条消息(如下所示),并且打印了...
LOGGED ON BEFORE MESSAGE: False
Logging on...
8=FIX.4.4 9=121 35=A 34=1 49=Q029 52=20190613-16:51:43.000 56=XC80 553=somelogin 554=somepassword 58=LOGON ATTEMPT 98=0 108=30 141=Y 10=015
Logging on...
Traceback (most recent call last):
File "C:\Users\bru\AppData\Local\Programs\Python\Python37-32\lib\site-packages\quickfix.py", line 39579, in fromAdmin
return _quickfix.Application_fromAdmin(self, arg0, arg1)
RuntimeError: SWIG director pure virtual method called FIX::Application::fromAdmin
LOGGED ON AFTER MESSAGE: False
答案 0 :(得分:0)
阅读错误消息,伙计!
NotImplementedError: Wrong number or type of arguments for overloaded function 'Session_sendToTarget'.
您正在传递sendToTarget
一个不合适的参数,因为它的类型错误。
那么,该参数的类型是什么? Simplefix消息。它被传递给什么功能? QuickFIX功能。
您不能这样做!您正在尝试在福特卡车中使用Toyota零件。
QuickFIX对Simplefix一无所知,它当然不具有任何采用SimpleFix参数的功能。
因此,选择一种:QuickFIX或SimpleFix。您不能在一个应用程序中同时使用两者。