2016-08-22 2 views
2

가끔 내 quickfixN 엔진이 교환기와의 연결이 끊어지며 교환기가 다시 연결되면 누락 된 메시지가 있고 재전송을 묻습니다. 그러면 내 엔진이 메시지를 보냅니다.재전송 요청으로 처리해야하는 주문의 수

그러나 종종 주문이 오래되었지만 종종 주문 취소 요청을 보냈습니다. 그럼에도 불구하고 교환 원이 메시지를 다시 보내면 주문이 채워질 가능성이 큽니다.

이 문제를 해결하는 올바른 방법은 무엇입니까? 즉, 교환 원에게 이러한 주문을 실행하지 말라고 어떻게 알 수 있습니까? 아니면 이전 주문을 다시 보내지 않도록 quickfixN을 멈추게 할 수 있습니까?

답변

2

이 문제를 보편적으로 "올바른"방법으로 처리 할 수 ​​있는지 알 수 없습니다. 우리의 시스템에서

, 우리는 항상 갭과 항상 응답은

교환 채우기 : "이봐, 우리가 놓치고있는 시퀀스 (542)를 통해 537!"

회사 : "염려하지 마세요. 다음에 시퀀스 545가 예상됩니다."

545는 오타가 아닙니다. 재전송 요청이 전송되는 동안 543과 544가 이미 전송되었을 수 있습니다.

이 기술은 분명히 직면하고있는 딜레마를 피하기위한 것입니다. 오래된 메시지를 보내지 않으므로 적어도 실행을 제어 할 수 있습니다.

더 큰 관점을 설명하기 위해 우리는 주문을 처리 할 때 "진행 중"으로 플래그를 지정합니다. 즉, 어떤 방식 으로든 더 이상 조치 할 수 없음을 의미합니다 (수정 됨/CFO 됨 또는 취소됨). 예 : 실행 보고서를받은 경우에만이 상태가 삭제됩니다. 따라서 교환 원이 해당 주문과 관련된 메시지를 놓친 경우 해당 주문은 단순히 "멈춤"상태가됩니다 (프런트 엔드에서 강조 표시됩니다). 이상적은 아니지만 적어도 다시 통제할만한 것은 아닙니다. 거래자는 원하는 순서대로 간단히 다시 입력합니다. (가 주문을 안전하게 다시 입력 할 수있게 해주는 메시지를 다시 보내지 않을 것이라는 것을 보장합니다.) 시스템을 사용하면 복잡한 시퀀스 시나리오가 필요없이 다시 시도하고 이동하려고합니다. 해결.

출처 : 50 캐나다 중개인이 사용하는 캐나다 교환 번호에 연결하는 주문 입력 시스템에서 작동합니다.

+1

정말 고마워. 나는 메시지를 잃어 버릴까 봐 걱정했지만, 이제는 교환 메시지가 가장 중요하다는 것을 깨달았습니다. (필 등) - 보내는 메시지는 종종 버려 질 수 있습니다. – mcmillab