Зависание терминала при тестировании мультивалютного индикатора

 
Здравствуйте. Кто может подсказать, что нужно сделать, чтобы можно было протестировать индикатор, с использованием нескольких валют на MT4. О том, что нужно в индикаторе в тестере указывать только завершенные бары я знаю.
 
Larisa Medvedeva:
Здравствуйте. Кто может подсказать, что нужно сделать, чтобы можно было протестировать индикатор, с использованием нескольких валют на MT4. О том, что нужно в индикаторе в тестере указывать только завершенные бары я знаю.
Возможно, что МТ4 в режиме тестирования данные по другим символам могут быть не доступны, по крайней мере так было. Во время текущей торговли все данные доступны. В МТ5 такого ограничения нет.
 
Larisa Medvedeva:
Здравствуйте. Кто может подсказать, что нужно сделать, чтобы можно было протестировать индикатор, с использованием нескольких валют на MT4. О том, что нужно в индикаторе в тестере указывать только завершенные бары я знаю.
Никак, по другим парам будут возвращаться нулевые значения, только что проверил на всякий случай. Можно читать .hst файлы и подставлять оттуда значения, но потребует сильной переделки индикатора. Я бы быстро переделал на МТ5 и там оттестировал. Переделка много времени не займет.
 
Alexey Volchanskiy:
Никак, по другим парам будут возвращаться нулевые значения, только что проверил на всякий случай. Можно читать .hst файлы и подставлять оттуда значения, но потребует сильной переделки индикатора. Я бы быстро переделал на МТ5 и там оттестировал. Переделка много времени не займет.
Вероятно, это будет позже, а пока я вижу отличную работу индикатора, а вот в тестере он "гасит" терминал...
 
Larisa Medvedeva:
Вероятно, это будет позже, а пока я вижу отличную работу индикатора, а вот в тестере он "гасит" терминал...
Раз гасит, значит некорректно обрабатываются эти нулевые значения. Посмотрите в журнал тестера, наверняка там есть сообщение о критической ошибке
 
Alexey Volchanskiy:
Раз гасит, значит некорректно обрабатываются эти нулевые значения. Посмотрите в журнал тестера, наверняка там есть сообщение о критической ошибке
В журнале нет записи... Один раз, вчера, он запустился и, действительно, по тем инструментам, по которым не было исторических данных, были пустые значения. Потом, все, как отрезало - зависание, записи в логах отсутствуют. Закрытие терминала через диспетчер программ и все...
 
Larisa Medvedeva:
В журнале нет записи... Один раз, вчера, он запустился и, действительно, по тем инструментам, по которым не было исторических данных, были пустые значения. Потом, все, как отрезало - зависание, записи в логах отсутствуют. Закрытие терминала через диспетчер программ и все...

Я бы в СД написал и послал этот индикатор, так как такого быть не должно. А нулевые значения идут даже по инструментам, которые находятся на одном из графиков терминала и по ним точно есть закачанные данные. Можете сами проверить, в OnCalculate надо вставить строчку с принтом и запустить индикатор в тестере на "EURUSD", к примеру.

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tickVolume[],
                const long &volume[],
                const int &spread[])
{
   Print("NZDUSD Ask = ", DoubleToString(SymbolInfoDouble("NZDUSD.e", SYMBOL_ASK), _Digits));
 
Alexey Volchanskiy:

Я бы в СД написал и послал этот индикатор, так как такого быть не должно. А нулевые значения идут даже по инструментам, которые находятся на одном из графиков терминала и по ним точно есть закачанные данные. Можете сами проверить, в OnCalculate надо вставить строчку с принтом и запустить индикатор в тестере на "EURUSD", к примеру.

Сделала так:

1-установила минимальный интервал расчета;

2-прогнала по всем валютным парам любой одновалютный индикатор для подкачки историй;

3-загрузила индикатор в тестер. После долгого ожидания, о чудо, он заработал...

Спасибо всем, кто принял участие в обсуждении проблемы.

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