TesterDashboard - эффективное привлечение эволюционной интеллектуальной машины к поиску закономерностей.

14 октября 2021, 00:31
fxsaber
9
1 026

Идея не нова, вопрос был только в реализации.


Платформа MetaTrader 5 обладает возможностями автоматизации Тестера. Расчет огромного количества данных на истории реальных тиков - обыденность.

Проверка адаптивности ТС - аналогично.


Обработка расчетов.

Однако, при большом количестве уже проведенных вычислений требуется разобрать эту кучу данных и найти в ней что-то, действительно, интересное.

Это можно делать двумя способами:

  1. Создать автоматический критерий, который отфильтрует что-то стОящее от вычислительной шелухи.
  2. Перебрать руками каждый кусочек цифровой кучи, доверяя фильтрацию мощной интеллектуальной машине - головному мозгу человека.

В первом случае получается быстро, но можно легко что-то упустить, действительно, важное.

Во втором случае все гораздо тщательнее, но очень много времени на это уходит. Элементарно утомить природную машину настолько, что больше никогда не захочется к этому возвращаться.


Мозг и закономерности.

Головной мозг человека неплохо справляется со зрительными образами. Вы можете с большой частотой смотреть сменяемые картинки и на уровне подсознания заметить что-то, что привлечет внимание. Анимация ниже это неплохо демонстрирует.


Возможно, вас что-то привлекло в этих быстро сменяющихся картинках. Для этого не нужно быть технарем, обладать каким-то уникальным опытом. Головной мозг почти каждого человека подметит что-то общее для всех. Срабатывает развитое чувство порядка, что не так далеко от закономерностей...


Скрипт.

Ниже будет краткое описание скрипта под MetaTrader 5, написание которого требует очень высокой компетенции. Скромно говоря, ничего подобного в публичном доступе ранее даже близко не встречалось.

Итак, требуется визуализация большого количества данных, которые были получены автоматизацией оптимизатора MT5-тестера. Грубо говоря, вы много советников оптимизировали на разных символах и теперь нужно оценить, а есть ли среди результатов что-то достойное?


Скрипт берет все расчетные данные и просто проводит одиночные проходы лучших проходов по выбранному критерию и на любом интервале. Например, оптимизировали за осень, а скрипт гонит с начала года. В общем, он проделывает рутину.

TesterCache file 13/449, Pass 20/20
Time = 00:21:46 / 12:34:41 (2.88%), Time Left = 12:12:55 (2021.10.14 13:32:19))- done.


Фишка.

У каждой таблицы оптимизации берется какое-то число (например, 20) лучших проходов и графики их equity/balance объединяются в одну картинку (каждый стоп-кадр на анимации выше).


Допустим есть 1000 оптимизаций. Перебрать их - безумного дорого во всех смыслах. Однако, скрипт сделает 20 000 одиночных прогонов, создав 1000 картинок, где в каждой будет 20 лучших проходов. Далее нужно эти 1000 картинок прогнать перед глазами, подсознанием отфильтровав на наличие порядка. Тем самым головной мозг будет работать только пять минут, пока будет смотреть 1000 картинок. Всю огромную подготовительную работу проделает скрипт.


Возможности.

  • Для каждого прохода скрипт создает set-файл входных параметров и удобный html-стейтмент. Поэтому повторно тратить время на проходы не обязательно.
  • Работает с советниками с закрытым исходным кодом - EX5-формат. В частности, может бесплатно и полноценно тестировать продаваемые в Маркете торговые роботы.
  • Выводит информацию по мере выполнения расчетов.
  • Можно выбирать любой интервал тестирования и критерий выбора лучшего прохода.
  • На мини-картинке каждого прохода выделяются границы OOS-интервалов. Что визуально помогает отделить интервалы оптимизации от выборки вне их.
  • Все полученные расчеты системно распределяет по папкам. Не спамит каталоги настроек и кешей MT5-Тестера.
  • Может работать только с последней оптимизацией или заданной.


Работа в одиночном режиме.

Скрипт позволяет вывести лучшие проходы не всех оптимизаций, а только одной выбранной. Результат примерно такой.


Очевидно, что если применить скрипт к завершенной оптимизации (через генетический алгоритм или другие), то все "20" картинок будут почти одинаковыми, ведь на вершине такой оптимизации почти всегда будут однообразные проходы найденного локального экстремума.

В таком случае отпадает необходимость в подобных манипуляциях скриптом. Поэтому при поиске рыночных закономерностей лучше всегда резать число проходов эвристических алгоритмов поиска (оптимизация ТС). Малое число проходов не только ускорит выполнение оптимизации, но и позволит увидеть на вершине таблицы места из разных локальных экстремумов. Т.е. сгенерированная скриптом картинка будет иметь гораздо больше смысла.


Лежащее на поверхности правило оптимизации во время поиска рыночных закономерностей или составления портфеля ТС, редко используется...


Особенности.

  • Использует DLL, поэтому сам не может размещаться в Маркете. Никуда не лезет.
  • Дальнейшее использование предполагает, что умеете пользоваться файловыми менеджерами. Такими, как Total Commander. Чтобы можно было быстро посмотреть результаты работы скрипта. И убрать забракованные вами же кеши MT5-тестера.
  • Скрипт однопоточный: проходы считаются последовательно, не параллельно.
  • Можно ставить/снимать паузу во время выполнения.


Польза.

Непередаваемая экономия сил и времени + выявление интересных закономерностей, которых ранее не замечал. Пройдет мимо незамеченным, не рекомендую использовать.

Файлы:
Поделитесь с друзьями: