Harmonics XABCD Strategy

Создано: 12 июл 2025 · Обновлено: 12 июл 2025

Стратегия Harmonics XABCD — это механическая стратегия уровня Premium для платформы NinjaTrader 8. Стратегия может помочь пройти программы финансирования трейдеров (trader funding programs).

Требования

Чтобы правильно использовать эту стратегию, у вас должны быть доступны следующие требования.


Важное предупреждение

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

Эта стратегия основана на входах в сделки по гармоническим паттернам XABCD. Эти паттерны задаются точками свингов, обычно обозначаемыми X, A, B, C и D, которые образуют отрезки, по которым рассчитываются соотношения — например, соотношение AB/XA, получаемое делением коррекции отрезка AB на начальное движение XA. Когда каждый отрезок соответствует заданным правилам соотношений, паттерн распознаётся.

Если вы хотите узнать больше о гармонических паттернах XABCD, посмотрите страницу индикатора Harmonics XABCD.

Примеры настройки входа

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

Пример #1: Bullish Butterfly

Стратегия распознала бычий паттерн Butterfly. Через один бар после обнаружения паттерна стратегия открыла длинную сделку с целью 1.5x от стоп-дистанции (ценой свинга D паттерна), что привело к прибыльной сделке. В этом примере стратегия настроена на вход сразу по закрытию бара, без ожидания подтверждающего бара.

Пример бычьего паттерна Butterfly
Нажмите, чтобы увеличить
Пример #2: Перекрывающиеся паттерны Butterfly

Этот пример показывает особенность стратегии, которая встречается часто: перекрывающиеся паттерны. Два паттерна Butterfly были обнаружены один поверх другого — в этом случае стратегия входит по первому действительному паттерну.

Пример перекрывающихся паттернов Butterfly
Нажмите, чтобы увеличить
Пример #3: Бычий Gartley по тренду

Гармонический паттерн Gartley XABCD — это паттерн, следующий за трендом. Две последовательные сделки были открыты по двум паттернам Gartley, совпадающим с направлением тренда.

Пример бычьего паттерна Gartley
Нажмите, чтобы увеличить
Пример #4: Убыток, предотвращённый фильтром тренда

Этот пример иллюстрирует, как Trend Filter не даёт открывать сделки против тренда. Фильтр анализирует точки свингов, чтобы определить преобладающее направление: восходящая последовательность свингов ограничивает стратегию только входами в лонг. На этом графике он предотвратил две убыточные короткие сделки, которые иначе сработали бы по действительным паттернам Gartley против тренда.

Фильтр тренда, предотвращающий сделки против тренда
Нажмите, чтобы увеличить

Возможности

Стратегия Harmonics XABCD обладает набором уникальных возможностей:

  • Надёжная собственная реализация алгоритма распознавания гармонических паттернов XABCD
  • Отложенные ордера не выставляются — только рыночные ордера, поэтому не бывает отклонённых или частично исполненных ордеров
  • Полностью автоматическая стратегия, которую можно масштабировать на неограниченное количество экземпляров с одной лицензией
  • Точное бэктестирование в соответствии с официальными рекомендациями NinjaTrader, обеспечивающее точное тестирование входов и выходов на уровне тиков
  • Надёжная собственная библиотека управления ордерами, устойчивая к потере соединения и безупречно работающая со счетами Rithmic или Tradovate
  • Командные кнопки на графике для ручного управления позициями при необходимости
  • Очень легковесная стратегия, которая может работать в нескольких экземплярах даже на маломощном VPS
Динамическое количество и управление рисками

Как и во всех наших стратегиях, здесь реализованы два метода задания количества открытых позиций:

  • Fixed Quantity: используется одинаковое количество для каждой позиции. Если Stop Loss различается между позициями, суммы выигрыша и убытка тоже будут различаться.
  • Dynamic Risk-Adjusted Quantity: рассчитывает количество каждой позиции по её Stop Loss, максимальному риску (в $) на позицию и максимально допустимому количеству — обеспечивая одинаковые суммы выигрыша и убытка по всем позициям независимо от ширины Stop Loss.
Управление позицией

