Советники: Мультивалютный обработчик событий OnTick(string symbol) - страница 2

 
Olegts:


Что-то трудно понять без лога и кода почему индикатор не возможно создать, тем более у вас всё работает. Перепроверте путь к шпионам, может путь не тот указан к шпиону или еще что-то подобное. 
 
Olegts:


Проверьте имя индикатора - загружаться пытается "Spy Control panel MCM" с пробелами, а закачан "spy_control_panel_mcm" с подчеркиваниями.

 
Lizar:
Что-то трудно понять без лога и кода почему индикатор не возможно создать, тем более у вас всё работает. Перепроверте путь к шпионам, может путь не тот указан к шпиону или еще что-то подобное. 
Спасибо за помощь, Renat прав, в процессе загрузки на сервер mql5.com у файла появились подчеркивания вместо пробелов, убрал пробелы в названии, в  OnTick(string symbol).mqh подправил название, отправил на проверку, жду результата...
 
Olegts:
Спасибо за помощь, Renat прав, в процессе загрузки на сервер mql5.com у файла появились подчеркивания вместо пробелов, убрал пробелы в названии, в  OnTick(string symbol).mqh подправил название, отправил на проверку, жду результата...
Понял.
 
Lizar:
Понял.
No errors! Спасибо огромное за мультивалютный режим, а то все с OnTimer() мучался. Уж не знаю где проблема с пробелами проявилась, то ли в моей Opera, то ли на сервере, у  Рената глаз-алмаз - нашел отличия!
 
Olegts:
No errors! Спасибо огромное за мультивалютный режим, а то все с OnTimer() мучался. Уж не знаю где проблема с пробелами проявилась, то ли в моей Opera, то ли на сервере, у  Рената глаз-алмаз - нашел отличия!
Пожалуйста. Мне тоже нравится эта схема работы.
 
Lizar:
Пожалуйста. Мне тоже нравится эта схема работы.
Константин, здравствуйте. Если у Вас найдётся немного свободного времени, зайдите, пожалуйста, вот в эту тему - Результаты тестирования мультивалютных экспертов. Ваше слово было бы весьма кстати. Спасибо за Ваши труды.
 
tol64:
Константин, здравствуйте. Если у Вас найдётся немного свободного времени, зайдите, пожалуйста, вот в эту тему - Результаты тестирования мультивалютных экспертов. Ваше слово было бы весьма кстати. Спасибо за Ваши труды.
Ладно. Посмотрю.
 

Код с статье устарел. Полдня потерял в борьбе с ветряными мельницами. В частности:

void EventCustom(ENUM_CHART_EVENT_SYMBOL event,double price)
  {
   if(!testing) EventChartCustom(chart_id,custom_event_id,(long)event,price,_Symbol);
   else
     {
      if(GlobalVariableSet(_Symbol+"_custom_id",custom_event_id)==0) return;
      if(GlobalVariableSet(_Symbol+"_event",event)==0) return;
      if(GlobalVariableSet(_Symbol+"_price",price)==0) return;
      GlobalVariableSet(_Symbol+"_flag",2);
     }
   return;
  }



void OnTick()
  {
   if(_testing_)
     {
      for(int i=0;i<_symbols_total_;i++)
        {
         string __symbol__=_symbol_[i];
         if(MathAbs(GlobalVariableGet(__symbol__+"_flag")-2)<0.1)
           {
            GlobalVariableSet(__symbol__+"_flag",1);
            OnTick(__symbol__);
           }
        }   
     }   
  }



всё это "шаманство" с глобальными переменными - лишнее. OnCalculate распрекрассно вызывается внутри тестера.

 

Перечитал с интересом, хм.

Эти все танцы с бубном не потребовались бы!!!, если бы!!!  MQ включили бы!!! трансляцию стакана на сервере ДЦ по умолчанию, и не давали бы ДЦ их выключать. Пусть пустой стакан с одними лишь bid и ask, но чтоб транслировался.

Тогда мультивалютный тик можно запросто отслеживать в OnBookEvent по подписке на нужный инструмент.

По сути OnBookEvent и есть стандартный обработчик мультитика.

ЗЫ а так это пока возможно лишь в диллингах транслирующих стакан.

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