Почему советник очень медленно тестируется в тестере???

 
Такой вопрос, господа программисты. Нашел одного советника, но почему-то он в тестере тестируется ООООООООООООЧЕНЬ медленно. Другие по сравнению с ним просто летают. Можете подсказать, какие причины могут способствовать этому? К советнику прилагаются два индикатора, в самом советнике вызывается один, а когда вызывается индикатор, то для просчета некоторых параметров вызывается второй индикатор большое количество раз. Может ли это стать причиной такой задержки???
 
Причина ясна и без телепатов: индикатор слишком много считает. Даже незаметная секунда всех расчетов на сделку при 1000 сделках - это уже почти 17 минут тестирования.
 
В принципе я так и думал. Еще вопрос: а можно ли сделать что-нибудь в индикаторе, чтобы было очень много расчетов искусственно? Ну специально, чтобы было сложно проганть в тестере советника?
 
Rammik:
В принципе я так и думал. Еще вопрос: а можно ли сделать что-нибудь в индикаторе, чтобы было очень много расчетов искусственно? Ну специально, чтобы было сложно проганть в тестере советника?

Можно сделать даже так: в обычном режиме (рабочем) советник считает быстро, а в режиме тестирования - невероятно медленно. Для этого есть функция isTesting().

Но, кажется, она только для советников. Что Вам и нужно, как я понял. Или Вы такую диверсию подозреваете.

P.S. В принципе ту же бодягу можно устроить и в индюкаторе, передавая состояние советника (тестируется или не тестируется) в глобальные переменные терминала и изменяя в зависимости от нее расчеты в индюкаторе.

 
Rammik:
В принципе я так и думал. Еще вопрос: а можно ли сделать что-нибудь в индикаторе, чтобы было очень много расчетов искусственно? Ну специально, чтобы было сложно проганть в тестере советника?

Достаточно в индикаторе делать полный расчет на каждом тике.
 
Rammik:
Такой вопрос, господа программисты. Нашел одного советника, но почему-то он в тестере тестируется ООООООООООООЧЕНЬ медленно. Другие по сравнению с ним просто летают. Можете подсказать, какие причины могут способствовать этому? К советнику прилагаются два индикатора, в самом советнике вызывается один, а когда вызывается индикатор, то для просчета некоторых параметров вызывается второй индикатор большое количество раз. Может ли это стать причиной такой задержки???

ответ очень простой.. в истории не хватает баров для второго индюка .. подкачай историю.. второй вариант был замечен если тестируешь на тайме отличающемся от того который вызывает индикатор. переключи на тайм который вызывает индюк и он будет вызыватся только один раз

иначе в журнале будет постоянно запись о вызове .. я лично так это решал

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