Оптимизация советника заканчивается нулевым результатом MT5
Все занимаются. Просто не понятно, что Вы хотите от всех.
Все занимаются. Просто не понятно, что Вы хотите от всех.
Первый кто не понял оказался советник :)
Первый кто не понял оказался советник :)
После некоторых разъяснений понял что произошло.
Конечно путь был долгим. Помогли логи, о которых я к сожалению не знал.
Оказалось что тестер живет своей жизнью и архитектура вычислений у него немного другая чем на реале. Советник в тестере сначала вычисляет все значения индикаторов(заполняет все значения) по всем барам (от начала до последнего) а потом скачет по тикам. Этого у меня не было предусмотрено. Я считал что он как и на реале просчитывает шаг за шагом то есть моделирует полностью ситуацию. И ждал что будет произведен пересчет баров. Ну а так как пересчета не было то и считать нечего.
Теперь нужно понять как определить что произошел пересчет бара и его номер в OnTick в тестере. Если есть подсказка спасибо.
После некоторых разъяснений понял что произошло.
Конечно путь был долгим. Помогли логи, о которых я к сожалению не знал.
Оказалось что тестер живет своей жизнью и архитектура вычислений у него немного другая чем на реале. Советник в тестере сначала вычисляет все значения индикаторов(заполняет все значения) по всем барам (от начала до последнего) а потом скачет по тикам. Этого у меня не было предусмотрено. Я считал что он как и на реале просчитывает шаг за шагом то есть моделирует полностью ситуацию. И ждал что будет произведен пересчет баров. Ну а так как пересчета не было то и считать нечего.
Теперь нужно понять как определить что произошел пересчет бара и его номер в OnTick в тестере. Если есть подсказка спасибо.
Ну да, сначала загружает историю, потом с ней работает, там в журнале всё написанно. Похожую ошибку я делал при оптимизации, выбирал слишком большой период истории, не достаточный для расчёта индикатора результат 0
Ну да, сначала загружает историю, потом с ней работает, там в журнале всё написанно. Похожую ошибку я делал при оптимизации, выбирал слишком большой период истории, не достаточный для расчёта индикатора результат 0
А как понять какой бар он обрабатывает? или по времени смотреть? Время в бар и бар во время?
А как понять какой бар он обрабатывает? или по времени смотреть? Время в бар и бар во время?
Он загружает историю в зависимости от периода индикатора, чем больше период тем больше необходимо истории для его расчёта, и при установке временного интервала оптимизации загружается история с запасом для расчёта индикатора. А какие бары он считает не узнаете так как ринцип работы это временной интервал, только потом, в отчёте будет количество пройденных баров и тиков
Он загружает историю в зависимости от периода индикатора, чем больше период тем больше необходимо истории для его расчёта, и при установке временного интервала оптимизации загружается история с запасом для расчёта индикатора. А какие бары он считает не узнаете так как ринцип работы это временной интервал, только потом, в отчёте будет количество пройденных баров и тиков
Тоесь только временной интервал и от него уже плясать к индексу?
Может я не так спросил. Мне в советнике нужно скопировать буфер из индикатора обычная процедура CopyBuffer. в ней есть индекс и количество.
На реале мы пишем таким образом с конца (индекс 1) 2 бара копируем в нужный буффер
int copied=CopyBuffer(TriX_handle,0,1,2,TriX_buffer);
А в тестере нужен номер индекса который он в данный момент считает.
Я и спрашиваю есть ли у кого шаблончик вычислиния индекса текущего просчета тестера для того что бы вставить его в CopyBuffer;
А в тестере нужен номер индекса который он в данный момент считает.
Я и спрашиваю есть ли у кого шаблончик вычислиния индекса текущего просчета тестера для того что бы вставить его в CopyBuffer;
А такое существует?
А такое существует?
По логике думаю существует. Иначе как бы Вы тестировали свои алгоритмы пошагово если уже все пересчитано.
Всем добрый день.
Пытаюсь провести оптимизацию по значению TRIX с периода от 10 до 120
Периоды заполняются но таблица вся заполнена нулями.
Может кто сталкивался с данной проблемой.
В советнике используются пользовательские индикаторы.
В визуальном тестировании все идет. Используются локальные агенты.
Что я делаю не так?