Открыть на GitHub

Схема стратегии Bands Confirmed Reversion

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

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

  • Всю схему питает одна серия пятнадцатиминутных свечей, и каждое входящее в неё значение сначала проходит через блок Final, поэтому дальше по схеме никогда не попадает свеча, которая ещё формируется.
  • На этом потоке работают три индикатора: полосы волатильности вокруг скользящей средней, ценовой канал по максимумам и минимумам и средний истинный диапазон, который измеряет обычную ширину свечи.
  • Конвертеры разделяют полосы на верхнюю и нижнюю линии, канал — на верхнюю и нижнюю границы, а из каждой завершённой свечи достают цену открытия, цену закрытия, максимум и минимум.
  • Два блока Previous value хранят границы канала с предыдущей свечи, а два сравнения спрашивают, перестала ли нижняя граница снижаться и перестала ли верхняя граница расти: именно это в схеме и означает, что канал держится.
  • Каждый из этих двух ответов взводит блок N values, который затем отсчитывает заданное число завершённых свечей и выдаёт один импульс подтверждения; повторный взвод во время счёта игнорируется.
  • Логическое условие сводит вместе пять вещей для длинной стороны: свеча открылась ниже нижней полосы, закрылась обратно выше неё, нижняя граница канала держится прямо сейчас, только что пришёл импульс подтверждения, а позиция нулевая. Короткая сторона — то же условие, зеркально отражённое относительно верхней полосы и верхней границы канала.
  • Оба входа — рыночные заявки через блоки Position modify, настроенные на открытие только из нулевой позиции, поэтому сигнал, пришедший во время уже идущей сделки, не может нарастить вторую поверх неё.
  • Два блока Combination собирают причины выхода — стоп-дистанцию, построенную от среднего истинного диапазона, и закрытие за пределами канала предыдущей свечи — и передают их закрывающим блокам Position modify, а панель графика рисует свечи, все три индикатора, заявки и сделки.

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

  • Вход в лонг: Завершённая свеча открылась ниже нижней полосы и закрылась обратно выше неё, нижняя граница канала находится на уровне предыдущей свечи или выше, длинный считающий блок только что выдал своё подтверждение, а позиция нулевая. Тогда блок Position modify покупает объём заявки по рынку. Именно счёт разводит сделки во времени: после каждой выдачи блок взводится заново на следующей свече, где нижняя граница канала всё ещё держится, поэтому тот же паттерн на самой следующей свече второго входа не даст.
  • Вход в шорт: Зеркальное отражение. Завершённая свеча открылась выше верхней полосы и закрылась обратно ниже неё, верхняя граница канала находится на уровне предыдущей свечи или ниже, короткий считающий блок выдал своё подтверждение, а позиция нулевая. Блок Position modify продаёт объём заявки по рынку.
  • Выход: У каждой стороны свой блок Combination, который держит два вида причин. Первая — стоп по волатильности: длинная позиция закрывается, когда минимум свечи опускается ниже нижней полосы минус средний истинный диапазон, умноженный на множитель стопа, а короткая — когда максимум свечи поднимается выше верхней полосы плюс та же дистанция. Поскольку полоса движется вместе с рынком, такой стоп подтягивается сам, и схеме не нужно запоминать цену входа. Вторая причина — пробой канала: цена закрытия выше верхней границы канала предыдущей свечи или цена закрытия ниже его нижней границы завершает сделку на любой из сторон — вверх это забирает прибыль из длинной позиции, вниз — убыток из неё, и наоборот для короткой. Оба закрывающих блока настроены на закрытие позиции, поэтому каждый действует только на той стороне, которой принадлежит, и всегда отправляет весь объём.

Параметры

Параметр По умолчанию Описание
Candles 00:15:00 Таймфрейм единственной серии свечей, на которой работает вся схема. Более короткий даёт больше паттернов и больше сделок, более длинный — меньше и медленнее.
Bollinger Length 100 Число свечей, по которым усредняются полосы волатильности. Оно же задаёт прогрев: пока не пройдёт столько свечей, торговли нет.
Bollinger Width 1 На сколько стандартных отклонений от средней отстоит каждая полоса. Здесь оно держится узким, чтобы свечи регулярно открывались за полосой и закрывались обратно внутри; увеличьте его ради более редких и более резких отбоев.
Donchian Length 100 Число свечей, которые охватывает ценовой канал. Длинный канал делает свои границы медленными, и именно это превращает «граница перестала двигаться против нас» в осмысленный фильтр.
ATR Length 21 Число свечей, по которым измеряется средний истинный диапазон. Он задаёт единицу, в которой выражена стоп-дистанция.
Long Confirm Candles 5 Сколько свечей длинный считающий блок ждёт между взводом и выдачей своего подтверждения. Одна свеча полностью убирает ожидание и торгует каждый паттерн; большие значения прореживают входы.
Short Confirm Candles 5 Сколько свечей ждёт короткий считающий блок. Это отдельная настройка, чтобы две стороны можно было подстраивать друг относительно друга.
ATR Stop Multiplier 2 На сколько средних истинных диапазонов ниже нижней полосы стоит стоп длинной позиции и выше верхней полосы — стоп короткой. Уменьшите значение ради более плотных и более частых выходов.
Order Volume 1 Размер заявки, в лотах, отправляемой на вход. Выходы всегда закрывают то, что открыто, и собственного объёма не имеют.

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

  • Блок свечей настроен только на завершённые свечи, а стоящий за ним блок Final обеспечивает то же правило уже внутри схемы. Обновление формирующейся свечи несёт время открытия бара, и построенная по такому значению заявка оказывается помечена временем, отставшим от часов, и отклоняется, поэтому вся логика держится на завершённых свечах.
  • Блок N values считает значения, дошедшие до него после взвода; он не проверяет, что условие взвода оставалось истинным всё это время. Именно поэтому то же сравнение канала, которое его взводит, заведено и прямо во входное условие: импульс говорит, что ожидание закончилось, а живое сравнение — сохраняется ли ещё его причина.
  • Границы канала, используемые для выхода, берутся на одну свечу назад. Текущая верхняя граница канала по максимумам и минимумам уже содержит максимум самой текущей свечи, поэтому цена закрытия никогда не сможет подняться выше неё; относительно границы предыдущей свечи пробой — реальное событие.
  • Стоп привязан к полосе волатильности, а не к цене, по которой открылась сделка. У схемы нет памяти о цене входа, пока для неё не заведена переменная, а вход всё равно случился именно на полосе, поэтому она даёт ту же защитную дистанцию и движется вместе с рынком.
  • Позиция проверяется дважды, и это сделано намеренно: сравнение с нулём стоит внутри входного условия, а сами входные блоки настроены на открытие только при нулевой позиции. Первое сохраняет схему читаемой, второе действительно останавливает дублирующую заявку, если эти два события придут вразнобой.

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

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