Несколько лет назад написал простой инструментарий для лучшего понимания фильтра, что использую. Сам фильтр (торговых сигналов) был опубликован с открытым исходным кодом почти пять лет назад.
Теперь любой желающий может попробовать этот инструмент (beta). А ниже просто покажу его удивительные результаты в теме машинного обучения (МО) через одну из версий (8.13) имитации интеллекта (ИИ).
Для статистически значимой проверки требуется много сделок, поэтому с помощью вышеупомянутого ИИ был собран робот с просьбой (к ИИ) ничего не фильтровать и быть постоянно в рынке одной позицией, только ее переворачивая. Грубо говоря, вся история торгов — это чередование Buy/Sell.
В итоге в замечательном MT5-тестере с возможностью подключения ONNX-моделей был получен такой результат.
Семейство терминалов MetaTrader позволяет штатно визуализировать историю торговли открытого счета, бэктестов и Сигналов (мониторинг огромного числа торговых счетов).
Ниже пойдет речь об использовании готового инструмента, раскрывающего данные возможности, в рамках MetaTrader 5. При этом используемый подход может быть реализован и в MetaTrader 4.
Терминал позволяет автоматически отображать историю торговли на соответствующих графиках символов.
Визуализация дает примерно такую картинку.
Теперь надписи на картинке в виде текста (авто-переводчикам) и некоторых подробностей.
1. Расчетный график, построенный Validate в конце своей работы.
Через каждые две недели автооптимизация за прошедшие два месяца. Кастомный критерий оптимизации, принудительный обрыв ГА через 2000 проходов.
Итого всего 15 оптимизаций в режиме по реальным тикам+пипсы. Полностью на все ушло ровно 19 минут.
Первый горб на графике во многом вызван тем, что не учитывалось смещение времени. Как только период смещения времени перестал попадать в интервал оптимизации, график сгладился.
2. Фактический график результата работы Validate.
Боевые торговые советники время от времени перенастраиваются по разным причинам через Тестер на исторических данных.
Однако, результат таких периодических настроек сводится к наблюдению за неизвестным — будущая торговля.
Аргументировать и обосновать целесообразность таких действий в отношении того или иного торгового советника довольно непросто.
Крайне малая часть авторов роботов создают внутренние адаптивные механизмы через автооптимизацию, т.к. это требует серьезной подготовки программиста и не носит универсальный характер. Это всегда сложно, громоздко и индивидуально.
Поэтому говорить об автооптимизации всех торговых роботов не приходилось. Особенно, когда речь заходила о платных чужих роботах с закрытым исходным кодом (Маркет).
Например, был профит 20000 пипсов при 1000 трейдов. Сделали маркап -1 пипс (Bid -= -1pips, Ask += -1pips). Тогда MarkupProfit = 20000 — 1000 * (-1 ) * 2 = 22000 пипсов.
В предыдущих записях было показано (в статье), как использовался MT5-Тестер для нахождения рыночных закономерностей. Но совсем упущено описание исследовательской работы при написании ТС.
Как правило, пишется несколько экспериментальных ТС, которые сами по себе являются своего рода исследованиями. Они могут отличаться какими-то блоками друг от друга. Чаще всего, это не сами торговые блоки, а алгоритмы формирования торговых сигналов. Т.е. изменения содержатся в небольших, но определяющих частях.