惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
IT之家
IT之家
Last Week in AI
Last Week in AI
J
Java Code Geeks
L
LangChain Blog
Recent Announcements
Recent Announcements
Martin Fowler
Martin Fowler
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Google DeepMind News
Google DeepMind News
博客园 - Franky
博客园 - 司徒正美
月光博客
月光博客
博客园 - 叶小钗
Vercel News
Vercel News
腾讯CDC
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
小众软件
小众软件
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
GbyAI
GbyAI
B
Blog RSS Feed
人人都是产品经理
人人都是产品经理
H
Help Net Security
G
Google Developers Blog
D
DataBreaches.Net

博客园 - 可乐加冰

推荐一个单元测试模拟框架:Nsubstitute QuickFIX/N与QuickFIX的.NET封装不同之处 QuickFIX/N入门:五、如何自定义FIX QuickFIX/N入门:三、 如何配置QuickFIX/N QuickFIX/N入门:二、发送消息及接收消息 QuickFIX/N入门:一、如何创建一个QuickFIX/N的应用程序 转、分享:PMP学习资料、考试资料推荐:第四版-2008版-吴永达 关于“类型初始值设定项引发异常” 浪费时间的主观原因 关于C#调用VC++.net程序集出现0x800736B1的异常 关于微软发布的Microsoft 图表控件 C#后期绑定方式来调用COM对象 Windows Mobile开发资源相关下载收录 值得珍藏的五十句话 Fund Managers Switching to Algorithmic Trading[转] winform窗体中嵌入显示Excel文件 让CheckBoxList,CheckBox 控件不能操作 - 可乐加冰 - 博客园 关于世界杯 C#在word文档中替换字符串
QuickFIX/N入门:四、使用消息循环分组
可乐加冰 · 2012-04-29 · via 博客园 - 可乐加冰

分组(group) 是包含一个无序的字段的集合的命名类型。允许在一个循环组里出现重复的数据字段。  

QuickFIX/N 实现了在FIX消息创建和读取的组信息的功能

1) 创建循环分

创建一个循环分简单 创建一个分组类的实例向分组内添加字段,然后把它添加到消息中

var tcr = new QuickfiFix.FIX44.TradeCaptureReport();

var sidesGrp1 = new QuickFix.FIX44.TradeCaptureReport.NoSidesGroup();

sidesGrp1.Account = new Account("Silvio");

sidesGrp1.OrderID = new OrderID("09011900");

sidesGrp1.Side = new Side(Side.BUY);

var sidesGrp2 = new QuickFix.FIX44.TradeCaptureReport.NoSidesGroup();

sidesGrp2.Account = new Account("Sven");

sidesGrp2.OrderID = new OrderID("2000");

sidesGrp2.Side = new Side(Side.BUY);

tcr.AddGroup(sidesGrp1);

tcr.AddGroup(sidesGrp2);

分组可以嵌套也就是分组还可以创建子分组 

var tcr = new QuickFix.FIX44.TradeCaptureReport();

var sidesGrp = new QuickFix.FIX44.TradeCaptureReport.NoSidesGroup();

sidesGrp.Side = new Side(Side.BUY);

sidesGrp.Account = new Account("Piola");

sidesGrp.OrderID = new OrderID("09011900");

var partyIdsGrp = new QuickFix.FIX44.TradeCaptureReport.NoSidesGroup.NoPartyIDsGroup();

partyIdsGrp.PartyID = new PartyID("Nesta13");

sidesGrp.AddGroup(partyIdsGrp);

tcr.AddGroup(sidesGrp);

2) 读取分组的信息

QuickFIX/N提供组字段和组索引两种方式来支持从组内读取标签信息:

var sidesGrp1 = new QuickFix.FIX44.TradeCaptureReport.NoSidesGroup();

sidesGrp1 = tcr.GetGroup(1, Tags.NoSides);

var sidesGrp2 = new QuickFix.FIX44.TradeCaptureReport.NoSidesGroup();

sidesGrp2 = tcr.GetGroup(2, Tags.NoSides);

组索引1开始。我们可以使用for语句来循环读取分组的字段值:

var noSidesGrp = new QuickFix.FIX44.TradeCaptureReport.NoSidesGroup();

for(int grpIndex = 1; grpIndex<= message.GetInt(Tags.NoSides); grpIndex = 1)

{

    noSidesGrp = message.GetGroup(grpIndex, Tags.NoSides);

}