我们的交易对手(接受方)界面基于FIX 4.3版。但是,他们对消息类型进行了一些修改,还引入了版本5.0中的标志。
我正在通过向我们的交易对手(接受者)发送with open("img.bmp", 'wb') as f:
image.save(f)
)来请求MarketDataSnapshotFullRefresh (MsgType=W)
消息。
我不得不修改字典,以使其适合邮件内容。从下面的XML中可以看到,我必须添加组MarketDataRequest (MsgType=V
,这是答复的一部分,但不是原始规范4.3(https://www.onixs.biz/fix-dictionary/4.3/msgType_W_87.html)的一部分。
NoLegs
更改了字典以适应自定义消息后,我的客户不再向接收方发送拒绝消息了……到目前为止。
但是,由于该属性不是类<message name="MarketDataSnapshotFullRefresh" msgtype="W" msgcat="app">
<field name="MDReqID" required="N" />
<component name="Instrument" required="Y" />
<field name="FinancialStatus" required="N" />
[...]
<field name='MDEntryForwardPoints' required="N" />
<group name="NoMDEntries" required="Y">
<field name="MDEntryType" required="Y" />
[...]
<field name="PriceType" required="N" />
<field name='MDEntrySpotRate' required="N" />
<field name='MDEntryForwardPoints' required="N" />
</group>
<group name="NoLegs" required="N">
<component name="InstrumentLeg" required="N" />
</group>
</message>
的一部分,因此我无法访问此字段。
长话短说,如何从自定义消息中访问自定义字段?
答案 0 :(得分:0)
我按照以下步骤解决了这个问题:
1。)从github下载源代码
2。)安装红宝石和nokogiri宝石
3。)对\spec\fix\FIX{yourVersion}.xml
下的相应XML文件进行更改,以使其更改对手方的方言
4。)在根文件夹中运行generate.bat
。这将根据修改后的XML使用必要的getter和setter方法构建C#源文件
5。)加载解决方案并构建解决方案
6。)在项目中引用QuickFix
和QuickFix.FIX{yourVersion}
答案 1 :(得分:0)
如果我正确理解了您的问题,那么您需要执行以下提到的步骤。
IF listbox7.items.count = tp.count then TextBox1.Text = "ALL PORT are good to GO" & item
<field name="CustomTag" required="N" />
希望这对您有所帮助。