Блог им. fxsaber
Идея не нова, вопрос был только в реализации.
Платформа MetaTrader 5 обладает возможностями автоматизации Тестера. Расчет огромного количества данных на истории реальных тиков — обыденность.
Проверка адаптивности ТС — аналогично.
Однако, при большом количестве уже проведенных вычислений требуется разобрать эту кучу данных и найти в ней что-то, действительно, интересное.
Это можно делать двумя способами:
В первом случае получается быстро, но можно легко что-то упустить, действительно, важное.
Во втором случае все гораздо тщательнее, но очень много времени на это уходит. Элементарно утомить природную машину настолько, что больше никогда не захочется к этому возвращаться.
Головной мозг человека неплохо справляется со зрительными образами. Вы можете с большой частотой смотреть сменяемые картинки и на уровне подсознания заметить что-то, что привлечет внимание. Анимация ниже это неплохо демонстрирует.
(нажмите на ссылку для перехода в анимационный режим).
Возможно, вас что-то привлекло в этих быстро сменяющихся картинках. Для этого не нужно быть технарем, обладать каким-то уникальным опытом. Головной мозг почти каждого человека подметит что-то общее для всех. Срабатывает развитое чувство порядка, что не так далеко от закономерностей...
Ниже будет краткое описание скрипта под 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 картинок. Всю огромную подготовительную работу проделает скрипт.
Скрипт позволяет вывести лучшие проходы не всех оптимизаций, а только одной выбранной. Результат примерно такой.
Очевидно, что если применить скрипт к завершенной оптимизации (через генетический алгоритм или другие), то все «20» картинок будут почти одинаковыми, ведь на вершине такой оптимизации почти всегда будут однообразные проходы найденного локального экстремума.
В таком случае отпадает необходимость в подобных манипуляциях скриптом. Поэтому при поиске рыночных закономерностей лучше всегда резать число проходов эвристических алгоритмов поиска (оптимизация ТС). Малое число проходов не только ускорит выполнение оптимизации, но и позволит увидеть на вершине таблицы места из разных локальных экстремумов. Т.е. сгенерированная скриптом картинка будет иметь гораздо больше смысла.
Лежащее на поверхности правило оптимизации во время поиска рыночных закономерностей или составления портфеля ТС, редко используется...
Непередаваемая экономия сил и времени + выявление интересных закономерностей, которых ранее не замечал. Пройдет мимо незамеченным, не рекомендую использовать.
Да, лень двигатель прогресса. Вернее мозг и лень. Если ты делаешь какую-то простоту — ну и делаешь, если стремишься сделать по красоте и при этом сильно не любишь рутину, то по-любому будешь придумывать какие-то крутые автоматизации, скрипты, юпитер-тетради и прочее. У меня тоже море всякой такой красоты.
Кстати, именно в данном посте чего-то интересного, что бы мог почерпнуть для себя, не нашел — у меня, видимо, прилично отличающийся подход.
А так тема правильная — до конца автоматизировать всё сложно — есть моменты где человек не помешает, т.е. ты условно небольшими силами большую часть автоматизировал, потом уже бОльшими усилиями ещё приличный кусок, дальше тоже можно, но уже с гораздо меньше отдачей и уже проще/эффективней руками делать.
MT5 — очень хорошая готовая базовая инфраструктура. Об очень многих вещах голова совсем не болит.
Здесь же используются почти никому неизвестные возможности автоматизации в MT5, что дало крутой результат.
Удобство не только в отказе от рутины, но и в способе визуализации.
Ну и предложение резать эвристику — наверное, самая дельная мысль в посте.