Как и во всех наших стратегиях, здесь реализовано несколько методов управления позицией:

  • ATM Strategy: полностью передаёт управление позицией вашей собственной ATM-стратегии, выбираемой из выпадающего списка.
  • Classical Trailing Stop: подтягивает Stop Loss на основе триггера и величины трейлинга.

Стратегия также позволяет задавать Stop Loss на основе нескольких стратегий, а Take Profit — на основе соотношения; подробности см. в разделе «Параметры».

Управление счётом

Стратегия реализует дневные триггеры остановки торговли на основе чистого количества прибыльных позиций, чистого количества убыточных позиций либо целевой чистой реализованной прибыли или убытка.

Параметры

Мы стараемся сводить количество параметров к минимуму — выведены только самые важные.

General
Execute Historical TradesВключает выполнение сделок, когда стратегия работает в режиме Historical, Backtest или Optimization — полезно для проверки результатов на прошлых днях, но при работе в Live этот параметр нужно снять.
Daily TakeProfit TargetСтратегия прекращает торговлю на день, как только будет достигнута эта дневная цель по прибыли. Игнорируется при значении 0.
Daily StopLoss LimitСтратегия прекращает торговлю на день, как только будет достигнут дневной лимит убытка (положительное значение — например, 300 останавливает торговлю, когда реализованный PnL ≤ -$300). Игнорируется при значении 0.
Stop @ Winning CountПрекращает торговлю на день, как только количество чистых прибыльных сделок достигнет этого значения. Игнорируется при значении 0.
Stop @ Losing CountПрекращает торговлю на день, как только количество чистых убыточных сделок достигнет этого значения. Игнорируется при значении 0.
Execute on Different InstrumentВыполняет сделки на инструменте, отличном от инструмента активного графика — например, логика работает на Minis, а исполнение на Micros. Весь расчёт риска выполняется по инструменту исполнения, а сделки на другом инструменте на графике не отображаются.
Execution InstrumentВыберите из списка Micros, доступных в вашем подключении NinjaTrader, инструмент, на котором будут исполняться сделки. В этом случае сделки на графике не отображаются.
Order LabelМетка, добавляемая к каждой позиции, отправляемой брокеру; полезна, чтобы отличать ваши ордера от ордеров других пользователей этой стратегии.
Enable/Disable Trading Days Ограничивает торговлю в определённые дни недели.
  • Trade Mondays: включает торговлю по понедельникам и в воскресенье вечером, когда открываются фьючерсные рынки
  • Trade Tuesdays, Wednesdays, Thursdays, Fridays: то же самое для каждого дня недели
XABCD Harmonics
Swing PeriodЗадаёт, сколько баров должно разделять два свинга одного типа, прежде чем новый свинг отменит предыдущий. Увеличение этого параметра уменьшает общее количество обнаруживаемых свингов, уменьшение — увеличивает. Он заметно влияет на качество паттернов: больше свингов — больше паттернов, и наоборот.
Show Price SwingsВключает/отключает отрисовку метки под/над ценовыми точками свингов — полезно, чтобы видеть, как анализируется структура рынка, ведь точки свингов являются базовыми элементами алгоритма распознавания паттернов.
Swing Bullish Color / Swing Bearish ColorЗадаёт цвет кисти для низких (бычьих) и высоких (медвежьих) точек свингов.
Swing Opacity (1-100)Непрозрачность отрисовки точек свингов: 1 — прозрачный, 100 — полностью непрозрачный.
Enable Gartley / Enable Bat / Enable Crab / Enable Butterfly / Enable Shark / Enable CypherВключает/отключает торговлю каждым конкретным гармоническим паттерном.
Gartley/Bat/Crab/Butterfly/Shark/Cypher Ratio Tolerance %Задаёт допуск в процентах, применяемый к правилам соотношения отрезков каждого паттерна — например, при допуске 10% соотношение отрезка, которое должно быть около 0.368, может находиться в диапазоне от 0.368 - 10% до 0.368 + 10%.
Entry Setup
Time Zone Часовой пояс, используемый для параметра Trade Time ниже. Фьючерсные рынки работают по восточному времени США (EST), поэтому этот параметр позволяет задать торговый интервал относительно часового пояса вашего компьютера.
  • EST, CET или Local Time
