2012-07-11 6 views
1

우리는 FIX 4.2 표준을 구현하는 상대방에게 executionReport 메시지 (35 = 8)를 전송합니다.FIX 4.2 및 ExecReportAck

해당 사양에는 정확한 전송을 확인하기위한 메시지가 필요합니다. 이상한 것은 메시지 유형이 "BN"이며, 이는 4.2 사양에 없습니다.

그런 종류의 메시지를 보내기 위해 메소드를 구현했으며 모든 것이 잘 작동하지만 quickfix는이 메시지를 오류 로그에 저장합니다.

errorlog에서 이러한 "BN"메시지를 제외시키는 방법이 quickfix에 있습니까?

답변

3

DataDictionary를 편집 해보십시오. 나는 새로운 파일을 만들 것이다. 그리고 quickfix 설정 파일에서 DataDictionary 위치를 새 파일로 설정하십시오.

데이터 사전의 XML 파일에 상대방이 보내는 내용과 일치하는 추가 메시지 유형을 추가하십시오.

<value enum="BN" description="MESSAGE_TYPE_NAME" /> 

MESSAGE_TYPE_NAME이

이 그런 유형

<message name="ExecutionReportAck" msgtype="BN" msgcat="app"> 
    <field name="OrderID" required="Y"/> 
    <field name="SecondaryOrderID" required="N"/> 
    <field name="ClOrdID" required="N"/> 
    ... 
</message> 
에게 추가 올바른 설명을하다 :

<field number="35" name="MsgType" type="STRING"> 

이 같은 라인 무언가를 추가 : 메시지 유형 필드에서

+0

메시지 이름 = 'ExecutionReportAck'msgcat = '응용 프로그램'msgtype = 'BN'> '성공했지만 성공하지 못했습니다. – stexcec

+0

잘 모르겠지만 구성 파일에 다음을 추가하면 ValidateUserDefinedFields = N – Groovy

+0

으로 생각할 수 있습니다. MsgType은 UserDefinedField가 아니기 때문에 작동하지 않을 것이라고 생각합니다. – robthewolf