2017-09-18 9 views
4

필자는 FIX를 통해 공급 업체에 연결하는 quickfix 패키지를 사용하여 Python으로 프로그램을 작성했습니다. 우리는 아침에 로그인하지만 실제로 하루가 끝날 때까지 연결을 통해 메시지를 보내지 않습니다. 문제는 하루 종일 프로그램을 열어두고 싶지 않지만 오후에 메시지를 보내야 할 때 다시 로그인하는 것입니다.하루 종일 연결된 FIX 연결을 유지하거나 주기적으로 다시 로그인하는 것이 일반적인 방법입니까?

공급 업체가 구성에 지정된 시작 시간과 종료 시간 사이의 전체 기간 동안 로그인 상태를 유지하도록 요청하고 있습니다. 이것은 하루 종일 내 프로그램을 끝내기 만하면 가능합니다. 왜냐하면 프로그램을 닫으면 공급 업체가 보내는 메시지가 저에게받은대로 등록되지 않기 때문입니다. 나는 로그 아웃 메시지를 보내지 않는다.

FIX를 통해 연결하고 전체 세션 시간 동안 실행되도록 두는 프로그램을 작성하는 것이 일반적입니까? 또는 로그 아웃 메시지를 보내지 않고 나중에 프로그램을 닫을 수 있습니까?

모든 디자인 또는 모범 사례에 대한 조언이 여기에 도움이 될 것입니다.

+1

저는이 분야에 완전히 익숙하지 않지만 [ "로그 아웃 교환없이 연결 해제 <5> 메시지가 비정상적인 조건으로 해석되어야합니다."] (https://www.onixs.biz/fix -dictionary/4.2/msgType_5_5.html). 이것이 얼마나 정확한지 모르겠습니다. –

+1

문제가 무엇인지 이해할 수 없습니다. 공급 업체가 전체 기간 동안 계속 연결되기를 원한다면 그 문제는 무엇입니까? 즉, "내 프로그램을 하루 종일 나가는 것"이 ​​어려운 이유는 무엇입니까? 컴퓨터에는 * 항상 실행중인 프로그램이 있습니다. 이것은 특히 비정상적인 상황이 아닙니다. – larsks

+1

추가 읽기에는 하트 비트가있는 것 같습니다. 따라서 로그 아웃하지 않고 연결을 끊으면 하트 비트 메시지가 손실되어 공급자가 세션을 종료하므로 나중에 다시 로그인해야합니다. –

답변

3

FIX를 통해 연결하고 전체 세션 시간 동안 실행되도록 프로그램을 작성하는 것이 일반적입니까? 또는 로그 아웃 메시지를 보내지 않고 나중에 프로그램을 닫을 수 있습니까?

나는 다른 사람들이 무엇을했는지 모르겠지만, 몇 년 동안 파이썬 QuickFIX을 사용 결코 하루 종일 내 시스템을 실행, 또는 어떤 이유와 다시 연결을 위해 주기적으로 종료 문제가 있었다. 결국 나는 데이터를 기록 할 수 있기 때문에 한 번에 몇 주 동안 시스템을 연결된 상태로 두었습니다.

귀하의 질문에 대한 답변이 모두 예라고합니다. 그것을 실행 상태로 두는 것이 일반적입니다. 또한 프로그램을 닫을 수도 있습니다.

귀하의 구현과 거래 상대방에 항상 엣지 케이스와 특이한 기능이있을 수 있으므로 분리를 요구 한 이유를 더 이해해야합니다. 그것은 나에게 이상하게 들린다. 그들의 FIX 엔진은 무언가를 아주 간단하고 표준이 가능하지 않습니까?

+1

나는 벤더가 당신에게 하루 종일 로그인을 요구하는 이유는 그들이 연결을 모니터링하고있는 방식이라고 생각합니다/디스코의 계획된 연결 시간 외의 것은 조사되고 고쳐야 할 수도있는 오류로 간주됩니다. 너무 엄격하게 들리는군요 ... – rupweb

0

예 FIX 세션을 오랫동안 계속 실행하는 것이 일반적입니다. 그것은 문제가되어서는 안됩니다.

기본 TCP 연결을 "열어"유지하기 위해 주기적으로 (보통 30 초) 전송 된 세션 수준 FIX.Heartbeat(35=0) 메시지를 종료 할 수없고 양쪽 끝이 아직 올라 있는지 확인하십시오. 제대로 작동합니다.

귀하가 제공 한 세부 정보에 따르면 공급 업체 (수신자 측)가 요청할 경우 지연없이 메시지를 보내야하기 때문일 수 있습니다. 사용자 (개시 자 측)가 그 시간에 로그인하지 않은 경우 사용자가 세션을 시작할 수 없으므로 해당 메시지를 보낼 수 없습니다.

공급 업체는 세션도 모니터링 할 수 있지만 초 기자로서 이상하게 들릴 수 있습니다. 초 기자가 연결 대기 중일 때 예기치 않은 세션 삭제를 모니터 할 확률이 높습니다.

어쨌든 여러분의 공급 업체에 따라 달라 지므로 여러분이 말하는 것을 따라야합니다 ...