c# - Quickfixn Fix 4.2 如何在同一会话中向不同的 TargetCompID 发送和接收消息
问题描述
如何在同一会话中向不同的 TargetCompID 发送和接收修复消息
public void ToAdmin(Message message, SessionID sessionID)
{
if ( (message.ToString().IndexOf("35=D") > 0) || (message.ToString().IndexOf("35=G") > 0) || (message.ToString().IndexOf("35=F") > 0))
{ message.Header.SetField(new TargetCompID("1"));
}
}
9:56:38 ToApp: 8=FIX.4.2�9=261�35=D�34=63�49=555�50=BBBBBB�52=20180918-06:56:38�56=0�128=1 �129=AAAAAA�1=555-----126�11=1�21=1�22=4�38=2500�40=2�44=0.03�47=C�48=JO3109211016�54=2 �55=JO3109211016�58=测试固定连接器�59=1�60=20180918-09:56:38.579�109=126�110=50�111=100�9596=2�9947=55500350�10=140�9 :56:38 交换:8=FIX.4.2�9=115�35=3�34=73�49=0�50=AAAAAA�52=20180918-09:56:38�56=555�45=63� 58=无法处理订单:TargetCompID 无效。372=D�10=067。</p>
解决方案
TargetCompID 是 Session 标识符的一部分,参见http://quickfixn.org/tutorial/configuration.html:
FIX 会话在 QuickFix/N 中定义为 BeginString(FIX 版本号)、SenderCompID(您的 ID)和 TargetCompID(您的交易对手的 ID)的唯一组合。
TargetCompID
所以在同一个会话中尝试向不同的人发送消息似乎是不正确的;您需要为每个TargetCompID
.
最简单的是在配置文件中定义会话(见上面的链接);或者,您可以动态创建它们 - 请参阅http://lists.quickfixn.com/pipermail/quickfixn-quickfixn.com/2016q1/000277.html
推荐阅读
- python - 如何使用按钮将排序功能添加到 Matplotlib 条形图和线图
- reactive-programming - Spring webflux/reactor 使用@Scheduled 读取数据库并执行一些任务
- applescript - Apple 脚本遇到错误:如果您离开页面,“无法将缺失值输入到类型文档或选项卡中”
- python - 当 numpy select 满足两个或多个条件时如何添加首选项
- r - 如何操纵 RShiny Slider 的启发式方法以正确显示小范围而没有重复的中间标签?
- javascript - 使用 JS 是否可以检测 new Image().src 何时将其引用的图像加载到内存中?
- javascript - 隐藏输入按钮上的 .click() 不起作用(未定义)
- c# - 在扩展多个导航属性时避免 Microsoft OData 中的笛卡尔积
- javascript - React-modal 未在 iPhone 上打开
- perl - 如何在 Perl 中指定 WE8MSWIN1252 编码?