"http://www.quickfixengine.org"의 파이썬 코드 예제를 사용 중입니다. 질문이 있습니다. 나는QuickFIX에서 메시지 보내기
import quickfix
if len(sys.argv) < 2: return
fileName = sys.argv[1]
try:
settings = quickfix.SessionSettings(fileName)
application = quickfix.MyApplication()
storeFactory = quickfix.FileStoreFactory(settings)
logFactory = quickfix.FileLogFactory(settings)
initiator = quickfix.SocketInitiator(application, storeFactory, settings, logFactory)
initiator.start()
# while condition == true: do something
initiator.stop()
except quickfix.ConfigError, e:
print e
연결이되어 내가 로그인 얻을 아래의 코드 세그먼트를 사용하여 내 응용 프로그램을 작성하고 지금은 (예를 들어, 주문) 메시지를 보내려고합니다. 제공된 코드 세그먼트는 다음과 같습니다.
def sendOrderCancelRequest:
message = quickfix.Message();
header = message.getHeader();
header.setField(...)
*<...build the header and body...>*
message.setField(...)
Session.sendToTarget(message)
내 질문에 대한 답변은 Session
입니다. 어디서/어떻게 만들어 졌습니까? Session = quickfix.Session()
과 같은 내용으로 표시되거나 표시되지 않는 항목이 있습니까? 나는 몇 가지를 시도했지만 문서는 단지 시행 착오의 부족 ...
감사합니다. 나는'sendToTarget()'이'Session'에있는 메소드라는 것을 이해합니다. 제 질문은 클래스의 인스턴스가 어디에 생성되는지입니다. 아니요 (게시 한) 코드에서 사용할 수 있도록 "세션"이라는 이름이있는 항목이 없습니다. – gearhead
@gearhead - 나쁘다. 나는 오해하고있다. 대답에 대한 내 업데이 트를 참조하십시오. –
감사합니다. @ 그랜트. 나는 그것이 그 장면들 뒤에 만들어 졌다고 생각했다. QuickFIX 사이트의 코드를 사용하면 오류가 발생합니다. 그 줄에 도착하면 런타임 오류가 발생합니다 : ''NameError : name 'Session'이 정의되지 않았습니다. " 그 이름으로 아무것도 만들지 않기 때문에 어떤 의미가 있습니다 ... 생각했습니다. 그것 밖으로. 대신에 내가 사용하는 경우 : 'quickfix.Session_sendToTarget (message)' 작동 할 모든 것 _seems_ to @Grant. 지난 몇 게시물에서 제공 한 모든 도움과 조언에 정말 감사드립니다. – gearhead