Для тестирования и оптимизации использовались склейки биржевых инструментов @Si и @RTS в терминале брокера БКС.
Вынужден еще раз поднять тему расхождения результатов оптимизации и тестирования, просто эта тема уже начинает напрягать. Ответ на прошлый пост так и не получил. Выкладываю свежие данные по расхождению.
Вот несколько верхних строк из отчета оптимизации (значение внешних переменных удалены). Результаты оптимизации отсортированы по макс. балансу.
Pass | Result | Profit | Expected Payoff | Profit Factor | Recovery Factor | Sharpe Ratio | Custom | Equity DD % | Trades |
148, 388 | 1403801.00 | 1203801.00 | 1840.67 | 2.60 | 12.86 | 0.08 | 0 | 11.03 | 654 |
142, 346 | 1403801.00 | 1203801.00 | 1840.67 | 2.60 | 12.86 | 0.08 | 0 | 11.03 | 654 |
137, 332 | 1403801.00 | 1203801.00 | 1840.67 | 2.60 | 12.86 | 0.08 | 0 | 11.03 | 654 |
148, 498 | 1403649.00 | 1203649.00 | 1840.44 | 2.60 | 12.86 | 0.08 | 0 | 11.03 | 654 |
132, 400 | 1403329.00 | 1203329.00 | 1839.95 | 2.60 | 12.86 | 0.08 | 0 | 11.03 | 654 |
148, 383 | 1403024.00 | 1203024.00 | 1839.49 | 2.60 | 12.85 | 0.08 | 0 | 11.03 | 654 |
147, 440 | 1403024.00 | 1203024.00 | 1839.49 | 2.60 | 12.85 | 0.08 | 0 | 11.03 | 654 |
146, 506 | 1403024.00 | 1203024.00 | 1839.49 | 2.60 | 12.85 | 0.08 | 0 | 11.03 | 654 |
145, 447 | 1403024.00 | 1203024.00 | 1839.49 | 2.60 | 12.85 | 0.08 | 0 | 11.03 | 654 |
142, 493 | 1403024.00 | 1203024.00 | 1839.49 | 2.60 | 12.85 | 0.08 | 0 | 11.03 | 654 |
142, 508 | 1403024.00 | 1203024.00 | 1839.49 | 2.60 | 12.85 | 0.08 | 0 | 11.03 | 654 |
141, 357 | 1403024.00 | 1203024.00 | 1839.49 | 2.60 | 12.85 | 0.08 | 0 | 11.03 | 654 |
Если запустить одиночное тестирование для первой строчки отчета, то результаты прогона можно видеть на следующем рисунке.
Как видно, абсолютно вся статистика не совпадает: прибыльность, чистая прибыль, кол-во трейдов и т.д.
Может быть знающие люди ответят на вопрос, в чем причина несоответствия результатов прогона и оптимизации?
Для справки:
Брокер: БКС,
Начальный депозит: 200 тыс. руб.,
Инструмент: @Si, склейка фьючерса доллар-рубль
Таймфрейм: H1
Оптимизация: быстрая (генетический алгоритм), Balance (max)
Режим торговли: без задержки, только цены открытия
Период: 15.11.2013 - 01.01.2018, форвард: No
в чем причина несоответствия результатов прогона и оптимизации?
https://www.mql5.com/ru/forum/170952/page51#comment_5497844
- 2017.07.23
- www.mql5.com
Действительно, я не уточнил, что советник при оптимизации использует распределенные вычисления в Local Network Farm из 52 агентов, размещенных на 5 компьютерах. Значится, Ваше предположение состоит в том, что на каком-то компьютере в локальной сети установлена более ранняя версия менеджера агентов тестирования. Спасибо за наводку, как проверю, отпишусь.
Проверил все 5 компьютеров, причину локализовать не удалось, везде установлены самые последние версии менеджеров агентов тестирования, а именно 1643. Есть еще предположения о причине несоответствия результатов тестирования результатам оптимизации?
- www.metatrader5.com
Проверил все 5 компьютеров, причину локализовать не удалось, везде установлены самые последние версии менеджеров агентов тестирования, а именно 1643. Есть еще предположения о причине несоответствия результатов тестирования результатам оптимизации?
Используются ли в советнике какие-либо внешние файлы?
Проверил все 5 компьютеров, причину локализовать не удалось, везде установлены самые последние версии менеджеров агентов тестирования, а именно 1643. Есть еще предположения о причине несоответствия результатов тестирования результатам оптимизации?
Вставить в советник эти строки
#define REPORT_TESTER // В тестере будут автоматически записываться отчеты #include <Report.mqh>
и запустить Оптимизацию. Затем запустить несовпадающий одиночный прогон.
Далее сравнить сохраненные два отчета соответствующих прохода из Оптимизации и одиночного прохода.
Результат сравнения этих двух отчетов быстро выявит причины.
Вы имеете ввиду файлы, которые читает или пишет сам советник? Да, при запуске в OnInit() происходит считывание текстового файла "ExpiryCalendar.csv" из общего каталога C:\Users\____\AppData\Roaming\MetaQuotes\Terminal\Common\Files. А действительно, как агенты на удаленных машинах отрабатывают эту ситуацию, ведь этот файл имеется только на главной машине, на остальные я его не переносил?
Похоже, что причину надо искать здесь.
Вы имеете ввиду файлы, которые читает или пишет сам советник? Да, при запуске в OnInit() происходит считывание текстового файла "ExpiryCalendar.csv" из общего каталога C:\Users\____\AppData\Roaming\MetaQuotes\Terminal\Common\Files. А действительно, как агенты на удаленных машинах отрабатывают эту ситуацию, ведь этот файл имеется только на главной машине, на остальные я его не переносил?
Похоже, что причину надо искать здесь.
Используйте #property tester_file.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
В третий раз поднимаю эту тему, на сей раз расхождение обнаружено в терминале MT5. Сразу скажу, что расхождение проявляется не всегда, точнее редко, и пока не понятно, с чем это связано.
Запускаю оптимизация в режиме "Медленная (полный перебор параметров)", "Balance Max" и "Только цены открытия". Выбираю каждый раз медленную оптимизацию просто на автомате, все равно оптимизатор с таким количеством проходов самостоятельно переключится на быструю (генетический алгоритм). По окончании оптимизации выбираю самую первую строчку с лучшим результатом по прибыли и выполняю на ней пункт меню ""Запустить одиночное тестирование". Однако результат одиночного тестирования показывает другое значение прибыли, значительно отличающееся от той прибыли, которое нашел оптимизатор.
Ниже представлены 2 графика. График оптимизации с максимальной прибылью порядка 70 млн. и график одиночного тестирования с прибылью примерно 22 млн.
В чем причине такого расхождения?