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

 
nra_:
Я понимаю, что до OnDeinit в советнике дело доходить не должно, но это в идеале. Есть ли уверенность, что за 15 часов Вашего теста OnInit в советнике был вызван 1 раз?

Да. А почему должно быть иначе?

Это же советник, у него переинициализаций без участия пользователя (смена чарта, параметров, перекомпиляция) не бывает.

 

Хорошо, хотя я бы проверил, так ли это в реальности. Сейчас поставлю тест на ноуте. Вечером посмотрим на результат. У меня советник подобным образом экспортирует тики во внешний модуль, хочется понимать, насколько решение с использованием OnChartEvent устойчиво.

ПС. У Вас в обзоре рынка кастомные символы в момент теста есть?

 
nra_:

Хорошо, хотя я бы проверил, так ли это в реальности. Сейчас поставлю тест на ноуте. Вечером посмотрим на результат. У меня советник подобным образом экспортирует тики во внешний модуль, хочется понимать, насколько решение с использованием OnChartEvent устойчиво.

ПС. У Вас в обзоре рынка кастомные символы в момент теста есть?

Кастумных нет.

Но, судя по всему, проблема воспроизводится не у всех. Я пока отказался от шпионов.

 
Связь рвалась во время теста?
 
nra_:
Связь рвалась во время теста?

Нет, в журнале коннекшн лостов нет.

 

Из включаемого файла OnTick(string symbol).mqh:

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//| Используется исключительно для работы в тестере                  |
//+------------------------------------------------------------------+
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__);
           }
        }
     }
  }
//+------------------------------------------------------------------+

Правильно ли я понимаю, что для тестера это все равно не полноценный мультивалютник? Проверка происходит ТОЛЬКО по приходу тика на главном графике, просто проверяется произошли ли к этому моменту изменения на других символах?