Как загрузить таймсерии при OnInit и Bars возвращает 0 - MT5

 

Всё замечательно работает, но есть одно условие - если разместить индикатор на график, потом выключить терминал, потом снова включить терминал, индикатор то при этом уже висит и вот тут возникает ерунда, при инициализации OnInit получить число истории баров не возможно - получаю почему то 0, по сему не могу скопировать и использовать тайм серии

сначала думал что график не синхронизирован оказалось что да, но и как бы попытки синхронизации провалились по причине того что к примеру Sleep в индикаторах использовать нельзя

вопрос )) как получить таймсерии при  инициализации индикатора если он уже установлен на график и терминал перезапущен

datetime Timez[];
//+------------------------------------------------------------------+ 
//| Custom indicator initialization function                         | 
//+------------------------------------------------------------------+ 
int OnInit()
  {
//--- indicator buffers mapping
   ArraySetAsSeries(Timez, true);
   if(SeriesInfoInteger(Symbol(),0,SERIES_SYNCHRONIZED)) 
   {
      //--- есть синхронизация, выходим 
      Print("synchronized=true");
   }
   CopyTime(_Symbol,_Period,0,Bars(_Symbol, _Period)-1,Timez);
   Print(Timez[50]);
//---
   return(INIT_SUCCEEDED);
  }

а то такой код выдает при повторной инициализации (описано вначале) выдает array out of range in 'test.mq5' 

в чём прикол ?
Файлы:
test.mq5  5 kb
 
Yurij Izyumov:

Всё замечательно работает, но есть одно условие - если разместить индикатор на график, потом выключить терминал, потом снова включить терминал, индикатор то при этом уже висит и вот тут возникает ерунда, при инициализации OnInit получить число истории баров не возможно - получаю почему то 0, по сему не могу скопировать и использовать тайм серии

сначала думал что график не синхронизирован оказалось что да, но и как бы попытки синхронизации провалились по причине того что к примеру Sleep в индикаторах использовать нельзя

вопрос )) как получить таймсерии при  инициализации индикатора если он уже установлен на график и терминал перезапущен

а то такой код выдает при повторной инициализации (описано вначале) выдает array out of range in 'test.mq5' 

в чём прикол ?

Похожие приколы рассматриваю в ветке: https://www.mql5.com/ru/forum/218776

Посмотрите, может это одна и та же тема, только с разных углов?

Где живёт индикатор...? Продолжение темы:Где живёт индикатор созданный в режиме тестирования без визуализации?
Где живёт индикатор...? Продолжение темы:Где живёт индикатор созданный в режиме тестирования без визуализации?
  • 2017.11.04
  • www.mql5.com
Продолжаем исследовать взаимодействие экспертов и индикаторов на платформе МТ5...
 

в общем я пока решил обойти это убрав использование таймсерий в инициализации если индикатор уже помещен на график при включении терминала