Открыть на GitHub

Схема стратегии «Фрактальный трейлинг-стоп»

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

Обзор стратегии

  • Всё питается одной серией свечей, и она настроена выдавать только завершённые свечи, поэтому ни один уровень и ни одна заявка не строятся на цене, которую последующий тик ещё может отыграть назад.
  • Highest и Lowest берут экстремум последних пяти свечей, а Previous value возвращает свечу двухбарной давности, и два конвертера читают её максимум и минимум.
  • Когда максимум свечи, отстоящей на два бара, оказывается наибольшим в окне, эта свеча — верхний фрактал; зеркальная проверка по минимуму отмечает нижний фрактал. Фиксирующая переменная хранит цену каждого фрактала и отдаёт её только на том баре, где проверка прошла.
  • Формула прибавляет процент буфера к цене верхнего фрактала и вычитает его из цены нижнего, превращая фрактал в стоп-цену.
  • Ещё две формулы удерживают эти цены храповиком через min и max: верхний стоп может только снижаться, а нижний — только расти, именно это делает их трейлинг-стопами, а не обычными уровнями экстремумов.
  • Цена закрытия каждой завершённой свечи сравнивается с обоими стопами: выше верхнего стопа схема переворачивается в длинную сторону, ниже нижнего — в короткую.
  • Переворот — это пара кубиков: один закрывает то, что открыто, другой открывает новую сторону, а только что сработавший стоп отводится за пределы досягаемости на всё время жизни открытой им позиции.
  • Свечи, оба стоп-уровня и каждое исполнение рисуются в одной области графика, поэтому работу храповика видно прямо на картинке.

Правила входа и выхода

  • Вход в лонг: Цена закрытия завершённой свечи поднимается выше верхнего трейлинг-стопа. Position modify в режиме Close откупает короткую позицию, если она открыта, а Position modify в режиме Open покупает объём заявки, как только позиция обнулилась.
  • Вход в шорт: Цена закрытия завершённой свечи опускается ниже нижнего трейлинг-стопа, оставаясь при этом ниже верхнего. Та же пара кубиков работает в обратную сторону: сначала закрывается длинная позиция, затем продаётся объём заявки.
  • Выход: Отдельного правила выхода нет. Позиция удерживается до пробоя противоположного стопа, и этот пробой одновременно закрывает её и открывает обратную сторону, поэтому схема всегда либо в длинной позиции, либо в короткой, либо в одном исполнении от неё. Трейлинг-стоп подтягивается по мере появления новых фракталов — именно это ведёт цену выхода следом за открытой сделкой.

Параметры

Параметр По умолчанию Описание
Candles 00:05:00 Таймфрейм единственной серии свечей. Передаются только завершённые свечи, поэтому решение принимается один раз за бар.
Upper Fractal Length 5 Число свечей, по которым измеряется верхний экстремум. Проверяемая свеча находится в середине этого окна.
Lower Fractal Length 5 То же окно для нижнего экстремума; держите его равным верхнему, иначе две стороны будут определять фракталы разной ширины.
Fractal Shift 2 На сколько баров назад отстоит проверяемая свеча. Она должна быть центром окна: два для окна из пяти, три для окна из семи.
Stop Buffer, % 0 Процент, прибавляемый к цене верхнего фрактала и вычитаемый из цены нижнего перед использованием уровня. Ноль ставит стоп точно на фрактал; большее значение держит его чуть дальше от цены.
Order Volume 1 Размер заявки в лотах. Для обеих сторон используется один и тот же размер, поэтому переворот — это закрытие прежнего объёма, а следом открытие этого.

Детали диаграммы

  • Именно завершённые свечи не дают уровням перерисовываться. Кубик индикатора считает окончательным каждое переданное ему значение, поэтому ещё формирующаяся свеча была бы записана в Highest и Lowest, а затем перезаписана на следующем обновлении; выдача только завершённых свечей означает, что оба индикатора никогда не видят значения, которое может измениться.
  • Проверка фрактала выполняется по условию «больше или равно», а не «строго больше», поэтому плоская вершина, где у двух свечей одинаковый максимум, всё равно считается фракталом — как и двойное дно со стороны минимумов.
  • Фрактал по построению определяется с опозданием на две свечи, и схема не пытается это скрыть: полученный уровень — это уровень, верный два бара назад, и он используется с того бара, на котором стал известен.
  • Пока позиция открыта, стоп, который её открыл, отведён далеко за пределы досягаемости и взводится заново по первому фракталу, сформировавшемуся после того, как позиции не стало. Без этого схема продолжала бы подавать сигнал в ту сторону, в которой уже находится, а храповик утащил бы уровень так далеко от цены, что пересечь его было бы уже невозможно.
  • Если оба стопа вдруг окажутся пробитыми в один и тот же момент, приоритет у длинной стороны: у короткой ветки есть дополнительное условие — цена всё ещё ниже верхнего стопа, поэтому обе они никогда не срабатывают вместе.

Использование

Импортируйте файл .json в Designer, прогоните схему на исторических данных в тестере, затем подстройте параметры или сами кубики под свой инструмент, прежде чем торговать вживую.