Открыть на GitHub

Схема стратегии Armed Session Box

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

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

  • Пятиминутные свечи подписываются с промежуточными обновлениями, а блок Final value пропускает дальше только закрытые свечи; каждое решение на схеме принимается на завершённом баре.
  • Блок Working time размечает окно измерения, и переменная Variable типа свечи срабатывает по этому сигналу, поэтому до индикаторов доходят только свечи, попавшие в ночное окно, — бокс строится по этому окну и ни по чему больше.
  • Highest и Lowest по отфильтрованному потоку дают верх и низ бокса, а две переменные удерживают последние значения, чтобы остальная часть схемы могла обращаться к боксу на любой свече, спустя часы после измерения.
  • Market depth читается ради лучшей цены продажи и лучшей цены покупки, и ещё две переменные удерживают эти котировки в такт свечам: стакан обновляется сотни раз за бар и никогда не совпал бы с условием, построенным на свечах.
  • Формулы превращают бокс в его ширину в процентах от цены и в отступ от границы, отмеряемый от этой ширины, поэтому одни и те же две настройки значат одно и то же и на инструменте с ценой в десятки тысяч, и на инструменте с ценой в единицах.
  • Второй блок Working time открывает торговую сессию, а логическое условие собирает четыре ответа: бокс узкий, цена продажи держится в стороне от верха, цена покупки — в стороне от низа, а позиция нулевая.
  • Flag превращает это условие в одно взведение за сессию и фиксирует оба уровня; бокс за ними может быть перестроен следующей ночью, но взведённые уровни не сдвинутся.
  • Входы — рыночные заявки из нулевой позиции в момент, когда удержанная котировка достигает своего зафиксированного уровня, а дальше сделку ведёт Position protection.

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

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

Параметры

Параметр По умолчанию Описание
Candles 00:05:00 Таймфрейм серии свечей, на которой работает вся схема.
Box From 02:00:00 Начало окна, в котором измеряется бокс.
Box Until 07:59:59 Конец окна измерения; последняя свеча, открывшаяся до него, ещё учитывается.
Box Top Length 72 По скольким свечам окна измерения берётся верх бокса.
Box Bottom Length 72 По скольким свечам окна измерения берётся низ бокса.
Max Box Width, % 3 Самый широкий бокс в процентах от цены, который ещё считается достаточно спокойным для торговли.
Edge Margin, % 20 На каком расстоянии от границы должна стоять цена в момент взведения, в процентах от высоты бокса.
Session From 08:00:00 Начало сессии, в которой разрешены взведение и входы.
Session Until 20:00:00 Конец сессии; после него Flag освобождается, а состояние взведения обнуляется.
Order Volume 0.01 Объём заявки, отправляемой обоими входами.
Take Profit, % 1 Дистанция тейк-профита в процентах от цены входа.
Stop Loss, % 1 Дистанция стоп-лосса в процентах от цены входа.

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

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

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

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