Trade Time (hh:mm-hh:mm,...)Последовательность временных интервалов, в которые стратегии разрешено открывать сделки — например, 09:30-16:15 для регулярных торговых часов по EST. Можно указать несколько интервалов в порядке возрастания, например «00:01-08:00,09:55-15:55,18:01-23:59», чтобы охватить расширенные часы с перерывом вокруг волатильного периода и разрывом на полночь, чтобы избежать проблем с переходом между днями.
Quantity Strategy
  • Fixed Quantity: фиксированное количество на сделку; пропускается, если рассчитанный риск превышает Target Risk Per Trade ($)
  • Risk Adjusted: динамический размер контракта, рассчитываемый по цене Stop Loss и Target Risk Per Trade ($)
Max QtyМаксимально допустимое количество при выбранном Risk Adjusted — полезно, так как некоторые проп-фирмы устанавливают ограничения на количество ордеров, которые могут привести к нарушению счёта.
Entry Mode Триггер для входа в сделку после того, как паттерн XABCD распознан и подтверждён.
  • Immediate on Bar Close: входит в сделку сразу, как только паттерн подтверждён на закрытии следующего бара
  • Wait For Bar Confirmation: ждёт подтверждающего бара — бычьего бара, закрывшегося выше максимума предыдущего бара для входа в лонг, или медвежьего бара, закрывшегося ниже минимума предыдущего бара для входа в шорт
SuperTrend Entry FilterОграничивает входы в лонг периодами, когда SuperTrend бычий, а входы в шорт — когда он медвежий.
Swing Trend Entry FilterФильтрует входы, сравнивая первую точку свинга паттерна XABCD с предыдущим ценовым свингом: для бычьего входа предыдущий свинг должен быть ниже паттерна (продолжение восходящего тренда), а для медвежьего — выше.
Order QtyИспользуется только при Quantity Strategy Fixed — фиксированное количество на сделку.
Order Management
Order Management Strategy
  • ATM Strategy: полностью передаёт управление позицией шаблону ATM-стратегии NinjaTrader на ваш выбор
  • Classic Trail Stop: подтягивает Stop Loss на основе триггера и величины трейлинга (см. параметры Trailing Stop ниже)
  • None: вместо этого используется Stop Loss, заданный через Target Risk Per Trade ($)
ATM Strategy Template NameИспользуется только с методом управления ордерами ATM Strategy — точное название шаблона вашей ATM-стратегии. Должно совпадать с существующим шаблоном, иначе позиция не будет открыта.
Scale out % Qty at % TargetЗакрывает процент количества позиции, когда цена достигает процента от цели по прибыли (при дробном значении округляется вниз — например, 50% от позиции в 5 лотов закроет 2 контракта).
Scale out at % TargetПроцент от цели по прибыли, который запускает механизм частичного закрытия.
Scale out % QtyПроцент количества, закрываемый механизмом частичного закрытия.
Enable Price BreakevenВключает/отключает механизм безубытка по цене.
Breakeven Price Strategy
  • Points: безубыток срабатывает по пунктам
  • Percentage: безубыток срабатывает по проценту достигнутой цели по прибыли
Breakeven Price TriggerДоступно, если включён безубыток по цене — значение триггера, при котором Stop Loss переносится в безубыток.
StopLoss Strategy
  • Pattern Defined: вычисляется по структуре самого паттерна XABCD
  • Last Swing: самый последний свинг-максимум (для шорта) или свинг-минимум (для лонга)
  • Fixed Currency Value: используется только Target Risk Per Trade ($)
  • Points: фиксированное количество пунктов от цены входа
TakeProfit Strategy
  • Fixed Currency Value: основан на Take Profit Currency
  • Points: фиксированное количество пунктов от цены входа
  • Pattern Extreme: противоположная экстремальная точка паттерна относительно цены входа (обычно точка A или C, в зависимости от паттерна)
  • Фиксированные соотношения прибыли к убытку: от 0.5:1 до 6:1
