Открыть на GitHub

Пробой Боллинджера с сессионным циклом заявок

Схема превращает двусторонний пробой Боллинджера в наглядный жизненный цикл отложенных заявок. Закрытая свеча вне Bollinger Bands(20, 1) регистрирует вход на пробитой полосе, исполнение создаёт встречный лимит на движущейся средней, Order replacing ведёт его за линией, а завершение сессии 07:00-20:00 вызывает Mass order cancellation и обнуляет позицию.

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

  • Завершённые пятиминутные свечи поступают в Bollinger Bands с периодом 20 и шириной 1, а close используется двумя сравнениями пробоя.
  • Working time разрешает новые входы только с 07:00 до 20:00, а общий гейт Position == 0 сознательно делает схему flat-only.
  • Подтверждённый верхний пробой регистрирует buy limit на верхней полосе; нижний пробой зеркально ставит sell limit на нижней.
  • Фактический Trade.Volume исполнения входа задаёт объём встречного выхода на средней, поэтому частичное или нестандартное исполнение не заменяется константой.
  • Combination хранит свежую заявку из Order replacing, а исполнение выхода или завершение Working time снимает все оставшиеся рабочие заявки.

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

  • Вход в лонг: Внутри Working time завершённый close выше верхней полосы при Position == 0 регистрирует лимитную покупку по значению этой полосы.
  • Вход в шорт: Внутри Working time завершённый close ниже нижней полосы при Position == 0 регистрирует лимитную продажу по значению этой полосы.
  • Выход: После исполнения входа встречный лимит ровно на исполненный объём ставится на средней Боллинджера и переносится к каждому свежему значению линии. Его исполнение снимает остатки заявок. Вне 07:00-20:00 снимаются все заявки, а Modify position закрывает рыночной заявкой открытый лонг или шорт.

Параметры

Параметр По умолчанию Описание
Candle Time Frame 00:05:00 Интервал завершённых свечей схемы; для месячного replay адаптирован с четырёхчасового дефолта C#.
Bollinger Period 20 Length полос Боллинджера и настоящий параметр C#-стратегии.
Bollinger Width 1 Множитель стандартного отклонения Bollinger и настоящий параметр C#.
Session Start 07:00:00 Начало Working time, добавленное из README источника, а не из конструктора C#.
Session End 20:00:00 Конец Working time; вне окна схема снимает заявки и обнуляет позицию.
Order Volume 1 Размер каждой входной заявки; объём выхода берётся из фактического исполнения входа.

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

  • Исполняемый C# использует четырёхчасовые свечи. Пять минут — явная replay-адаптация: за месяц набирается достаточно завершённых значений и пробоев для приёмочного прогона галереи.
  • В конструкторе C# параметрами являются только BandPeriod, BandWidth и CandleType. Session Start и Session End взяты из соседнего README, реализованы через Working time; схема также выставляет наружу объём заявки.
  • C# допускает Position <= 0 для лонга и Position >= 0 для шорта, закрывая и разворачивая встречную позицию рыночными заявками. Учебная схема намеренно входит только при Position == 0 и не реализует переворот.
  • Форма исполнения тоже адаптирована: исходник входит и выходит по рынку, а схема ставит вход на пробитой полосе и поддерживает лимитный выход на средней. Входной лимит может ждать отката и не обязан исполниться сразу.
  • Order replacing возвращает новый объект заявки. Поэтому исходная и заменённая заявки каждой стороны сходятся в Combination, а выход замены не замыкается на её собственный вход.
  • Округление цены отключено: у replay-инструмента приёмочного теста нет шага цены. Сами уровни индикатора от этого не изменяются.

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

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