Оптимизация советника заканчивается нулевым результатом MT5

 

Всем добрый день.

Пытаюсь провести оптимизацию по значению TRIX с периода от 10 до 120

Периоды заполняются но таблица вся заполнена нулями.

Может кто сталкивался с данной проблемой.

В советнике используются пользовательские индикаторы.

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

Что я делаю не так? 

 
Что? Никто не занимается оптимизацией советников и ни у кого нет опыта?
 
Aleksandr Dziuba:
Что? Никто не занимается оптимизацией советников и ни у кого нет опыта?

Все занимаются. Просто не понятно, что Вы хотите от всех.

 
Evgeniy Zhdan:

Все занимаются. Просто не понятно, что Вы хотите от всех.

Первый кто не понял оказался советник :)

 
VVT:

Первый кто не понял оказался советник :)

После некоторых разъяснений понял что произошло.

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

Оказалось что тестер живет своей жизнью и архитектура вычислений у него  немного другая чем на реале. Советник в тестере сначала вычисляет все значения индикаторов(заполняет все значения) по всем барам (от начала до последнего) а потом скачет по тикам. Этого у меня не было предусмотрено. Я считал что он как и на реале просчитывает шаг за шагом то есть моделирует полностью ситуацию. И ждал что будет произведен пересчет баров. Ну а так как пересчета не было  то и считать нечего. 

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

 
Aleksandr Dziuba:

После некоторых разъяснений понял что произошло.

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

Оказалось что тестер живет своей жизнью и архитектура вычислений у него  немного другая чем на реале. Советник в тестере сначала вычисляет все значения индикаторов(заполняет все значения) по всем барам (от начала до последнего) а потом скачет по тикам. Этого у меня не было предусмотрено. Я считал что он как и на реале просчитывает шаг за шагом то есть моделирует полностью ситуацию. И ждал что будет произведен пересчет баров. Ну а так как пересчета не было  то и считать нечего. 

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

Ну да, сначала загружает историю, потом с ней работает, там в журнале всё написанно. Похожую ошибку я делал при оптимизации, выбирал слишком большой период истории, не достаточный для расчёта индикатора результат 0

 
VVT:

Ну да, сначала загружает историю, потом с ней работает, там в журнале всё написанно. Похожую ошибку я делал при оптимизации, выбирал слишком большой период истории, не достаточный для расчёта индикатора результат 0

А как понять какой бар он обрабатывает? или по времени смотреть? Время в бар и бар во время?

 
Aleksandr Dziuba:

А как понять какой бар он обрабатывает? или по времени смотреть? Время в бар и бар во время?

Он загружает историю в зависимости от периода индикатора, чем больше период тем больше необходимо истории для его расчёта, и при установке временного интервала оптимизации загружается история с запасом для расчёта индикатора. А какие бары он считает не узнаете так как ринцип работы это временной интервал, только потом, в отчёте будет количество пройденных баров и тиков

 
VVT:

Он загружает историю в зависимости от периода индикатора, чем больше период тем больше необходимо истории для его расчёта, и при установке временного интервала оптимизации загружается история с запасом для расчёта индикатора. А какие бары он считает не узнаете так как ринцип работы это временной интервал, только потом, в отчёте будет количество пройденных баров и тиков

Тоесь только временной интервал и от него уже плясать к индексу?

Может я не так спросил. Мне в советнике нужно скопировать буфер из индикатора обычная процедура CopyBuffer. в ней есть индекс и количество.

На реале мы пишем таким образом с конца (индекс 1) 2 бара копируем в нужный буффер  

int copied=CopyBuffer(TriX_handle,0,1,2,TriX_buffer);

А в тестере нужен номер индекса который он в данный момент считает. 

Я и спрашиваю есть ли у кого шаблончик вычислиния индекса текущего просчета тестера для того что бы вставить его в CopyBuffer;

 
Aleksandr Dziuba:

А в тестере нужен номер индекса который он в данный момент считает. 

Я и спрашиваю есть ли у кого шаблончик вычислиния индекса текущего просчета тестера для того что бы вставить его в CopyBuffer;

А такое существует?

 
VVT:

А такое существует?

По логике  думаю существует. Иначе как бы Вы тестировали свои алгоритмы пошагово если уже все пересчитано.  

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