Помогите разобраться с оптимизацией

 

Есть советник.При тестировании с заданными параметрами проходит нормально,показывает результаты.При визуализации все строится,ордера открываются,уровни меняются.Но когда делаю оптимизацию, то выдаёт одни нули.В советнике есть графические объекты(линии),которые перестраиваются по мере изменения графика.Старт изменяемого параметра в оптимизации задаю верно,так же как и шаг и стоп.Тестирование на интервале 1 месяц проходит 1-2 минуты,но при оптимизации если 11 вариантов,то проходит 20 секунд.

Помогите разобраться кто может.Спасибо.

 

1. О какой платформе идёт речь? MT4 или MT5?

2. Если запустить одиночное тестирование без визуализации, то какой будет результат?

 
Советник строит линии и отслеживает пересечения ценой этих линий. В тестере такой подход не работает. Необходимо реализовать расчет пересечений. Sin, cos, tg в помощь ! 
 
Slawa:

1. О какой платформе идёт речь? MT4 или MT5?

2. Если запустить одиночное тестирование без визуализации, то какой будет результат?

Спасибо за ответ.

Платформа МТ4.Если запустить одиночное тестирование без визуализации,то все проходит нормально(с результатами как и с визуализацией). Только когда запускаю оптимизацию,она проходит быстро(даже если на год ставлю). История загружена вплоть до 1М.

 
Dmitiry Ananiev:
Советник строит линии и отслеживает пересечения ценой этих линий. В тестере такой подход не работает. Необходимо реализовать расчет пересечений. Sin, cos, tg в помощь ! 

Спасибо за ответ.

У меня в советнике реализовано по принципу,если цена выше или ниже построенной линии,тогда происходит открытие ордеров.

 
baromix:

Спасибо за ответ.

Платформа МТ4.Если запустить одиночное тестирование без визуализации,то все проходит нормально(с результатами как и с визуализацией). Только когда запускаю оптимизацию,она проходит быстро(даже если на год ставлю). История загружена вплоть до 1М.

Понятно.

Это - ограничение оптимизации. При оптимизации в четвёрке графические объекты не обрабатываются

 
Slawa:

Понятно.

Это - ограничение оптимизации. При оптимизации в четвёрке графические объекты не обрабатываются

Ясно.Нужно на MT5 переходить.

Спасибо.

 
baromix:

Ясно.Нужно на MT5 переходить.

Спасибо.

Или заменить графические объекты на несколько переменных.

Если линия горизонтальная, нужно просто запомнить ее уровень и сравнивать с ним. Если трендовая, нужны 2 точки и расчет значения для нужного бара.

Все решается. 

 
Andrey Khatimlianskii:

Или заменить графические объекты на несколько переменных.

Если линия горизонтальная, нужно просто запомнить ее уровень и сравнивать с ним. Если трендовая, нужны 2 точки и расчет значения для нужного бара.

Все решается. 

Спасибо за ответ.

Это с помощью глобальных переменных или переменных типа "extern"?

Я так понимаю, что при наступлении события "OnTick()" локальные переменные не сохраняют значения предыдущего "OnTick()".

 
baromix:

Спасибо за ответ.

Это с помощью глобальных переменных или переменных типа "extern"?

Я так понимаю, что при наступлении события "OnTick()" локальные переменные не сохраняют значения предыдущего "OnTick()".

Достаточно переменных, объявленных на глобальном уровне видимости (вне функций) или статических переменных.

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

 
Andrey Khatimlianskii:

Достаточно переменных, объявленных на глобальном уровне видимости (вне функций) или статических переменных.

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

Андрей, Вы все еще используете "статические" переменные? 
Причина обращения: