Stacked Imbalances Strategy
Aangemaakt op 07 jan. 2024
·
Bijgewerkt op 24 jan. 2025
De Stacked Imbalances Strategy is een Premium-mechanische strategie voor het NinjaTrader 8-platform. Het is een volledig automatische strategie die op de automatische piloot kan draaien, terwijl de ingebouwde commandoknoppen je in staat stellen die handmatig te verlengen of te overschrijven. De strategie kan worden gebruikt om propfirm-evaluatie-challenges te halen.
Vereisten
Om deze strategie goed te gebruiken heb je de volgende vereisten nodig.
- NinjaTrader 8, met elk type licentie. Klik hier om te downloaden
- Een OrderFlow-compatibel NinjaTrader-account, verkregen door een Lifetime NinjaTrader-licentie te kopen of via een licentie die door een trading funding program wordt aangeboden.
- Een automated-trading.ch-account met een actief Premium-abonnement
Belangrijke disclaimer
We raden sterk aan om je algoritmische handelssystemen nooit met je hard verdiende echte geld te laten draaien. Beperk je risico altijd en draai je strategieën op trader-funding-programma's, zodat het maximale verlies gelijk is aan het maandelijkse abonnementsbedrag dat je aan die programma's betaalt.
De Stacked Imbalances-strategie is zowel een trend-volgende als een omkeerstrategie, gebaseerd op de aanname dat gestapelde volume-imbalances een symptoom zijn van inherente inefficiënties in de marktmicrostructuur.
De strategie implementeert meerdere op imbalances gebaseerde instapsetups:
- Trend Mode: stapt long in wanneer een gestapelde imbalance aan de ask-kant optreedt, of short wanneer een gestapelde imbalance aan de bid-kant optreedt
- Reversal Mode: stapt long in wanneer vastgezette verkopers worden gedetecteerd bij een omkering van de prijs naar boven, of short wanneer vastgezette kopers worden gedetecteerd bij een omkering naar beneden
- Auto Mode: schakelt automatisch tussen Trend- en Reversal-modus op basis van het Volume Profile van de vorige dag in verhouding tot de huidige prijsactie
De strategie streeft ernaar op de lange termijn winstgevend te zijn door een positief verwacht rendement te halen uit een win/loss-ratio hoger dan 1. Ze kan worden gebruikt op een prijsgebaseerd bartype (Range- of Tick-bars) of een tijdgebaseerd bartype — zie de sectie Performance Reports voor voorgestelde instellingen voor verschillende instrumenten.
Voorbeelden van instapsetups
Long instappen in Trend Continuation Mode
De strategie detecteert een gestapelde imbalance aan de ask-kant, die de strategie scherp zet om long te gaan, en wacht daarna op prijsactie die de trade bevestigt — bijvoorbeeld een candle die boven het hoogste punt van de vorige candle sluit. In een van deze voorbeelden werd de trade uitgevoerd met een stop loss/take profit van $100 en een hoeveelheid van 2 contracts op MES.
Trades instappen in Reversal Mode
Wanneer Stacked Imbalances Entry Mode op Reversal staat, activeert een gestapelde imbalance aan de buy-kant een short-instap, en activeert een gestapelde imbalance aan de sell-kant een long-instap — bijvoorbeeld een long-instap na een gestapelde imbalance aan de bid-kant en een bevestigingscandle. Die trade was winstgevend omdat de imbalance het gevolg was van kooplimietorders met een hoog volume die winst namen na een bearish trend, voordat de prijs omhoog draaide.
Long instappen op een Trapped-Sellers-signaal
Met alleen de setup Trapped Traders ingeschakeld zet een gestapelde imbalance aan de bid-kant op een groene candle de strategie scherp (agressief verkopen dat wordt ingesloten, of een groot volume aan kooplimietorders op dat niveau); een vervolgcandle bevestigt de instap. Eén zo'n setup leverde een winstgevende long-trade op met 2 contracts en een take profit/stop loss van 1:1 met $100 op MCL.
"Dollar Cost Averaging"-ordermanagement in actie
Wanneer DCA wordt gebruikt als ordermanagementstrategie, wordt de hoeveelheid van de positie verhoogd bij elke sluitende candle in de winnende richting, met als doel breakeven te bereiken en de positie vroegtijdig te sluiten op breakeven of iets in de winst. Dat lukt niet altijd — soms wordt de stop loss eerder geraakt dan de take profit door de verhoogde hoeveelheid, wat leidt tot een vroege verliesuitstap. Uitgebreide backtesting over verschillende marktregimes, instrumenten en timeframes wordt aanbevolen om de impact van deze methode op de lange termijn te begrijpen.
Sterk imbalance-signaal maar geen follow-through
Een sterke gestapelde imbalance aan de sell-kant kan een short-instap scherp zetten, maar zonder bevestigende prijsactie (de prijs gaat juist omhoog) wordt het short-signaal geannuleerd. Dat illustreert waarom follow-through prijsactie belangrijk is, en is geen echte trade.
Functies
De Stacked Imbalances-strategie heeft een aantal unieke functies:
- Performante, intern ontwikkelde detectie-engine voor imbalances
- Er worden geen pending orders geplaatst — alleen market orders
- Volledig automatische strategie die kan worden opgeschaald naar meerdere instanties
- Kan als semi-automatische strategie worden gebruikt via de geautomatiseerde handelsinterface op het Chart-paneel
- Nauwkeurige backtestmogelijkheden volgens de officiële best practices van NinjaTrader, met precieze instap- en uitstapbacktests op tickniveau
- Een robuuste, intern ontwikkelde ordermanagementbibliotheek die bestand is tegen verbindingsverlies en naadloos werkt op Rithmic-accounts of NinjaTrader-brokeraccounts
Parameters
We proberen de parameters tot een minimum te beperken — alleen de belangrijkste worden getoond.
| Algemeen | |
| Execute Historical Trades | Moet aangevinkt zijn wanneer de strategie draait in de modi Historical, Backtest of Optimization, en uitgevinkt bij Live Real-Time. |
| Daily TakeProfit Target | De strategie stopt voor de dag zodra de dagelijkse gerealiseerde winst dit bedrag bereikt. Wordt genegeerd bij 0. |
| Weekly TakeProfit Target | De strategie stopt voor de week zodra dit wekelijkse take-profitbedrag is bereikt na het sluiten van een positie. Wordt aan het begin van elke nieuwe week gereset. Wordt genegeerd bij 0. |
| Daily StopLoss Limit | De strategie stopt voor de dag zodra de dagelijkse verliesgrens is bereikt na het sluiten van een positie (positieve waarde — bijv. 300 stopt de handel zodra de gerealiseerde PnL ≤ -$300 is). Wordt genegeerd bij 0. |
| Stop @ Winning Count | Stopt de handel voor de dag zodra het netto aantal winnende trades deze waarde bereikt. Wordt genegeerd bij 0. |
| Stop @ Losing Count | Stopt de handel voor de dag zodra het netto aantal verliezende trades deze waarde bereikt. Wordt genegeerd bij 0. |
| Swings Period | Bepaalt hoeveel bars er minimaal nodig zijn om twee swings van hetzelfde type van elkaar te scheiden. Hoe hoger deze waarde, hoe minder swings in totaal; hoe lager, hoe meer. Een waarde van 3 of 4 is gebruikelijk. |
| Draw Price Swings | Schakelt het tekenen van swings op het chart in of uit. Swings worden altijd geanalyseerd en verwerkt, ongeacht deze parameter, die alleen de zichtbaarheid beïnvloedt. |
| Buy Imbalances Color / Sell Imbalances Color | Kleur van de bullish/bearish zones van gestapelde imbalances op het chart. |
| Execute on Micros | Voert trades uit op een ander instrument dan dat van het actieve chart — bijv. logica draaien op Minis maar uitvoeren op Micros om het risico beter te beheersen. Alle risicoberekeningen gebeuren op het uitvoeringsinstrument. |
| Execution Instrument | Kies uit een lijst met Micros die beschikbaar zijn op je NinjaTrader-verbinding als het instrument waarop trades worden uitgevoerd. Historische en live trades worden in dit geval niet op het chart getekend. |
| Instapsetup | |
| Time Zone |
De tijdzone die wordt gebruikt voor de Trade Time-parameter hieronder. Futuresmarkten werken op Amerikaanse Oostkusttijd (EST), dus hiermee kun je het handelsinterval in plaats daarvan relatief aan de tijdzone van je eigen computer opgeven.
|
| Trade Time | Bepaalt het/de tijdinterval(len) waarin de strategie trades mag plaatsen — bijv. 09:30-16:15 voor RTH in EST, of 00:01-08:00,09:55-15:55,18:01-23:59 om RTH en ETH te dekken terwijl volatiele periodes worden uitgesloten. Intervallen moeten in oplopende volgorde staan (ook een interval dat over middernacht naar de volgende sessie loopt) en worden bij middernacht afgekapt om problemen bij de start van een nieuwe dag te voorkomen. |
| Quantity Strategy |
|
| Max Qty | Maximaal toegestane hoeveelheid wanneer Risk Adjusted is geselecteerd — handig omdat sommige propfirms limieten op de orderhoeveelheid afdwingen die een account ongeldig kunnen maken. |
| Trade Entry Mode |
|
| Order Qty | Hoeveelheid per trade wanneer Quantity Strategy Fixed is — wordt ook gebruikt voor elke hoeveelheidsverhoging als het ordermanagementmechanisme opschaalt. |
| Enable Trapped Traders Entry | Schakelt instappen op trapped-traders-signalen in of uit — een gestapelde imbalance op een omkeringscandle, gevolgd door een follow-through prijsbreak boven of onder de high/low van de imbalance-candle. |
| Enable Stacked Imbalances Entry | Schakelt het trend-volgende instapsignaal in of uit — een gestapelde imbalance gevolgd door dezelfde soort follow-through. |
| Stacked Imbalances Entry Mode |
Bepaalt de instapmodus voor Enable Stacked Imbalances Entry.
|
| VWAP Filter | Schakelt een VWAP-filter voor instappen in of uit — long-instappen vereisen dat de prijs boven de VWAP ligt, short-instappen dat de prijs eronder ligt. |
| Swing Filter |
Schakelt een swing-trendfilter voor instappen in of uit, waarbij opeenvolgende swingpivots worden geanalyseerd.
|
| Imbalances | |
| Min Imbalance Ratio | Minimale verhouding tussen de diagonale bid/ask-volumes om als imbalance te gelden. |
| Min Imbalance Volume | Minimale volumewaarde aan de sterke kant (bid/ask) om als imbalance te gelden. |
| Max Imbalance Gap (Ticks) | Tolerantie voor gaps tussen niveaus van gestapelde imbalances — imbalances die niet perfect gestapeld zijn (met tickgaps ertussen) tellen nog steeds als cluster als deze parameter hoger is dan één. |
| Min Stacked Imbalance Count | Minimaal aantal imbalances in een cluster van gestapelde imbalances — meestal 3 of meer. |
| Ordermanagement | |
| Order Management Strategy |
|
| ATM Strategy Template Name | Alleen gebruikt bij de ATM Strategy-ordermanagementmethode — de exacte templatenaam van je eigen ATM-strategie, zoals getoond in een keuzelijst met beschikbare templates. |
| On Opposite Signal |
|
| StopLoss Strategy |
|
| TakeProfit Strategy |
|
| Target Risk Per Trade ($) | Maximaal risico in dollars per positie — wordt vóór het openen van een trade gebruikt om te controleren of de berekende stop loss deze limiet respecteert; zo niet, dan wordt de trade overgeslagen. |
| Max Allowed Risk Per ($) | Alleen gebruikt bij Risk Adjusted-hoeveelheid — bepaalt hoeveel het werkelijk berekende risico mag afwijken van het Target Risk, omdat een exacte match zelden mogelijk is. |
| Stop Loss Points | Beschikbaar wanneer de Stop Loss-strategie op Points staat. |
| Stoploss offset Points | Voegt een offset in punten toe aan het berekende stop loss-niveau — gebruikt bij het berekenen van het risico per trade. |
| Take Profit Currency | Het take-profitbedrag in dollars, gebruikt wanneer de Fixed Currency Value-strategie is geselecteerd. Zo niet, stel het dan hoog genoeg in zodat het de op ratio gebaseerde strategieën niet verstoort. |
| Enable Price Breakeven | Schakelt het op prijs gebaseerde breakevenmechanisme in of uit. |
| Price Breakeven Strategy |
|
| Price Breakeven Trigger | Beschikbaar wanneer op prijs gebaseerde breakeven is ingeschakeld — de triggerwaarde (in punten, of een percentage van 1-100) die nodig is om de stop loss naar breakeven te verplaatsen. |
| Enable Time Breakeven | Schakelt een op tijd (minuten) gebaseerd breakevenmechanisme in of uit. |
| Time Breakeven Trigger (Minutes) | Beschikbaar wanneer op tijd gebaseerde breakeven is ingeschakeld — het aantal minuten dat nodig is om de stop loss naar breakeven te verplaatsen. |
| Trailing Stop-parameters | |
| Trailing Stop Strategy |
Gebruikt bij de ordermanagementmethode Classic Trail Stop.
|
| Trailing Stop Trigger | De trigger (in punten of ratio) voor de Classic Trail Stop-methode. |
| Trail Amount | Het bedrag (in punten of ratio) dat wordt getrailed zodra de trigger is geraakt. |
| DCA (Grid)-parameters | |
| Breakeven Profit Shift | Gebruikt bij de DCA-ordermanagementmethode — voegt een klein winstbedrag toe aan de breakevendefinitie, om commissiekosten te helpen dekken wanneer het grid op breakeven wordt gesloten. |
| Grid Size to Breakeven | Gebruikt bij de DCA-ordermanagementmethode — het aantal orderverhogingen dat nodig is voordat wordt overwogen de positie op breakeven te sluiten. |
| Commandoknoppen | |
| De strategie biedt handmatige commandoknoppen in het Chart Trader-paneel — zorg dat dit paneel zichtbaar is op je actieve chart. | |
| Arm/Disarm Buttons | Schakelt handmatig long- of short-instappen in of uit — handig als je een directionele bias hebt. |
| Entry Mode Switch Button | Wisselt de instapmodus van de strategie tussen Trend en Reversal. |
| Close Position Button | Sluit de positie op het actieve instrument direct, zonder de strategie te herstarten; die blijft daarna nieuwe trades zoeken. |
| Increase Qty Button | Verhoogt de hoeveelheid van de huidige actieve positie met het bedrag dat is ingesteld bij Order Qty — handig om handmatig te dollar-cost-averagen of te verdubbelen na een bevestigingssignaal aan de winnende kant. |
Prestatierapporten
Resultaten uit het verleden zijn geen garantie voor toekomstige resultaten. Alle backtestresultaten dienen uitsluitend ter indicatie.
- Commissies zijn inbegrepen, op basis van het commissieschema van de NinjaTrader Lifetime-licentie, voor realistische resultaten.
- We volgen de officiële handleiding van NinjaTrader voor nauwkeurige backtesting op intrabar-granulariteit met extra tickdata-series, en gebruiken in zowel real-time als backtestmodus alleen market orders — nooit pending orders.
Er zijn nog geen prestatierapporten voor deze strategie geüpload.
Download- en installatie-instructies
Licentievereisten
Bij automated-trading.ch kun je kiezen: een maandelijks abonnement nemen om onze premium-producten te gebruiken, of onze gratis producten gebruiken zonder je te abonneren.
In beide gevallen moet je een account aanmaken, zodat je een licentie kunt krijgen die je voor zowel premium- als gratis producten kunt gebruiken.
Om je licentie te verkrijgen, moet je gewoon je registreren en daarna je licentie ophalen op de facturatiepagina.
Downloaden
Je kunt deze strategie — en elke andere automated-trading.ch-strategie of -indicator — altijd downloaden via je gecentraliseerde Downloads-pagina.
Installatiestappen
Veelgestelde vragen
Algemeen
Facturatie
Sceptici
Release-notes
- 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