证券我使用API管理的MetaTrader 4交易平台MT4交易平台API管理器 - 让每组
我需要得到所有证券每集团
例如 GROUP =初步| SECUTIRY_0 =外汇| SECUTIRY_1 = CFD | SECUTIRY_2 = |
我有一些小技巧如何下面去做:
-
- 要求证券配置后使用CfgRequestSymbolGroup(ConSymbolGroup配置),你得到了所有证券*
-
- 因此,您为每个安全性获得了ConSymbolGroup,现在配置[0]是forex,配置[1]是cfd和confi gurations [2]是例如金属。*
-
- 然后请求使用CfgRequestGroup(INT 总),你会得到ConGroup结构为每个组群的配置。
-
- ConGroup具有ConGroupSec secgroups [MAX_SEC_GROUPS]参数 - 安全组设置*
-
- 对指标是相同的,所以secgroups [0]是用于这个组的外汇设置,secgroups [1]是CFD等等。*
我的代码是下面但可以没有得到期望的结果,在下面的代码中,我得到证券和组列表的名单,但不能得到索引根据上面的描述得到这种格式的结果
GROUP = preliminary | SECUTIRY_0 = Forex | SECUTIRY_1 = CFD | SECUTIRY_2 = |
// 1 step
// request all securities
// list with securities
ConSymbolGroup securities[MAX_SEC_GROUP];
int result = ExtManager->CfgRequestSymbolGroup(securities);
// 2 step
// request all groups
// list with groups
ConGroup *groups = ExtManager->CfgRequestGroup(&total);
ConGroupSec secgroups[MAX_SEC_GROUPS];
int index_secgroup = 0;
int index_security = 0;
for (int i = 0; i < MAX_SEC_GROUP; i++)
for (int i =0; i < total; i++)
ExtProcessor.PrintResponse(size,
"GROUP=%s|"
"SECUTIRY_0=%s|"
"SECUTIRY_1=%s|"
"SECUTIRY_2=%s|\r\n",
groups[i].group,
securities[0].name,
securities[1].name,
securities[2].name);
}
虽然你而从MT读取数据遇到这个问题,这个问题就自我是与MetaTrader无关。我强烈建议你将它与MT隔离开(创建虚拟类,从其中一个虚拟类引用到另一个虚拟类),并且会帮助你理解问题,或者帮助其他人回答你的问题(现在大家都认为它是关于MT并跳过它)。你的代码中的一个问题是你使用周期,它们都使用相同的变量'i' – Uriil
@Uriil实际上这是问题,我有1.证券(持有所有证券)2.组(持有所有组)3 。secgroups(持有组的安全设置) - >问题在于,在证券和证券设计中,没有任何可以确定哪个安全属于哪个组的通用数据,我知道我们只能通过索引来识别它们返回响应 - > for循环如何使其正确,我拥有所有必要的数据,唯一仍然使用安全索引和secgroup索引来确定它们属于哪个组,可以帮助for循环吗? – ionluchian
好吧,假设你有两个组,其中一个有FOREX和CFD,另外一个FOREX和METALS。应该输出什么? – Uriil