Обсуждение статьи "Пошаговое руководство по написанию советников в MQL5 для начинающих" - страница 31
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Во-первых, я хотел бы сказать, что прочитал эту статью и скопировал код, потому что хотел научиться кодированию на MQL5. Во-вторых, я чувствую, что узнал много нового, и сейчас я написал 7 советников и несколько индикаторов. Так что я чувствую, что нахожусь на пути к тому, чтобы изучить его до такой степени, чтобы я мог кодировать свои собственные идеи.
Кроме того. Мне стало очень интересно узнать о тестере стратегий. Сначала я думал, что он слишком прост и никогда не сможет работать. Это не так. Он может работать. Однако. На мой взгляд, она работает только для людей с огромным терпением. Поэтому я протестировал его на USDCAD, на дневном таймфрейме, оптимизировал тейк-профит, стоп-лосс и период ADX. Вкратце история такова. Просто поставьте ADX посередине. Выше 29 и ниже 60. Все будет хорошо. Тейк-профит. Как можно выше. Между 300 и 500. Стоп-лосс. Наверняка намного меньше. Постоянно повторяющееся число было либо 155, либо 30. Затем возникает большая проблема. Я тестировал его с 2019 до начала 2025 года. Он дал от 75 сделок до примерно 45 при самых высоких настройках ADX. Я посмотрел на график из 5 таких тестов. Он болтается около 0 до 2024 года. Затем весь прирост приходится на последний год. Профит-фактор, на который я смотрел, был от 1,77 до 2,61. Везде много проблем. Все шорты были убыточными. 86% лонгов были прибыльными. Многие сделки имели большую продолжительность. В целом, гораздо больше 10 дней. Я думаю, что я видел 3440 часов в качестве самого длительного времени удержания. Среднее значение составило 846 часов. По моим ощущениям, отдача также может быть очень высокой, но кто захочет ограничиваться менее чем 20 сделками через 6 лет?
Я потратил несколько дней на то, чтобы перебрать все 33000 комбинаций. Теперь я буду тестировать дальше и сильно сокращу задачи. Мне не нужны значения ADX выше 55. Стоп-лосс на уровне 30 - это слишком низко, даже если я видел много прибылей и с этим значением. В качестве последнего пункта. Я читал, что можно соединить несколько ПК/ноутбуков в локальную сеть, чтобы увеличить скорость. Я рекомендую это сделать.
Я согласен с тем, что валидация должна выходить за рамки простого выбора наилучшего результата оптимизации. Еще одно опасение, которое у меня возникает, заключается в том, что сама процедура валидации может привести к переобучению.
Например, если мы будем неоднократно изменять окно «walk-forward», допущения метода Монте-Карло, диапазон возмущения параметров или допущения о торговых издержках после ознакомления с результатами, то в конечном итоге можем оптимизировать сам процесс валидации.
Я считаю, что более надежный подход заключается в том, чтобы определить протокол валидации до просмотра окончательных результатов OOS, а затем оставить окончательный период полностью неизменным и использовать его только один раз.
Что касается адаптивных советников, меня также интересует, следует ли валидировать параметры обнаружения режимов отдельно от торговых параметров. Кто-нибудь тестировал этот подход?
Erlend Christiansen #:
Во-первых, я хотел бы сказать, что прочитал эту статью и скопировал код, потому что хотел научиться кодированию на MQL5. Во-вторых, я чувствую, что узнал много нового, и сейчас я написал 7 советников и несколько индикаторов. Так что я чувствую, что нахожусь на пути к тому, чтобы изучить его до такой степени, чтобы я мог кодировать свои собственные идеи.
...
Это очень подробный отчёт о вашем первом опыте работы со Стратегическим тестером.
Если позволите, я бы хотел высказать несколько предложений:
Шаг № 1 действительно должен заключаться в проверке качества тиковых данных вашего брокера-дилера. Существует очень хороший скрипт, автоматизирующий этот процесс, по адресу:
Code Base
Tick Audit — проверка реальной истории тиков и качества бэктеста по месяцам
Аяз, 05.09.2026 06:13
Ежемесячные отчеты показывают, действительно ли ваш символ имеет тики или только бары — так вы узнаете, какая часть вашего бэктеста выполнялась на сгенерированных тиках, прежде чем доверять кривой. Тестер стратегий выдает вам один показатель качества истории после завершения теста и никогда не указывает, в каких месяцах возникли проблемы. Этот скрипт сначала запрашивает эту информацию.Шаг № 2 должен заключаться в тестировании в режиме «Каждый тик на основе реальных тиков» с использованием исторических данных вашего конкретного брокера (на случай, если вы этого ещё не делаете). В зависимости от технических характеристик вашего компьютера вам, возможно, придётся выполнять тестирование частями — особенно на старых машинах.
Шаг № 3 — анализ отчёта тестера, который вы уже начали составлять. Обратите особое внимание на среднее количество последовательных убытков и максимальное количество последовательных убытков. Возможно, вам стоит уменьшить размер позиции, если количество последовательных убытков в режиме реального времени превысит среднее количество последовательных убытков (полное объяснение размещено на стене моего профиля). Также обратите внимание на периоды времени (часы, дни и месяцы), в течение которых ваш советник приносит прибыль. Время входа в сделку изначально не поддерживается, поэтому я создал утилиту, которая генерирует вспомогательный отчет (https://www.mql5.com/en/blogs/post/774010). Возможно, вам стоит внедрить фильтр по времени торговли (https://www.mql5.com/en/blogs/post/770147).
Кстати, существует множество прибыльных позиционных (долгосрочных) трейдеров. Если ваши личные цели соответствуют этому стилю торговли, я бы не слишком беспокоился о частоте торговли. По моему мнению, гораздо проще создать прибыльную стратегию LFT, чем стратегию HFT или даже MFT.