Target Risk Per Trade ($)Максимальный риск в долларах на позицию — проверяется перед открытием сделки: если рассчитанный Stop Loss не укладывается в этот лимит, сделка пропускается.
Max Allowed Risk Per ($)Используется только с количеством Risk Adjusted — определяет, насколько фактический расчётный риск может отклоняться от Target Risk, поскольку точное совпадение редко возможно.
Stop Loss Points / Take Profit PointsДоступно, когда соответствующая стратегия установлена на Points.
Stoploss offset PointsДобавляет смещение в пунктах к рассчитанному уровню Stop Loss — используется при расчёте риска на сделку.
Take Profit CurrencyСумма прибыли в долларах, используемая при выборе стратегии Fixed Currency Value.
Trailing Stop Parameters
Trailing Stop Strategy
  • Points: триггер и величина трейлинга рассчитываются в пунктах от цены входа
  • Ratio: рассчитывается как соотношение от величины Stop Loss, зеркально отражённое на выигрышную сторону
Trailing Stop TriggerТриггер (в пунктах или соотношении) для метода Classic Trail Stop.
Trail AmountВеличина (в пунктах или соотношении), на которую подтягивается Stop Loss после срабатывания триггера.
Super Trend
Видно только при включённом параметре SuperTrend Entry Filter.
SuperTrend ModeНа основе ATR или Adaptive (на основе цены закрытия/максимума/минимума свечи).
Period / Multiplier / Moving Avg. Type / SmoothСтандартные параметры расчёта SuperTrend: период, множитель полос, тип скользящей средней и период сглаживания.
Command Buttons
Стратегия выводит ручные командные кнопки на панели Chart Trader — убедитесь, что она отображается на активном графике.
Arm/Disarm ButtonsРучное включение/отключение входов в лонг или шорт — полезно, если у вас есть направленный прогноз.
Close Position ButtonНемедленно закрывает позицию по активному инструменту без перезапуска стратегии, которая после этого продолжит поиск новых сделок.
Increase / Decrease Qty ButtonИзменяет количество текущей активной позиции на ±1 контракт.
Set Breakeven ButtonПереносит Stop Loss открытой позиции в безубыток, если это улучшит его.

Отчёты о результатах

Прошлые результаты не гарантируют будущих результатов. Все результаты бэктестинга приведены исключительно для ознакомления.

  • Комиссии учтены по схеме комиссий NinjaTrader Lifetime license для реалистичных результатов.
  • Мы следуем официальному руководству NinjaTrader по точному бэктестированию внутри бара с использованием дополнительных рядов тиковых данных и используем только рыночные ордера — никогда отложенные — как в реальном времени, так и в режиме бэктеста.

Для этой стратегии пока не загружено ни одного отчёта о результатах.

Инструкции по загрузке и установке

Требования к лицензии

На automated-trading.ch вы можете либо оформить ежемесячную подписку для использования наших продуктов Premium, либо пользоваться бесплатными продуктами без подписки.

В обоих случаях вам нужно создать учётную запись, чтобы получить лицензию, которую можно использовать как для продуктов Premium, так и для бесплатных продуктов.

Чтобы получить лицензию, просто зарегистрируйтесь, а затем получите её на странице оплаты.

Важно: Это продукт уровня Premium. Его можно запускать в режимах Backtest, Playback и Optimization бесплатно; для запуска в реальном времени требуется действующая подписка Premium.
Скачать
Войдите, чтобы скачать этот файл.
Последняя версия v1.0.0.1 · Опубликовано 1 год назад
Количество загрузок этого файла: 214. Последняя загрузка: 1 день назад.

Вы также можете скачать эту стратегию, а также любую другую стратегию или индикатор automated-trading.ch, в любое время из централизованной страницы загрузок.

