Я новичок с Python 3.7 и пытаюсь войти в систему, используя механизм быстрого исправления, любой, пожалуйста, посмотрите на приведенный ниже код и подскажите, как мне войти в систему для модуля быстрого исправления и выполнить свои команды.
I Я не могу найти параметры имени пользователя или пароля в файле конфигурации для установки, поэтому я полагаю, что необходимо войти в систему с помощью команды входа в систему.
import time
import quickfix as fix
import uuid
class Application(fix.Application):
def onCreate(self, sessionID):
self.sessionID = sessionID
print('--------')
print('onCreate')
print(sessionID)
print(self.sessionID)
return
def onLogon(self, sessionID):
print('onLogon')
return
def onMessage(self, sessionID):
print('onMessage')
return
def onLogout(self, sessionID):
print('onLogout')
return
def toAdmin(self, message, sessionID):
print('--------')
# print(self.sessionID)
print('toAdmin', message.toString())
return
def toApp(self, message, sessionID):
print('--------')
print('toApp', message.toString())
return
def fromAdmin(self, message, sessionID):
print('fromAdmin')
return
def fromApp(self, message, sessionID):
print('fromApp')
return
def LogonToServer(self):
print('--------')
print('LogonToServer')
print(self.sessionID)
message = fix.Message()
header = message.getHeader()
header.setField(fix.BeginString("FIX.4.4"))
header.setField(fix.MsgType("A"))
header.setField(fix.MsgSeqNum(1))
header.setField(fix.SenderCompID("SENDER_COM_ID"))
# header.setField(fix.SendingTime(_SendingTime))
header.setField(fix.TargetCompID("TARGET_COMP_ID"))
header.setField(fix.EncryptMethod(0))
header.setField(fix.HeartBtInt(20))
header.setField(fix.Username("USERNAME"))
header.setField(fix.Password("PASSWORD"))
print('--------')
print('LogonToServer', message.toString())
test = fix.Session.sendToTarget(message)
print('--------')
print('Response', test)
return
try:
file = 'Config/settings_live'
settings = fix.SessionSettings(file)
application = Application()
storeFactory = fix.FileStoreFactory(settings)
logFactory = fix.FileLogFactory(settings)
initiator = fix.SocketInitiator(
application, storeFactory, settings, logFactory)
initiator.start()
time.sleep(10)
while 1:
application.LogonToServer()
time.sleep(10)
initiator.stop()
except (fix.ConfigError, fix.RuntimeError) as e:
print(e)