Обсуждение статьи "Ручное тестирование на исторических данных в тестере стратегий MetaTrader 5 с кнопками Buy/Sell на графике"

 

Опубликована статья Ручное тестирование на исторических данных в тестере стратегий MetaTrader 5 с кнопками Buy/Sell на графике:

Узнайте, как создать советника для ручного тестирования в визуальном тестере MetaTrader 5, добавив кнопки на графике с помощью CButton, размещая ордера через CTrade и фильтруя позиции с помощью «магического числа». В статье реализованы элементы управления Buy/Sell и Close All, настраиваемый размер лота и начальный стоп-лосс, а также трейлинг-стоп через CPositionInfo. Кроме того, вы узнаете, как загружать индикаторы с помощью tester.tpl для более быстрой проверки идей перед автоматизацией и сужения диапазонов оптимизации.

Некоторое время назад я искал способ вручную тестировать идеи на исторических данных, чтобы проверить, есть ли в них смысл и какие фильтры могут повысить точность. Это было до моего знакомства с MQL5, и я участвовал в соревнованиях, которые поощряли азартные игры, а не торговлю. Вы их знаете, те, где вход бесплатный, правила время от времени меняются, и первый же участник за день утроил свой счет… вот такие.

Я был довольно наивен, полагая, что если мне удастся хотя бы один раз победить, то я смогу позволить себе участвовать в конкурсах проп-фирм и провозгласить себя «элитным трейдером». Но после нескольких убыточных операций и моментов, когда я буквально рвал на себе волосы, я решил по-настоящему начать разбираться в торговле и инвестировании с финансово-математической точки зрения и в процессе этого обнаружил, что на моей платформе MetaTrader имеется тестер стратегий. С этого и началось мое глубокое погружение в тему, когда я понял: можно программировать торговые роботы (советники) и использовать тестер стратегий для оценки стратегий и настройки параметров.

Имея диплом в области информационно-коммуникационных технологий, я с легкостью разобрался в этом, поскольку язык MQL5 представлял собой, по сути, адаптированный под задачи трейдинга язык C++, но логика и основные принципы работали точно так же. После просмотра нескольких видеороликов на YouTube, бесчисленных часов изучения документации с небольшой помощью искусственного интеллекта я создал пару советников (Expert Advisors, EAs). Следующим препятствием стало тестирование.

Сначала я запускал отдельные тесты, потому что ничего не знал об оптимизации (я думал, что она оптимизирует код). Я продолжал тестировать, меняя параметры и снова тестируя. Так было до тех пор, пока я не спросил у ChatGPT, есть ли способ автоматизировать этот процесс, и это привело меня к разделу оптимизации в тестере стратегий. Я чувствовал себя умным, как самый умный мужик на земле, но достаточно было одного теста, чтобы понять, что мой старый, залежавшийся ноутбук (я получил его от отца еще в 2016 году, и тогда он уже был не новым) не справляется с этими тестами. Ну, точнее, он мог бы… но на их выполнение ушло несколько дней, и каждое падение напряжения в сети (которое, похоже, случалось только во время проведения этих тестов) означало, что приходилось начинать все сначала.


Автор: Stephen Gathumbi Ndiba