Stacked Imbalances Strategy
Создано: 07 янв 2024
·
Обновлено: 24 янв 2025
Стратегия Stacked Imbalances — это механическая стратегия класса Premium для платформы NinjaTrader 8. Это полностью автоматическая стратегия, которая может работать в автопилоте, а встроенные командные кнопки позволяют продлить её работу или вручную переопределить её решения. Стратегию можно использовать для прохождения оценочных челленджей проп-фирм.
Требования
Чтобы правильно использовать эту стратегию, вам понадобятся следующие компоненты.
- NinjaTrader 8, с любым типом лицензии. Нажмите здесь, чтобы скачать
- Аккаунт NinjaTrader с поддержкой OrderFlow, полученный либо покупкой пожизненной лицензии NinjaTrader, либо через лицензию, предоставленную программой финансирования трейдеров.
- Учётная запись automated-trading.ch с действующей подпиской Premium
Важное предупреждение
Настоятельно рекомендуем никогда не запускать свои алгоритмические торговые системы на реальные деньги, заработанные с трудом. Всегда минимизируйте риски и запускайте стратегии на программах финансирования трейдеров, чтобы максимальная сумма, которую вы можете потерять, равнялась ежемесячной плате за подписку на эти программы.
Стратегия Stacked Imbalances одновременно является трендовой и разворотной стратегией, основанной на предположении, что накапливающиеся дисбалансы объёма — это признак присущей рыночной микроструктуре неэффективности.
Стратегия реализует несколько схем входа на основе дисбалансов:
- Trend Mode: входит в лонг, когда возникает накопленный дисбаланс со стороны ask, или в шорт, когда возникает накопленный дисбаланс со стороны bid
- Reversal Mode: входит в лонг, когда обнаружены «запертые» продавцы при развороте цены вниз, или в шорт, когда обнаружены «запертые» покупатели при развороте цены вверх
- Auto Mode: автоматически переключается между режимами Trend и Reversal на основе Volume Profile предыдущего дня относительно текущего движения цены
Стратегия стремится быть прибыльной в долгосрочной перспективе, получая положительное математическое ожидание доходности при соотношении прибыльных и убыточных сделок выше 1. Её можно использовать с ценовым баром (Range или Tick) или с временным баром — рекомендуемые настройки для разных инструментов см. в разделе «Отчёты о результатах».
Примеры настройки входа
Вход в лонг в режиме продолжения тренда
Стратегия обнаруживает накопленный дисбаланс со стороны ask, который переводит её в состояние ожидания лонга, а затем ждёт, пока движение цены подтвердит сделку — например, закрытие свечи выше максимума предыдущей свечи. В одном из таких примеров сделка была открыта со Stop Loss и Take Profit $100 и объёмом 2 контракта на MES.
Вход в сделки в режиме разворота
Когда параметр Stacked Imbalances Entry Mode установлен в значение Reversal, накопленный дисбаланс со стороны покупок (buy-side) запускает вход в шорт, а накопленный дисбаланс со стороны продаж (sell-side) — вход в лонг. Например, лонг открывается после накопленного дисбаланса со стороны bid и подтверждающей свечи. Сделка оказалась прибыльной, поскольку дисбаланс отражал крупные лимитные ордера на покупку, которые зафиксировали прибыль после нисходящего тренда, а затем цена развернулась вверх.
Вход в лонг по сигналу «запертых» продавцов
Если включён только сетап Trapped Traders, накопленный дисбаланс со стороны bid на зелёной свече (агрессивные продажи оказались в ловушке или на этом уровне накопился большой объём лимитных ордеров на покупку) переводит стратегию в состояние ожидания, а свеча продолжения подтверждает вход. Один из таких сетапов дал прибыльную сделку в лонг с 2 контрактами на MCL и соотношением 1:1 для Take Profit и Stop Loss на уровне $100.
Управление ордерами «Dollar Cost Averaging» в действии
Когда в качестве стратегии управления ордерами используется DCA, объём позиции увеличивается на каждой закрывающейся свече в направлении прибыли. Цель — выйти в безубыток и закрыть позицию раньше, в безубытке или с небольшой прибылью. Это работает не всегда: иногда из-за увеличенного объёма стоп-лосс срабатывает раньше тейк-профита, и сделка закрывается с убытком. Перед использованием этого метода рекомендуется провести обширный бэктест на разных рыночных режимах, инструментах и таймфреймах, чтобы понять его долгосрочное влияние.
Сильный сигнал дисбаланса без подтверждения движением цены
Сильный накопленный дисбаланс со стороны продаж может перевести стратегию в состояние ожидания шорта, однако если цена не подтверждает движение (вместо этого она продолжает расти), сигнал на шорт отменяется. Этот пример показывает, почему подтверждение движением цены важно, а не демонстрирует реальную сделку.
Возможности
Стратегия Stacked Imbalances обладает набором уникальных возможностей:
- Производительный движок обнаружения дисбалансов собственной разработки
- Отложенные ордера не выставляются — только рыночные ордера
- Полностью автоматическая стратегия, которую можно масштабировать на несколько экземпляров
- Может работать как полуавтоматическая стратегия через интерфейс автоматической торговли на панели Chart
- Точное бэктестирование в соответствии с официальными рекомендациями NinjaTrader, обеспечивающее точное тестирование входов и выходов на уровне тиков
- Надёжная собственная библиотека управления ордерами, устойчивая к обрыву соединения и безупречно работающая со счетами Rithmic или брокерскими счетами NinjaTrader
Параметры
Мы стараемся минимизировать количество параметров — вынесены только самые важные.
| General | |
| Execute Historical Trades | Должен быть включён, когда стратегия работает в режимах Historical, Backtest или Optimization, и выключен при работе в режиме Live Real-Time. |
| Daily TakeProfit Target | Стратегия прекращает торговлю на день, как только дневная реализованная прибыль достигает этой суммы. При значении 0 не учитывается. |
| Weekly TakeProfit Target | Стратегия прекращает торговлю на неделю, как только после закрытия позиции достигнута эта недельная цель по прибыли. Сбрасывается в начале каждой новой недели. При значении 0 не учитывается. |
| Daily StopLoss Limit | Стратегия прекращает торговлю на день, как только после закрытия позиции достигнут дневной лимит убытка (указывается положительным числом — например, 300 останавливает торговлю, когда реализованный PnL ≤ -$300). При значении 0 не учитывается. |
| Stop @ Winning Count | Останавливает торговлю на день, когда чистое количество прибыльных сделок достигает этого значения. При значении 0 не учитывается. |
| Stop @ Losing Count | Останавливает торговлю на день, когда чистое количество убыточных сделок достигает этого значения. При значении 0 не учитывается. |
| Swings Period | Задаёт, сколько баров должно пройти, чтобы два свинга одного типа считались разными. Чем выше значение, тем меньше свингов всего; чем ниже — тем больше. Обычно используется значение 3 или 4. |
| Draw Price Swings | Включает/выключает отрисовку свингов на графике. Свинги в любом случае анализируются и обрабатываются — параметр влияет только на видимость. |
| Buy Imbalances Color / Sell Imbalances Color | Цвет зон накопленных дисбалансов на покупку / на продажу, отрисовываемых на графике. |
| Execute on Micros | Исполняет сделки на инструменте, отличном от инструмента активного графика — например, логика работает на мини-контрактах, а исполнение идёт на микро-контрактах для лучшего управления риском. Весь расчёт риска производится по инструменту исполнения. |
| Execution Instrument | Выберите из списка микро-контрактов, доступных в вашем подключении NinjaTrader, инструмент, на котором будут исполняться сделки. В этом случае исторические и текущие сделки на графике не отображаются. |
| Entry Setup | |
| Time Zone |
Часовой пояс, используемый для параметра Trade Time ниже. Фьючерсные рынки работают по времени US Eastern (EST), поэтому здесь вы можете задать торговый интервал относительно часового пояса своего компьютера.
|
| Trade Time | Задаёт интервал(ы) времени, в которые стратегия может открывать сделки — например, 09:30-16:15 для RTH по EST или 00:01-08:00,09:55-15:55,18:01-23:59, чтобы охватить RTH и ETH, исключив волатильные периоды. Интервалы должны перечисляться по возрастанию (в том числе интервал, переходящий через полночь на следующую сессию) и обрезаются в полночь, чтобы избежать проблем при переходе на новый день. |
| Quantity Strategy |
|
| Max Qty | Максимально допустимый объём при выборе Risk Adjusted — полезно, поскольку некоторые проп-фирмы ограничивают объём ордера, что может аннулировать счёт. |
| Trade Entry Mode |
|
| Order Qty | Объём на сделку при Quantity Strategy = Fixed — также используется для каждого увеличения объёма, если механизм управления ордерами наращивает позицию. |
| Enable Trapped Traders Entry | Включает/выключает вход по сигналам trapped traders — накопленный дисбаланс на свече разворота, за которым следует ценовой пробой максимума/минимума свечи дисбаланса вверх/вниз. |
| Enable Stacked Imbalances Entry | Включает/выключает трендовый сигнал входа — накопленный дисбаланс, за которым следует такое же подтверждение движением цены. |
| Stacked Imbalances Entry Mode |
Задаёт режим входа для Enable Stacked Imbalances Entry.
|
| VWAP Filter | Включает/выключает фильтр VWAP для входов — лонг открывается, только когда цена выше VWAP, шорт — только когда цена ниже VWAP. |
| Swing Filter |
Включает/выключает фильтр свингового тренда для входов, который анализирует последовательные свинговые экстремумы.
|
| Imbalances | |
| Min Imbalance Ratio | Минимальное соотношение диагональных объёмов bid/ask, при котором считается дисбаланс. |
| Min Imbalance Volume | Минимальный объём на сильной стороне (bid/ask), при котором считается дисбаланс. |
| Max Imbalance Gap (Ticks) | Допуск по разрыву между уровнями накопленных дисбалансов — дисбалансы, которые выстроены не идеально (с тиковыми разрывами между ними), всё равно считаются кластером, если этот параметр больше единицы. |
| Min Stacked Imbalance Count | Минимальное количество дисбалансов в кластере накопленных дисбалансов — обычно 3 и более. |
| Order Management | |
| Order Management Strategy |
|
| ATM Strategy Template Name | Используется только с методом управления ордерами ATM Strategy — точное название вашего шаблона ATM-стратегии, которое выбирается из выпадающего списка доступных шаблонов. |
| On Opposite Signal |
|
| StopLoss Strategy |
|
| TakeProfit Strategy |
|
| Target Risk Per Trade ($) | Максимальный риск в долларах на позицию — проверяется перед открытием сделки: если рассчитанный стоп-лосс не укладывается в этот лимит, сделка пропускается. |
| Max Allowed Risk Per ($) | Используется только с Risk Adjusted объёмом — определяет, насколько фактический расчётный риск может отклоняться от Target Risk (поскольку точного совпадения обычно не добиться). |
| Stop Loss Points | Доступен, когда стратегия стоп-лосса установлена на Points. |
| Stoploss offset Points | Добавляет смещение в пунктах к рассчитанному уровню стоп-лосса — используется при расчёте риска на сделку. |
| Take Profit Currency | Сумма тейк-профита в долларах, используется при выборе Fixed Currency Value. В остальных случаях задайте достаточно высокое значение, чтобы оно не мешало стратегиям на основе соотношений. |
| Enable Price Breakeven | Включает/выключает безубыток на основе цены. |
| Price Breakeven Strategy |
|
| Price Breakeven Trigger | Доступен, если включён безубыток по цене — значение триггера (в пунктах или в процентах от 1 до 100), необходимое для переноса стоп-лосса в безубыток. |
| Enable Time Breakeven | Включает/выключает безубыток по времени (в минутах). |
| Time Breakeven Trigger (Minutes) | Доступен, если включён безубыток по времени — количество минут, необходимое для переноса стоп-лосса в безубыток. |
| Trailing Stop Parameters | |
| Trailing Stop Strategy |
Используется с методом управления ордерами Classic Trail Stop.
|
| Trailing Stop Trigger | Триггер (в пунктах или соотношении) для метода Classic Trail Stop. |
| Trail Amount | Величина (в пунктах или соотношении), на которую подтягивается стоп после срабатывания триггера. |
| DCA (Grid) Parameters | |
| Breakeven Profit Shift | Используется с методом управления ордерами DCA — добавляет небольшую прибыль к определению безубытка, чтобы покрыть комиссии при закрытии сетки в безубытке. |
| Grid Size to Breakeven | Используется с методом управления ордерами DCA — количество увеличений ордера, необходимое до того, как можно будет рассмотреть закрытие позиции в безубытке. |
| Command Buttons | |
| Стратегия выводит кнопки ручного управления на панели Chart Trader — убедитесь, что она отображается на вашем активном графике. | |
| Arm/Disarm Buttons | Ручное включение/выключение входов в лонг или шорт — полезно, если у вас есть направленный прогноз. |
| Entry Mode Switch Button | Переключает режим входа стратегии между Trend и Reversal. |
| Close Position Button | Немедленно закрывает позицию по активному инструменту без перезапуска стратегии, которая продолжит поиск новых сделок. |
| Increase Qty Button | Увеличивает объём текущей активной позиции на величину, заданную в Order Qty — полезно для ручного усреднения или удвоения позиции после подтверждающего сигнала в направлении прибыли. |
Отчёты о результатах
Прошлые результаты не гарантируют будущих результатов. Все результаты бэктестинга приведены исключительно для ознакомления.
- Комиссии учтены по схеме комиссий пожизненной лицензии NinjaTrader для реалистичных результатов.
- Мы следуем официальному руководству NinjaTrader по точному бэктестированию с внутрибарной гранулярностью на основе дополнительных рядов тиковых данных и используем только рыночные ордера — никогда отложенные — как в режиме реального времени, так и в бэктесте.
Для этой стратегии пока не загружено ни одного отчёта о результатах.
Инструкции по загрузке и установке
Требования к лицензии
На automated-trading.ch вы можете либо оформить ежемесячную подписку для использования наших продуктов Premium, либо пользоваться бесплатными продуктами без подписки.
В обоих случаях вам нужно создать учётную запись, чтобы получить лицензию, которую можно использовать как для продуктов Premium, так и для бесплатных продуктов.
Чтобы получить лицензию, просто зарегистрируйтесь, а затем получите её на странице оплаты.
Скачать
Вы также можете скачать эту стратегию, а также любую другую стратегию или индикатор automated-trading.ch, в любое время из централизованной страницы загрузок.
Шаги установки
Часто задаваемые вопросы
Общие
Оплата
Скептики
Примечания к релизам
- Added CET timezone; Added Fair Value Gap entry filter; Added 1.5:1 take profit option; Fixed fixed-value take profit interference with dynamic mode; Optimized memory usage on optimizations; Added Points as stoploss option; Added Risk per trade / max allowed risk parameters; Added StopLoss Offset Points parameter; Upgraded price breakeven methods; Added time based breakeven; Better dynamic quantity calculation; Added Points based take profit; Added Weekly take profit target
- Fix duplicate Chart Panel controls
- Added Execution on Micros; Added new trail stoploss method; Added stoploss offset in points; Various Fixes
- Added Breakeven option; Removed maximum count of trades as daily stop trade method
- Bug Fix: error on render method
- Bug Fix: Max Currency Risk should not take over stoploss price
- Added additional daily stop strategies; Added Risk adjusted quantity strategy; Added Auto switch Trend/Reversal entry modes; Added VWAP filter for entries; Added Swing direction filter for entries
- Major update: adding ATM Strategy management capabilities
- Added Entry Mode Switch to command buttons
- Bug Fix: Last Swing StopLoss method was incorrect
- User Friendly parameter value options; Better Swing analysis; Rendering of imbalances zones from within strategy; Added Take profit strategy; Strategy became Premium
- First Release of the strategy as a free strategy