證券我使用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