快速修复多腿订单拒绝标签167设置为MLEG在互动经纪人

本文关键字:设置 标签 MLEG 经纪人 拒绝 单拒绝 | 更新日期: 2023-09-27 18:11:37

我正在使用QuickFix/N向IB发送MultiLeg订单。我的消息被拒绝,错误58=值不正确(超出范围)此标签(tag = 167)。代理通知我该标记的正确值是"MLEG",我将其设置为"MLEG"。消息流程如下:

<outgoing> 8=FIX.4.2_9=229_35=AB_34=2_49=direc513_52=20150904-13:46:32.201_56=IB_11=1234.76_15=USD_21=2_38=10000_40=1_54=1_55=ACC-PLD_60=20150904-21:46:32.161_167=MLEG_207=SMART_555=2_600=ACC_608=ES_623=1255_624=1_564=O_600=PLD_608=ES_623=1066_624=2_564=O_10=220_
<incoming> 8=FIX.4.2_9=000238_35=8_34=000002_43=N_52=20150904-13:46:33_49=IB_56=direc513_11=1234.76_17=17556.1441374393.0_150=8_20=0_103=0_39=8_55=USD_38=10000_44=0.00_32=0_31=0.00_14=0_151=0_6=0_54=1_37=0_167=MLEG_58=Unsupported type_60=20150904-13:46:33_40=1_15=USD_10=136_
A first chance exception of type 'QuickFix.IncorrectTagValue' occurred in QuickFix.dll
<event> Message 2 Rejected: Value is incorrect (out of range) for this tag (Field=167)
<outgoing> 8=FIX.4.2_9=128_35=3_34=3_49=direc513_52=20150904-13:46:32.998_56=IB_45=2_58=Value is incorrect (out of range) for this tag_371=167_372=8_373=5_10=204_

经纪人告诉我,他会检查拒绝的情况,但第二条传出的消息表明,在我这边,我们拒绝了167=MLEG,需要放松一下。

我不确定这里要做什么,但我使用4.2,并注意到MLEG仅在4.3中定义。由于代理更喜欢4.2,所以我将MLEG定义放在4.3数据字典中。在这一点上,我不再得到相同的错误,但现在得到一个"不支持的类型"错误。

<outgoing> 8=FIX.4.2_9=229_35=AB_34=2_49=direc513_52=20150907-08:17:41.066_56=IB_11=1234.67_15=USD_21=2_38=10000_40=1_54=1_55=ACC-PLD_60=20150907-16:17:41.022_167=MLEG_207=SMART_555=2_600=ACC_608=ES_623=1255_624=1_564=O_600=PLD_608=ES_623=1066_624=2_564=O_10=235_
<incoming> 8=FIX.4.2_9=000238_35=8_34=000002_43=N_52=20150907-08:17:46_49=IB_56=direc513_11=1234.67_17=17556.1441613866.0_150=8_20=0_103=0_39=8_55=USD_38=10000_44=0.00_32=0_31=0.00_14=0_151=0_6=0_54=1_37=0_167=MLEG_58=Unsupported type_60=20150907-08:17:46_40=1_15=USD_10=155_

首先想到的问题是:

  1. 为什么当经纪人说MLEG是可以接受的时候,我得到了拒绝,或者这个问题仅仅是因为我在4.2 DD中没有这个定义。
  2. 我应该做些什么来放松我这边的限制吗?
  3. 我在4.2 DD中包含定义是否正确?
  4. 如果是,不支持的类型是什么意思,为什么消息不包含错误的标记引用?
  5. 我问错问题了吗,有人知道正确的问题吗?
  6. 传出的消息还有什么明显的问题吗?

我没有包含代码,因为我认为一旦我知道问题是什么,我就知道使用什么代码来创建消息。然而,如果有人认为这是有用的,我可以做。

感谢您的帮助。

快速修复多腿订单拒绝标签167设置为MLEG在互动经纪人

MsgType AB (NewOrderMultileg)仅在FIX 4.3中添加,所以我怀疑这是"不支持的类型"消息的原因。您会注意到,在第一个示例中也出现了此错误,标记167值被拒绝。

将新值添加到您的字典中是将其作为有效值添加的正确方法。

我怀疑您的代理实际上希望您发送带有MLEG值和任何其他自定义字段的NewOrderSingle消息(35=D),以复制NewOrderMultileg的功能。如果做不到这一点,就需要使用更新版本的FIX协议(可能是4.4或5.0)

欢呼,坎贝尔