Открыть на GitHub

Схема стратегии со случайным входом и трейлинг-стопом по ленте сделок

Большинство схем тратит свои кубики на то, чтобы решить, когда входить. Эта почти не тратит их на вход и всё отдаёт выходу. Вход здесь — подбрасывание монеты: кубик Random на каждой закрытой свече вытягивает число, и то, по какую сторону порога оно легло, определяет длинную или короткую позицию. Смысл примера в том, что происходит дальше, — трейлинг-стоп переставляется на каждой прошедшей сделке ленты, а не раз в свечу.

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

  • Пятиминутная серия свечей задаёт такт схемы. Каждая закрытая свеча — одно вытянутое число и одна попытка войти; больше ничто логику входа не продвигает.
  • Кубик Random запускается этой свечой и вытягивает число от нуля до единицы. Сравнение с порогом даёт длинную сторону, а логическое NOT того же ответа — короткую, так что одно сравнение обслуживает оба направления.
  • Текущая позиция привязывается к такту свечи переменной, которая удерживает её на своём входе и отдаёт по триггеру свечи; сравнение этого удержанного значения с нулём и есть проверка на отсутствие позиции.
  • Два логических AND соединяют монету с проверкой на отсутствие позиции. Оба их входа приходят на такте свечи, поэтому каждый вентиль разрешается ровно один раз за закрытую свечу.
  • У обоих входных кубиков задано условие открытия позиции, поэтому вентиль, продолжающий говорить «да», не может добавить к уже существующей позиции — схема держит одну позицию за раз и никогда её не переворачивает.
  • Вместе со свечами подписан поток тиков, и конвертер достаёт цену из каждой прошедшей сделки.
  • Position protection принимает сделки входа через Combination, а эту цену сделки — на сокет Price. Трейлинг включён, поэтому каждая сделка, уводящая позицию дальше в прибыль, тянет стоп за собой, и выход решается между свечами, а не на них.
  • Панель графика рисует свечи, обе входные заявки, защитную стоп-заявку и все сделки, так что вся жизнь позиции читается на одной панели.

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

  • Вход в лонг: На закрытой свече вытянутое число ниже порога, а удержанная позиция равна нулю. Длинный вентиль пропускает сигнал, и Position modify покупает объём заявки по рынку.
  • Вход в шорт: На той же закрытой свече вытянутое число больше порога или равно ему — это сравнение для длинной стороны, перевёрнутое логическим NOT, — а удержанная позиция равна нулю. Position modify продаёт объём заявки по рынку.
  • Выход: Сигнала на выход нет, take-profit тоже нет. Position protection ведёт позицию с первой же её сделки: ставит стоп в 0.5% от цены входа и при включённом трейлинге тянет его вверх за длинной позицией и вниз за короткой по мере того, как в ленте проходят более выгодные цены. Позиция закрывается рыночной заявкой в тот момент, когда сделка ленты касается этого уровня, и следующая закрытая свеча снова свободна для броска монеты.

Параметры

Параметр По умолчанию Описание
Candles 00:05:00 Таймфрейм серии свечей. Одна закрытая свеча — один бросок монеты и одна попытка войти.
Coin Threshold 0.5 Значение, с которым сравнивается вытянутое число. При 0.5 оба направления равновероятны; меньшее значение делает длинные позиции реже, большее — чаще.
Order Volume 1 Объём заявки, в лотах.
Trailing Stop, % 0.5 Дистанция трейлинг-стопа, в процентах от цены входа.

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

  • Кубик Random берёт числа из собственного источника случайных чисел стратегии, а не из глобального, поэтому повторный прогон той же истории даёт ту же последовательность бросков и тот же набор сделок.
  • Стоп задан в процентах от цены входа, а не фиксированным числом шагов цены. Одно и то же расстояние в единицах цены значит одно на инструменте с котировкой около 65 000 и совсем другое — на инструменте с котировкой около 5; проценты — единственная форма, которая годится и там, и там.
  • Именно подача цены из ленты сделок на сокет Price делает выход точным. Если бы цена бралась с закрытия свечи, тот же стоп проверялся бы всего двенадцать раз в час.
  • Стоп тянется непрерывно: его двигает любое улучшение цены, без дополнительного расстояния, которое цена должна сначала пройти, прежде чем стопу разрешат подвинуться снова.
  • Пока позиции нет, вход пробуется на каждой закрытой свече, поэтому схема обычно что-то держит, и защитному стопу всегда есть чем управлять.

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

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