Как различить OrderSymbol () в MQL4 - PullRequest
1 голос
/ 01 мая 2020

Как различить OrderSymbol() в MQL4?

У меня есть данные:

Symbol | Type | Size
GBPUSD | Buy  | 1.5
GBPUSD | Buy  | 0.5
EURUSD | Sell | 1
USDJPY | Buy  | 2

Я хочу получить результат:

GBPUSD
EURUSD
USDJY

Спасибо

1 Ответ

0 голосов
/ 01 мая 2020

Прямого пути нет. Соберите данные и поместите в массив, возможно, сортируйте после каждой вставки, чтобы использовать бинарный поиск (если список большой). Вот пример разбора текущих заказов.

#include<Arrays\ArrayString.mqh>
ArrayString *list = listOfUniqueSymbols();

ArrayString* listOfUniqueSymbols()
   {
    CArrayString *result = new CArrayString();
    for(int i=OrdersTotal()-1;i>=0;i--)
      {
       if(!OrderSelect(i,SELECT_BY_POS))continue;
       const string symbol=OrderSymbol();
       if(result.Search(symbol)==-1)
         {
          result.Add(symbol);
          result.Sort();
         }
      }
    return result;
   }
...