Скачать MetaTrader 5

Разработка стабильного торгового робота

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Maxim Romanov
5053
Maxim Romanov  

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

Итак опишу, что было сделано.

Было принято решение ограничить колличество переворотов до 5. И если на пятом перевороте убыток, то просто его фиксируем.

Был построен простой робот работающий по принципу: Задается ширина канала (возьмем пример 30 пунктов), выставляем ордер бай, если цена идет против нас, то через 30 пунктов поза закрывается и открывается в противоположную сторону удвоеным лотом (коэффициент множения лота изменяется в настройках). Получается единовременная прибыль (если заходить первым лотом 0,1) = 30$, при этом единовременный убыток =-870$.

Чтобы уменьшить единовременный убыток каждый четный S/l делим на 2. Получается так:

(-0,1*30)-(0,2*15)-(0,4*30)-(0,8*15)-(1,6*30)=-780$ Убытка. Таким образом единовременный убыток снизился на 11%.

Вот графически принцип работы:

Вот результаты тестирования данного принципа за первый попавшийся месяц без оптимизации с ограничением в 5 переворотов. Январь 2012 года

Убыток? как мы видим 634$. Результат далек от идеала, но эта версия была построена для отправной точки.

Что было сделано дальше....

Для уменьшения колличества переворотов необходимо подстраивать диапазон колебаний (раздвижку между бай и селл). Это было сделано следующим образом: За последние сутки определяется средняя амплитуда колебаний валютной пары. Делается это так: Находятся все амплитуды колебаний присутствующие на рынке (как они вычисляются рассказывать долго), из них находится средняя величина, теперь она является раздвижкой (та что в начале была 30 пунктов). Определяется тренд и сила тренда за тот же период. Исходя из силы тренда определяется насколько делить первоначальную раздвижку (чтобы получить стоп лосс четных позиций). Этот стоп лосс колеблется от равного первой, до меньшего. Если на рынке флет, то стоп лосс четных позиций = 1/2 от остальных, если тренд, то в зависимости от силы его значение приближается к 1.

Таким образом, если флет, то система становится направленной (как на рисунке), если тренд, она превращается в обычную.

Вот что это дало за тот же месяц, что и первый тест:

Получили всего 2 слива, при этом убыток всего 102$. Начальный лот 0,01, максимальный 0,16.

Как мы видим результат на лицо.

Какие недостатки у этой системы? зачастую перевороты накапливаются из-за резких колебаний рынка, их можно было бы избежать. Поэтому был придуман метод фильтрации.

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

На рисунке показаны сделки без фильтра+ фильтр, и видно, как фильтр не доходит до стоп лоссо, позволяя избежать лишних переворотов.

Что этим удалось достич? удалось сократить количество убыточных позиций, теперь за месяц может быть от 0 до 2 убыточных серий в среднем (на минутках) . Если тестировать за год на 15 минутках за 2011 год, то всего 3 слива за год. Почему на 15 минутках лччше? Просто на них лучше сохраняется средняя ампилтуда колебаний.

Вот результат:

Как видим за тот же месяц, что и те 2 рисунка, получаем прибыль 51$, при этом максимальный ло 0,18, при старте с 0.01, и те же 5 переворотов.

Казалось бы результат хороший, но в некоторые месяци сливы все-таки есть, а оин при данном лоте, как я уже писал = 78$, чт осоизмеримо с прибылью, значит в целом система пока сливная. Ещё раз хочу сказать, что это без оптимизации (хотя оптимизировать нечего, все параметры сами расчитываются).

Отсюда дальнейшая работа сводится к 3-м вещам:

1) Увеличение прибыли по каждой позиции, то есть закрытие не по тейк профиту, а по какому-то условию (может у кого-то есть наработки в области слежения за концом тренда). Сейчас ппозы закрываются иногда очень сильно не добирая по тренду. Если кто предлагает закрытие по индикаторам, то нужно придумать алгоритм пересчета периода данного индикатора в соответствии с рыночной ситуацией.

2) Увеличение максимальной, единовременной прибыли. С помощью какого-то алгоритма работы, необходимо сделать, чтобы максимальный единовременный убыток был больше или равен или чуть меньше единовременного убытка.

3) Уменьшение единовременного убытка. Сейчас я придумал алгоритм частичных открытий позиций, позволяющий на 17% снизить единовременный убыток, при этом этот алгоритм не затрагивает прибыль. Но 17% это мало, может у кого-то есть идеи по уменьшению убытка хотябы на 30%.

И ещё, вход в рынок осуществляется практически случайным образом (по пересечении 2 машек). Но вход я пока не затрагиваю, поскольку если не увеличить прибыльность и не уменьшить просадку, толку от входа нет.

Сейчас процент прибыльных позиций =56%.

У меня есть конечно подробное описание алгоритма работы, но тут оно не кчему, по тому, что занмает 17 листов, если кто готов сотрудничать и предлагать реальные идеи, то я все вышлю.

Николай
125
Николай  

