FIX NewOrderSingle 收到内部应用程序错误,联系支持

FIX NewOrderSingle recieves Internal application error, contact support

我正在使用 QuickFix 在 C++ 中开发一个机器人,使用 Remarkets 来测试我的应用程序,但是当我发送 newOrderSingle 时,我收到 “内部应用程序错误,请联系支持人员。”

我假设应用程序是我自己,但我也尝试联系 Remarkets,但没有得到任何答复。

消息是这样的:

登录:

8=FIXT.1.1 9=124 35=A 34=1 49=usr123 52=20201012-21:00:35.860 56=ROFX 553=usr123 554=hdjbxA7# 98=0 108=30 141=Y 1137=9 10=129 

登录回答:

8=FIXT.1.1 9=89 35=A 34=1 49=ROFX 52=20201012-21:00:36.534 56=usr123 98=0 108=30 141=Y 1137=9 10=246 

收到我不完全理解的交易时段状态:

8=FIXT.1.1 9=114 35=h 34=2 49=ROFX 52=20201012-21:00:38.069 56=usr123 325=Y 335=NONE 336=[N/A] 340=2 1300=DDF 1301=ROFX 10=098 
8=FIXT.1.1 9=115 35=h 34=3 49=ROFX 52=20201012-21:00:38.069 56=usr123 325=Y 335=NONE 336=[N/A] 340=2 1300=DUAL 1301=ROFX 10=188 
8=FIXT.1.1 9=114 35=h 34=4 49=ROFX 52=20201012-21:00:38.069 56=usr123 325=Y 335=NONE 336=[N/A] 340=2 1300=DDA 1301=ROFX 10=095 
8=FIXT.1.1 9=115 35=h 34=5 49=ROFX 52=20201012-21:00:38.069 56=usr123 325=Y 335=NONE 336=[N/A] 340=2 1300=MERV 1301=ROFX 10=210 
8=FIXT.1.1 9=115 35=h 34=6 49=ROFX 52=20201012-21:00:38.069 56=usr123 325=Y 335=NONE 336=[N/A] 340=2 1300=RFXI 1301=ROFX 10=210 
8=FIXT.1.1 9=128 35=h 34=7 49=ROFX 52=20201012-21:00:38.070 56=usr123 58=EXTERNAL 325=Y 335=NONE 336=[N/A] 340=2 1300=MATBA 1301=ROFX 10=009 
8=FIXT.1.1 9=118 35=h 34=8 49=ROFX 52=20201012-21:00:38.581 56=usr123 325=Y 335=NONE 336=1 340=0 625=1 1300=[N/A] 1301=ROFX 10=216 

我试试买

8=FIXT.1.1 9=151 35=D 34=2 49=usr123 52=20201012-21:00:39.084 56=ROFX 1128=7 11=1132322 21=1 40=1 44=250 54=1 55=SOJ.ROSNov20 59=0 60=20201012-21:00:39 99=1 10=151 

得到这个拒绝

8=FIXT.1.1 9=145 35=j 34=9 49=ROFX 52=20201012-21:00:39.225 56=usr123 58=Internal application error, contact support.13558951763361350 372=[N/A] 380=4 10=036

我尝试了几种方法来发出这条消息,总是得到相同的回应。

我的问题:

Orders should have a unique identifier (tag ClOrdID <11>) assigned by the institution for a trading day. Orders with duplicate identifiers will be rejected by the exchange.

但是您看到的每个客户都在内部管理这些 ClOrdID。我知道唯一的限制是它不会在一个市场日重复。我没看错吗?

提前致谢!!

答对了!我还没有理解细节,当我成为修复协议的专家时,我承诺我会来解释,但目前我可以给你允许我购买期权期货的信息。

8=FIXT.1.1                //Dictionary
9=220                     //Body Length
35=D                      //Message type. D= New order single
34=2                      //MdgSeqNum 
49=myuser                 //User
52=20201016-00:21:56.758  //Sending time
56=ROFX                   //Target comp ID
1128=7                    //Dictionary version? 7=FIX50SP2
1=REMXXXX                 //Account
11=1223221                //ClOrdID 
21=3                      //HandlInst. 3=manual order
22=8                      //ID source. 8=Exchange Symbol
38=2                      //Number of shares ordered. 
40=2                      //Order type. 2=LIMIT   *1
44=100                    //Price
54=1                      //Side. 1=BUY 2=SELL
55=SOJ.ROSNov20 220c      //Symbol
60=20201016-00:21:56      //Time of execution/order creation        
167=OPT                   //Security type. OPT=options
200=NOV20                 //MaturityMonthYear 
202=100                   //StrikePrice 
231=100                   //ContractMultiplier
461=F                     //CFI_CODE. F=FUTURE      
10=118                    //CheckSum


*1: I dont yet understand the difference between order "LIMIT" or "MARKET" but that is what solved it. 

通过这条消息,我得到了这个答案:

8=FIXT.1.1|9=315|35=8|34=9|49=ROFX|52=20201016-00:21:56.900|56=user|1=Account|6=100.0000|11=1223221|14=2|17=T7661551|31=100.0|32=2|37=189923278|38=2|39=2|40=2|44=100.0|54=1|55=SOJ.ROSNov20 220c|58=Operada |59=0|60=20201016-00:21:56.898|150=F|151=0|207=ROFX|382=1|375=PMYVTR|453=1|448=user|447=D|452=11|10=174|

关于我的问题涉及ClOrdID<11>:它是从客户端管理的,唯一的限制是不能在一个交易日重复相同的ID。

要卖出未来期权,将 Side<54> 从 1(BUY) 更改为 2(SELL) 的相同消息就可以了。

我很确定我的消息中有额外的字段,我会检查的。

谢谢大家的回答,帮了大忙!