Шаги установки
1
Импортируйте загруженный .zip-файл в NinjaTrader с помощью пункта меню Import NinjaScript.
Нажмите, чтобы увеличить
2
Откройте новое окно графика, убедившись, что флажок Tick Replay установлен (если его не видно, перейдите в Tools → Options → Market Data и включите Show Tick Replay).
Нажмите, чтобы увеличить
3
Щёлкните правой кнопкой мыши по графику и выберите Strategies (или нажмите Ctrl+S), чтобы открыть диалог Add New Strategy, и убедитесь, что флажок Enabled установлен.
Нажмите, чтобы увеличить
4
После добавления стратегии она сначала работает на исторических данных графика, затем переключается в режим Real-Time и добавляет на панель Chart Trader текстовое поле для лицензии — убедитесь, что эта панель отображается.
5
Вставьте вашу лицензию (найденную на странице биллинга) в текстовое поле и нажмите Check License.
Нажмите, чтобы увеличить
6
После проверки кнопка «Check License» становится зелёной вместе с датой следующей проверки — повторять проверку нужно только после этой даты.
7
Без активной подписки стратегию всё равно можно запускать в режимах Playback и Historical, чтобы сначала её протестировать.

Часто задаваемые вопросы

Общие

VPS — хорошее решение, но не обязательное: для большинства пользователей достаточно недорогого Windows VPS.

Да, если каждый экземпляр работает с уникальным инструментом. NinjaTrader объединяет ордера в одну позицию на инструмент в рамках счёта, поэтому два экземпляра на одном инструменте работать не будут.

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

Да — стратегия создана именно для этого и без проблем работает с Rithmic, брокером NinjaTrader, Tradovate или любым другим провайдером, подключённым к вашей платформе NinjaTrader.

Она полностью автоматическая, но кнопки управления также позволяют вручную управлять сделками, если вы предпочитаете полуавтоматический режим.

Автоматические стратегии торгуют круглосуточно, исполняют сделки быстрее и точнее, исключают психологию и эмоции из уравнения и могут масштабироваться до десятков или сотен экземпляров. Это действительно пассивный доход, а не очередная изматывающая ручная работа.

Да — если у вас есть идея, которая может улучшить стратегию, свяжитесь с нами через страницу контактов.

Нет, исходный код защищён по соображениям авторского права.
Оплата

Да, вы можете отменить подписку на странице учётной записи в любое время, чтобы не допустить будущих платежей. Мы не можем вернуть деньги за неиспользованную часть подписки, однако вы сможете пользоваться ей до конца расчётного периода.

Нет, пробного тарифного плана мы не предлагаем, но вы можете скачать продукт и протестировать его в режимах backtest и playback до оформления подписки.

Мы не предоставляем полный или частичный возврат средств, однако вы можете в любое время отменить подписку, чтобы прекратить будущие платежи.
Скептики

Я профессионально занимаюсь разработкой программного обеспечения с 2010 года и создаю автоматические торговые стратегии с 2012 года — как для себя, так и для клиентов по всему миру. Я также работал в сфере финансов и инвестиционного банкинга. Я не маркетолог, и разработку стратегий я не передаю на аутсорсинг.

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

Отложенные (лимитные) ордера обеспечивают лучшее исполнение по цене и некоторую защиту от сбоев связи, но их могут отклонить при высокой волатильности, они требуют активного сопровождения и видны брокеру. Рыночные ордера гарантируют исполнение независимо от волатильности, невидимы для брокера до отправки и исполняются быстрее. Их единственный реальный недостаток в том, что при потере соединения отправить их вообще нельзя. Ордера MIT (market-if-touched) в NinjaTrader — надёжная альтернатива, если вам нужно именно поведение отложенных ордеров.

Мы следуем официальному руководству NinjaTrader по точному бэктестингу с внутрибарной детализацией, используя дополнительные серии тиковых данных. Не верьте нам на слово: запускайте бэктест в конце каждого торгового дня и сравнивайте его с реальными сделками стратегии за тот же день.

Примечания к релизам

  • First release of the strategy
discord
Присоединяйтесь к нашему сообществу в Discord
Есть вопросы, отзывы или просто хотите пообщаться с другими трейдерами? Заходите.
Присоединиться к Discord
Основные сведения
Платформа NinjaTrader 8
Категория Стратегия
Требуемый план Premium
Последняя версия v1.0.0.1
Последнее обновление 1 год назад
Загрузки 214