Около года назад я взял печально известный fxclon (похожий разворотник который вызывал бурление г***а на форумах и нехилый батхерт школоты после конкретного объяснения что их обманули) и просто на бумаге начал отсекать все лишнее что в нем было намеренно добавлено чтобы увеличить комиссионные для владельца советника. Например нет смысла открываться сразу в обе стороны, лучше сразу открыться в одном направлении, при этом абсолютно без разницы каком, при таком подходе мы можем заработать уже через 2 и 1 шаг (смотря в каком направлении) а не 2 и 2 как у автора. Таким отсечений было большое множество и перепробовано куча подходов. Все ушло в очень простую методику. Открытие в 1 сторону (случайно (по индикатору или псевдослучайные числа)), и тянем стоп лосс+ разворотник за ценой, если мы получили прибыль или погасили имеющийся убыток (если выбьет стоп) то разворотник удаляем и вместо него ставим другой начальным лотом. Вот и все. Больше отсекать и выдумывать было нечего. Также чуть позже был заказ одного человека с таким же подходом но поэтапным закрытием убытка, пользы это не дало, совсем.

Вообще подобные подходы на удивление идентичны игре в рулетку когда ты ставишь на черное/красное, если стоп лосс меньше тейк профита, то ставка идет на поле 1/3 или просто покрывается часть поля фишками, поэтому рекомендую тебе поиграться в интернет казино на демо деньги и достаточно быстро проверить все теории. Так вот, почему я вспомнил Казино, как известно во всех играх в казино при обычной игре игрок имеет отрицательное мат ожидание, а казино положительное, т.е. что бы игрок не вытворял он всегда будет в минусе при бесконечном количестве игр, а наедятся на выигрыш в коротком промежутке сродни лотерее (не будем брать рекламные лотереи где фонд больше вклада игроков, в таких не участвует только глупец, но это крайняя редкость). Почему отрицательное? потому что шансы на выпадение черного/красного всегда меньше 50% и новый бросок шарика никак не зависит от прошлого (твоя прошлая убыточная сделка никак не говорит что шанс выйграть если ты развернешься или продолжишь в том же направлении больше 50%) (аналогию под другие игры проведете сами). Но есть игра Блэк Джек, в которой текущий розыгрыш зависит от прошлого, введу того что играют ограниченным количеством карт которые долгое время не перемешиваются, и той или иной простой методикой можно просчитать что осталось в колоде и каковы твои шансы получить ту или иную карту. По этой методике даже фильм сняли основанный на реальных событиях к слову про студентов MIT, называется "Двадцать одно", фильм хороший, глянь. Но к чему я это? а то что выйграть/заработать (нужное подчеркнуть =) ) можно только просчитав шансы на следующий ход. Подобная стратегия этого сделать не позволяет, а значит не имеет права на жизнь.

Итог: необходимо найти стратегию или ситуацию которая объективно дает шанс заработать более 60-65% (чтобы покрыть спред и комиссию) а уже потом можно изощрятся с подбором ММ но не в коем случае не мартышкой, для подобных целей очень ползена книга Ральфа Винса - Математика управление капиталом. Да он говорит что имея шансы на выигрыш менее 50% можно выигрывать постоянно, но речь идет о ситуации когда стоп в разы меньше профита.

Дмитрий
1046
Дмитрий  

положи отчет без мартина ( ну например ккоэф умножения мартина =1 ). и рисунок - и удивишься и повод поговорить будет

Alexey
1365
Alexey  

Весна, весна. Я не одинок в своем обострении.

Идея такова. Для для ухода от классического мартина можно поиграть уровнями переворотов и уровнями профитов. Заходите в гости https://www.mql5.com/ru/forum/138220 Описан мартин в котором наращивание позы при переворотах 1,2,2,4,4,8,8,16,16 и тд за счет смещения уровня переворота. Стоит заметить, если принять модель изменение цены как случайное блуждание то никакой мартин не даст положительное мат ожидание без учета спредов.

Maxim Romanov
5053
Maxim Romanov  

Да, с коэффициентом умножения лота результат вполне интересный со 100$ около 20$ за месяц. Прикрепил отчет. 15 минутный фунт. За год получается примерно столько-же.

Файлы:
nomartin.zip 20 kb
Дмитрий
1046
Дмитрий  

Честно говоря плохой результат (кстати почему по контрольным точкам)

Илья
2546
Илья  
Кстати keep одну дельную мысль высказал. Я сам хотел задать этот вопрос.То есть почему точке входа уделяется только третьестепенная роль.Я понимаю, что задача - правильно настроить мартин.Но ведь не будем забывать что мартин - это способ управления капиталом. А в основе всего- система. Но не суть. Буду вечером - изложу несколько идей по данному подходу. Есть наработки.
Maxim Romanov
5053
Maxim Romanov  
keep87:

