Неожиданная торговая идея, возникшая в ходе реализации прошлого робота, выглядит прибыльно. Разбираю причины ее прибыльности и строю новую стратегию на ее основе.
Случайная находка
В начале разработки торгового робота Pip, тестируя технические нюансы открытия позиций, я увидел то, чего не ожидал:
Более того, с точки зрения прибыльности это работало достаточно хорошо:
Но не вписывалось в ту торговую идею, над которой я работал.
Теперь, когда я закончил разработку и тестирование семейства роботов Pip, с его базовой стратегией дополнять позиции во время отката тренда, я хочу разработать эту, внезапно найденную, концепцию
Идея: Тренд длиннее
Торговая идея заключается в том, что тренд обычно значительно длиннее, чем момент консолидации.
Если открывать позиции с каким-то шагом, то пул позиций по тренду будет всегда прибыльным, в то время как (потенциально) пул убыточных сделок, возникающих во время консолидации, будет короче.
То есть, при равном объеме позиций и сохранении соотношения тренд длиннее консолидации будет получаться прибыль.
Возможная стратегия:
- Взять TrendEnvelopes или какой-нибудь индикатор Билла Уильямса, и открывать сделки на каждом баре.
- Использовать соотношение объема торгов быки/медведи.
- Использовать awesome oscillator и увеличивать/уменьшать объём консолидированной позиции на каждом баре в соответсвии со значением осциллятора.
1 и 2 варианты представляют собой более простую модель, но не третий. Поскольку объем меняется пропорционально развитию тренда, эта производная представляет экзистенцию идеи.
Про 3 вариант (рабочий) подробнее:
Открывается маленькая позиция, по мере развития тренда позиция пропорционально растёт, по мере затухания тренда - сокращается.
Примечания:
- увеличивать позицию надо на разницу значений осциллятора;
- лот считается динамически, поэтому нужно ввести коэффициент (линейное увеличение), вместо прямого указания лота.
Преимущества:
- малый объём при неопределенном рынке = малые убытки во время флетов;
- чем значительнее тренд — тем больше прибыль;
- нет проблем с закрытием позиций (не случится ложного пробития из-за рыночного шума).
Недостатки (и методы борьбы с ними):
- позиция будет увеличиваться в локальных пиках тренда, прямо перед коррекцией, и сокращаться все время этой коррекции — можно исправить односторонним механизмом (только наращивать и закрывать пул при смене тренда);
- если рынок выстрелил большим баром, но сразу же развернулся (например, на публикации новостей), то откроется большая позиция, которая пойдёт сразу в убыток — можно исправить ограничением объема новой позиции;
- неуправляемое накопление объема позиции — нужно работать с малыми объемами и вводить какие-то ограничители без потери для общей стратегии ( взять инструмент с малой размерностью лота).
Реализация 1 стратегии
Поскольку стратегия нашлась во время реализации текущего этапа разработки, я просто оставил эту версию без изменений Pip 1 и теперь Poole 1, представляет первую торговую стратегию:
Используя сигнал TrendEnvelopes открывать новую позицию установленного объема по тренду каждый новый бар, закрывать пул позиций при смене тренда.
Учитывая описанные выше оговорки, включая риск менеджмент, я использую минимальный лот, но торговый инструмент и таймфрейм придется поискать.
Мда, хотя выглядит хорошо, результат нестабилен; в среднем для первой стратегии получается небольшой убыток, а не прибыль.
Придется использовать второй или третий вариант этой стратегии, чем я займусь в следующий раз, поскольку нужно будет писать новый алгоритм с нуля. Может сниму видео, как создается такой робот.