Обсуждение статьи "Разработка самоадаптирующегося алгоритма (Часть I): Поиск базовой закономерности"

 

Опубликована статья Разработка самоадаптирующегося алгоритма (Часть I): Поиск базовой закономерности:

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

Я добавил в робота возможность реинвестирования заработанных средств, и нужно ее использовать. До этого я показывал тесты с консервативными настройками, но что, если сделать очень агрессивные настройки и включить увеличение лота? Я не любитель высоких рисков, но посмотрим на что способен алгоритм. Тест проведу на GBPUSD с 2006.01.01 по 2020.11.25 в режиме "все тики". Можно было и другой инструмент настроить. Спред уменьшу до значения = 20, это чуть выше среднего. И на рисунке 12 показан результат бектеста за почти 15 лет.


GBPUSD max risk

Рисунок 12. GBPUSD с 2006.01.01 по 2020.11.25 агрессивные настройки

Напомню, что алгоритм работает по ценам закрытия, поэтому такой результат — это не "тестерный грааль", вдобавок установлен адекватный спред = 20. Результат работы на реале, как правило, совпадает с результатом на тестере у этого алгоритма. Но сам я никогда не использовал его для торговли с такими агрессивными настройками и в MetaTrader 4 нельзя учесть реальные спреды, поэтому не буду утверждать, что на реале он бы также хорошо прошел этот период.

Автор: Maxim Romanov

 

Простой вопрос, почему МТ4? МТ5 с Форексом как бы тоже работает...

Имхо, данная стратегия - разновидность mean reversion... Тут главное - не попасть в толстые хвосты распределения: левый - если покупаем и в правый - если продаём... а то депозит затрещит по швам... либо нужно добавлять какую-то защиту... вечная проблема :-)

Кстати по форме самого распределения. Максим, Вы пишите:

...На рисунке 1 визуализировано то, что я описал выше. Тут красным цветом показано эталонное распределение приращений, черным цветом распределение приращений для ценового ряда с большим числом выборок. Фиолетовым, зеленым и голубым цветами показано распределение приращений ценового ряда на малом числе выборок.

Эталонное в каком смысле? Если меня глаза не подводят, то вижу нормальное распределение. На финрынках эталонным можно считать распределение с толстыми хвостами... в том смысле, что в долгосроке получим толстые хвосты...

Да, за материал спасибо. Как всегда интересно и аргументированно... без воды

 

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

Будет интересно узнать продолжение.

 
Denis Kirichenko:

Простой вопрос, почему МТ4? МТ5 с Форексом как бы тоже работает...

Имхо, данная стратегия - разновидность mean reversion... Тут главное - не попасть в толстые хвосты распределения: левый - если покупаем и в правый - если продаём... а то депозит затрещит по швам... либо нужно добавлять какую-то защиту... вечная проблема :-)

Кстати по форме самого распределения. Максим, Вы пишите:

Эталонное в каком смысле? Если меня глаза не подводят, то вижу нормальное распределение. На финрынках эталонным можно считать распределение с толстыми хвостами... в том смысле, что в долгосроке получим толстые хвосты...

Да, за материал спасибо. Как всегда интересно и аргументированно... без воды

Я в 2014 году делал этого робота, тогда я еще на мт4 сидел, сейчас переделывать нет смысла, потом будет еще один робот под мт4, усложненная версия этого, и третья версия уже на мт5 переедет. И там станет действительно интересно.

По поводу толстых хвостов, если данные правильно подготовить, то их не будет, будет нормальное распределение, я писал про это в первой статье своей, оттуда и картинку взял. Вот тут https://www.mql5.com/ru/articles/8136 , там похожей картинки можно сориентироваться. И за эталонное я беру нормальное.

А депозит да, может затрещать) Но на это ограничение есть по минимально эквити, чтобы все разом не всадить.

Дискретизация ценового ряда, случайная составляющая и "шумы"
Дискретизация ценового ряда, случайная составляющая и "шумы"
  • www.mql5.com
Классический способ представления ценовых движений в виде временных отрезков возник на заре становления финансовых рынков, когда еще не было компьютеров и вся торговля шла на реальных рынках, реальными товарами. Хранить каждое изменение цены в течении дня было трудно, да и не имело смысла, цены менялись не так быстро. Поэтому представлялось...
 
Попробую протестировать в многовалютном тестере Forex Tester. Результаты напишу 
 
Только не понял. Советник нужно ставить только на пару GBPUSD или???? 
 

Вариант под MT5.

#define MT4_TICKET_TYPE // Обязываем OrderSend и OrderTicket возвращать значение такого же типа, как в MT4 - int.
#include <KimIVToMT5.mqh> // https://www.mql5.com/ru/forum/93352/page32#comment_10603352

string StringTrimLeft2( const string Str ) { return(Str); }
string StringTrimRight2( const string Str ) { return(Str); }

#define StringTrimLeft StringTrimLeft2
#define StringTrimRight StringTrimRight2

void OnTick() { start(); }

#include "50p_V1.mq4" // https://www.mql5.com/ru/articles/8616
 
Разобрался!!!!
 
SonofIsrael Макеев:
Только не понял. Советник нужно ставить только на пару GBPUSD или???? 

Во все само и решилось. Первая пара должна совпадать с парой графика, она может быть любой.

 
Оптимизировать мартингейл опаснее, чем кажется :)
 
Maxim Dmitrievsky:
Оптимизировать мартингейл опаснее, чем кажется :)

разница с мартингейлом есть. Там берется система повышения ставок и бездумно накидывается на 50% вероятность входа. Тут я предположил, что есть некоторая закономерность, которая и поможет заработать и вероятность отлична от 50%.

Причина обращения: