Результаты автоматической адаптации к рыночным условиям

Результаты автоматической адаптации к рыночным условиям

14 января 2016, 16:47
Maxim Romanov
2
371

Продолжение поста https://www.mql5.com/ru/blogs/post/657869

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

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

Для проверки своей идеи я взял самую простую торговую систему и каждый из вас ее прекрасно знает - это торговля при пересечении двух "средних" (или МА) с разными периодами. Вход и выход по пересечению 2-х средних. Думаю каждый согласится, что это тупиковая стратегия и заработать на ней в чистом виде невозможно. Я взял эту стратегию по тому что при всей своей глупости, есть промежутки на которых она показывает прибыль, а значит при наличии у рынка памяти, можно каждый раз подбирать параметры системы, при которых она будет прибыльна на коротком промежутке времени.

Чтобы было понятнее, я покажу график доходности такой системы на таймфрейме m15 c 2010 по 2014 год. Тут взяты статичные настройки без оптимизации. То есть период средних на всем промежутке тестирования одинаковый. Это обычная торговая система на пересечении двух средних.

 

Видно, что график баланса идет стабильно вниз. Всего прибыльных сделок около 18,7%

Теперь применю алгоритм адаптации, сделаю систему "живой". Немного расскажу как я это сделал. Вместо статичного значения периодов средних и параметров тейк профита и взял диапазон значений. Период средних может меняться в диапазоне 10-100. Профит и стоп лосс тоже меняются в широких диапазонах. Плюс добавлен процентный трейлинг стоп. Процент отката от максимальной/минимальной цены я взял в диапазоне 10-60%. Одновременно запускается 1000 торговых систем со случайными настройками. Все настройки выбираются при помощи генератора случайных чисел в заданном диапазоне изменения. Таким образом получаем 1000 торговых систем с разными параметрами и соотношениями параметров. Торговые системы получившие прибыль, продолжают работу, те, кто получил убыток, выбирают себе новые параметры и начинают свою работу заново. Таким образом система живет, пока приносит доход, как только получен убыток, она переопределяет свои параметры на другие случайные. ниже на графике видно, что из этого получилось.

 

 Добавлю еще график теста 2014-2016 год.

 

Видно, что в обоих случаях, хоть и не стабильно, но прибыль идет вверх. Тут нужно напомнить ,что мы используем самую простую торговую систему на основе средних, без оптимизации, задавая лишь диапазон случайных параметров. Система в полностью автоматическом режиме, система смогла повысить вероятность совершения прибыльной сделки с 18,7% до 54%, что больше 50% и говорит о том, что она смогла выявить примитивную закономерность. в первом случае было совершено более 900 тыс. сделок, во втором более 400 тыс. Это говорит о том, что статистическое множество достаточное и ему можно доверять.

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

Зачем все это нужно? Этот эксперимент показал, что система, ничего не зная о рынках и обладая простейшим интеллектом (который и интеллектом сложно назвать), смогла к ним адаптироваться. Теперь, зная механизм того, как живые организмы адаптируются к окружающей среде и проверив этот механизм на примитивной модели можно пойти дальше и создать действительно сложную модель, которая будет значительно эффективнее анализировать рынки и у которой будет механизм адаптации значительно усовершенствован.

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

В дополнение покажу, каких результатов удалось добиться при использовании моего индикатора "predictor of the bars" вместо средних.

 

Это результат работы за месяц. Сложно протестировать больше, по тому что индикатор работает очень медленно и на тестирование месяца ушло 2-е суток.