Около года назад я взял печально известный fxclon (похожий разворотник который вызывал бурление г***а на форумах и нехилый батхерт школоты после конкретного объяснения что их обманули) и просто на бумаге начал отсекать все лишнее что в нем было намеренно добавлено чтобы увеличить комиссионные для владельца советника. Например нет смысла открываться сразу в обе стороны, лучше сразу открыться в одном направлении, при этом абсолютно без разницы каком, при таком подходе мы можем заработать уже через 2 и 1 шаг (смотря в каком направлении) а не 2 и 2 как у автора. Таким отсечений было большое множество и перепробовано куча подходов. Все ушло в очень простую методику. Открытие в 1 сторону (случайно (по индикатору или псевдослучайные числа)), и тянем стоп лосс+ разворотник за ценой, если мы получили прибыль или погасили имеющийся убыток (если выбьет стоп) то разворотник удаляем и вместо него ставим другой начальным лотом. Вот и все. Больше отсекать и выдумывать было нечего. Также чуть позже был заказ одного человека с таким же подходом но поэтапным закрытием убытка, пользы это не дало, совсем.

Вообще подобные подходы на удивление идентичны игре в рулетку когда ты ставишь на черное/красное, если стоп лосс меньше тейк профита, то ставка идет на поле 1/3 или просто покрывается часть поля фишками, поэтому рекомендую тебе поиграться в интернет казино на демо деньги и достаточно быстро проверить все теории. Так вот, почему я вспомнил Казино, как известно во всех играх в казино при обычной игре игрок имеет отрицательное мат ожидание, а казино положительное, т.е. что бы игрок не вытворял он всегда будет в минусе при бесконечном количестве игр, а наедятся на выигрыш в коротком промежутке сродни лотерее (не будем брать рекламные лотереи где фонд больше вклада игроков, в таких не участвует только глупец, но это крайняя редкость). Почему отрицательное? потому что шансы на выпадение черного/красного всегда меньше 50% и новый бросок шарика никак не зависит от прошлого (твоя прошлая убыточная сделка никак не говорит что шанс выйграть если ты развернешься или продолжишь в том же направлении больше 50%) (аналогию под другие игры проведете сами). Но есть игра Блэк Джек, в которой текущий розыгрыш зависит от прошлого, введу того что играют ограниченным количеством карт которые долгое время не перемешиваются, и той или иной простой методикой можно просчитать что осталось в колоде и каковы твои шансы получить ту или иную карту. По этой методике даже фильм сняли основанный на реальных событиях к слову про студентов MIT, называется "Двадцать одно", фильм хороший, глянь. Но к чему я это? а то что выйграть/заработать (нужное подчеркнуть =) ) можно только просчитав шансы на следующий ход. Подобная стратегия этого сделать не позволяет, а значит не имеет права на жизнь.

Итог: необходимо найти стратегию или ситуацию которая объективно дает шанс заработать более 60-65% (чтобы покрыть спред и комиссию) а уже потом можно изощрятся с подбором ММ но не в коем случае не мартышкой, для подобных целей очень ползена книга Ральфа Винса - Математика управление капиталом. Да он говорит что имея шансы на выигрыш менее 50% можно выигрывать постоянно, но речь идет о ситуации когда стоп в разы меньше профита.


Почему не позволяет? Тут идет отслеживание рыночной тенденции, такой,как амплитуда колебаний, и периода этих колебаний, а они зависят от прошлого и насколько я знаю меняются довольно плавно, то есть имеют тенденцию сохраняться на небольшом промежутке времени. Но за книгу спасибо, я почитаю её, в любом случае что-то полезное узнаю. Мартышка в данном случае рассматривается, не как инструмент безубыточной торговли, а как инструмент позволяющий накопить прибыль. Ведь из пяти раз, шанс поймать тренд намного выше, чем из одного, а рост лота может потенциально позволить пропорционально расти и прибыли. Ставку хочу сделать на то, что прибыль в конечном счете случается чаще, чем убыток. Только нужно отследить, когда закончится тренд, и когда закрывать профит. В отличии от рулетки, на рынке больше инструментальных возможностей, перед нами стоит выбор не просто поставить на красное, а когда, через какой промежуток добавить или убрать часть позиции, и сколько поставить. К тому-же на рынке все-таки есть некоторые постоянно работающие закономерности. Тот-же тренд можно рассматривать, как ситуацию, когда на продолжительном промежутке времени выпадает красное....
Maxim Romanov
5053
Maxim Romanov  
sayfuji:
Кстати keep одну дельную мысль высказал. Я сам хотел задать этот вопрос.То есть почему точке входа уделяется только третьестепенная роль.Я понимаю, что задача - правильно настроить мартин.Но ведь не будем забывать что мартин - это способ управления капиталом. А в основе всего- система. Но не суть. Буду вечером - изложу несколько идей по данному подходу. Есть наработки.


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

Автор, Вы думаете если система расписана на 17 листах, то она от этого имеет бОльшую ценность?)

Maxim Romanov
5053
Maxim Romanov  
YOUNGA:

Честно говоря плохой результат (кстати почему по контрольным точкам)




Там не влияет по контрольным точкам, или по всем тикам. Просто по контрольным точкам быстрее работает, по тикам 1 месяц 1,5 часа тестируется.
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий