如何解决与 FIX 交易对手的连接问题
我正在尝试连接到我的交易对手的 FIX
为了修复连接,我使用 quickfix 和 python。这是我用于 quickfix 的 settings.config(SenderCompId、TargetCompId、port 和 host > 从交易对手处收到):
[DEFAULT]
ConnectionType=initiator
FileStorePath=C:\Users\me\Desktop\fix\store
FileLogPath=C:\Users\me\Desktop\fix\log
SenderCompID=sendid
[SESSION]
BeginString=FIX.4.4
Resetonlogon=Y
StartTime=21:05:00
EndTime=21:03:00
TargetCompID=targid
HeartBtInt=30
SocketConnectPort=port
SocketConectHost=ip
DataDictionary=C:\Users\me\Desktop\fix\FIX44.xml
这是我的简单应用程序的代码。我首先尝试向我的交易对手发送登录消息(密码也从交易对手那里收到):
class App(fix.Application):
def onCreate(self,sessionID):
print('on create')
return
def onlogon(self,sessionID):
self.sessionID = sessionID
print("Success logon to session '%s'.",sessionID.toString())
return
def onlogout(self,sessionID):
print('on logout')
return
def toAdmin(self,message,sessionID):
print('to admin')
if message.getHeader().getField(35) == 'A':
message.setField(554,'password')
print(message.toString())
return
def toApp(self,sessionID):
print("Receive message \n",message.toString())
return
def fromAdmin(self,sessionID):
print('from admin')
return
def fromApp(self,sessionID):
print('from app')
return
settings = fix.SessionSettings('settings.config')
storeFactory = fix.socketinitiator(application,storeFactory,settings,logFactory)
initiator.start()
print('initiator start')
我的应用程序的输出如下(复制时修复消息分隔符的问题):
on create
initiator start
在我的日志路径中,initiator.start()
之后创建了四个 .txt
文件。他们的名字是:
FIX.4.4-sendid-targid.event.current.log
FIX.4.4-sendid-targid.messages.current.log
GLOBAL.event.current.log
GLOBAL.messages.current.log
在 FIX.4.4-sendid-targid.event.current.log
中创建一条消息:
date-time: Created session
,其他都是空的。
如您所见,我正在尝试向我的交易对手发送登录消息。但是,我没有收到任何关于成功登录的输出。交易对手也没有看到我这边的任何联系。
可能是什么问题?我好像什么都按规矩办。 请帮忙。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。