Получение данных по нескольким инструментам в одном эксперте

 
Добрый день. Можно ли такую штуку провернуть? Чтобы один эксперт мог получить данные по нескольким инструментам? Грубо говоря, объект инструменты и у каждого из них есть свои данные.
 
Fresto:
Добрый день. Можно ли такую штуку провернуть? Чтобы один эксперт мог получить данные по нескольким инструментам? Грубо говоря, объект инструменты и у каждого из них есть свои данные.

А почему бы и нет? Именно так и пишутся мультисимвольные советники: советник установлен на одном символе, а данные получает и торговлю ведёт по нескольким символам. 

 
Vladimir Karputov:

А почему бы и нет? Именно так и пишутся мультисимвольные советники: советник установлен на одном символе, а данные получает и торговлю ведёт по нескольким символам. 

Можете пожалуйста подсказать, какую именно информацию прочитать, а то не пойму, везде все описывают уже готового советника, а мне просто хотя бы 2 строчки, записать в стринг название инструмента и получить список свеч или массив данных. 

А, всё, нашел информацию)

 
Fresto:
Можете пожалуйста подсказать, какую именно информацию прочитать, а то не пойму, везде все описывают уже готового советника, а мне просто хотя бы 2 строчки, записать в стринг название инструмента и получить список свеч или массив данных. 

Пожалуйста: во входных параметрах задаём три символа, получаем по ним исторические данные и выводим цены закрытия бара #1.

//+------------------------------------------------------------------+
//|                                           Simple MultiSymbol.mq5 |
//|                              Copyright © 2019, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2019, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
//--- input parameters
input string   InpSymbol_1 = "USDJPY";
input string   InpSymbol_2 = "USDCHF";
input string   InpSymbol_3 = "GBPUSD";
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   MqlRates rates_symbol_1[],rates_symbol_2[],rates_symbol_3[];
   ArraySetAsSeries(rates_symbol_1,true);
   ArraySetAsSeries(rates_symbol_2,true);
   ArraySetAsSeries(rates_symbol_3,true);
   int start_pos=0,count=3;
   if(CopyRates(InpSymbol_1,Period(),start_pos,count,rates_symbol_1)!=count ||
      CopyRates(InpSymbol_2,Period(),start_pos,count,rates_symbol_2)!=count ||
      CopyRates(InpSymbol_3,Period(),start_pos,count,rates_symbol_3)!=count)
     {
      return(false);
     }
//---
   string text=InpSymbol_1+" close #1 "+DoubleToString(rates_symbol_1[1].close,5)+"\n"+
               InpSymbol_2+" close #1 "+DoubleToString(rates_symbol_2[1].close,5)+"\n"+
               InpSymbol_3+" close #1 "+DoubleToString(rates_symbol_3[1].close,5);
   Comment(text);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---

  }
//+------------------------------------------------------------------+
Файлы:
 
Vladimir Karputov:

Пожалуйста: во входных параметрах задаём три символа, получаем по ним исторические данные и выводим цены закрытия бара #1.

Оо, спасибо большое) Сейчас буду тестировать)

Причина обращения: