Fair Value Gap Scalper Strategy
Aangemaakt op 02 jun. 2024
·
Bijgewerkt op 05 apr. 2025
De Fair Value Gap Scalper Strategy is een Premium mechanische strategie voor het NinjaTrader 8-platform. 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 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.
Deze strategie heeft twee instapsetups, beide gebaseerd op samenvallende Fair Value Gaps op een hogere timeframe en een lagere timeframe.
De strategie analyseert twee timeframes tegelijk en zoekt naar instappen op basis van Fair Value Gaps die op beide voorkomen. De twee timeframes moeten van hetzelfde type zijn — beide tijdgebaseerd, beide range-gebaseerd, beide tick-gebaseerd, enzovoort. De strategie draait op de lagere (snellere) timeframe, terwijl de hogere (langzamere) timeframe als parameter wordt gekozen — bijvoorbeeld een 30-seconden-timeframe als lagere timeframe, met de 5-minuten-timeframe ingesteld als hogere timeframe.
Dit is het algoritme dat de strategie gebruikt om instappen te vinden:
- De strategie zoekt een Fair Value Gap op de hogere timeframe.
-
Zodra die FVG ontstaat, reageert de strategie op een van twee mogelijke uitkomsten:
- De prijs beweegt weg van de FVG op de hogere timeframe zonder die terug te testen — de FVG wordt als ongeldig beschouwd en de strategie zoekt verder naar een nieuwe FVG op de hogere timeframe.
- De prijs test de FVG op de hogere timeframe opnieuw, en vervolgens ontstaat er een andere FVG op de lagere timeframe — de strategie gaat long of short, afhankelijk van het type van die FVG.
Een variant van deze setup, de HTF Pullback-instapmodus, heeft de tweede FVG op de lagere timeframe niet nodig om een trade te openen: zodra de prijs terugkeert en de FVG op de hogere timeframe opnieuw test, wordt een trade geopend zodra een prijsbalk boven (voor een long) of onder (voor een short) de FVG-zone op de hogere timeframe sluit.
Voorbeelden van instapsetups
Laten we een paar chartvoorbeelden bekijken. Deze voorbeelden zijn niet bedoeld om aan te tonen dat de strategie winst oplevert — de trades zijn bewust handmatig gekozen om de instapsetups duidelijk te illustreren, zonder verwarring. Als je de strategie zelf draait, zie je dat veel van dezelfde setups ook tot verliezende trades leiden — dat hoort bij trading, en het doel moet op de lange termijn winstgevendheid zijn, ondanks enkele individuele verliezen.
Voorbeeld #1: HTF Pullback + LTF FVG-instap op MES
De strategie draait op het 1-minuten-timeframe op het MES-instrument, met de hogere timeframe ingesteld op 15 minuten. Nadat een Fair Value Gap op de hogere timeframe is ontstaan, wacht de strategie op een FVG op de lagere timeframe. Zodra die FVG op de lagere timeframe sluit, wordt een long trade geopend, met de stop loss ingesteld op de onderste zonerand van de FVG op de hogere timeframe en een take profit van 2:1. De prijs bewoog later terug naar de hogere timeframe en testte opnieuw, waarna een nieuwe FVG op de lagere timeframe een tweede instap bevestigde.
Hier is een tweede, vergelijkbaar voorbeeld:
Voorbeeld #2: Alleen HTF Pullback-instap op MES
Draaiend op MES op het 1-minuten-timeframe, met de hogere timeframe ingesteld op 15 minuten en de instapmodus ingesteld op HTF Pullback. De prijs kwam terug in een eerder gevormde FVG op de hogere timeframe, waarna een prijsbalk boven het bovenste prijsniveau van de FVG sloot en zo een long instap activeerde. De stop loss stond op het onderste niveau van de FVG en de take profit was 2:1.
Voorbeeld #3: Invert-modus bij een pullback naar een FVG op de hogere timeframe
Dit voorbeeld toont de invert-instaplogica. Net als in het vorige voorbeeld testte de prijs opnieuw een FVG op de hogere timeframe en sloot ze boven die FVG met een bullish kaars — maar met de parameter Invert Entries aangevinkt, ging de strategie short in plaats van long. De stop loss- en take profit-niveaus werden daarmee ook omgekeerd: de take profit stond op de onderste rand van de FVG, en de stop loss werd berekend met een win/verlies-verhouding van 1:1. Deze invert-logica is nuttig in wisselvallige marktomstandigheden.
Voorbeeld #4: Geen instap, de prijs beweegt weg van de FVG op de hogere timeframe
Dit voorbeeld illustreert het geval waarin de prijs, nadat een FVG op de hogere timeframe is ontstaan, wegbeweegt zonder pullback of hertest — waardoor de FVG als ongeldig wordt gemarkeerd en er geen trade ontstaat.
Functies
De FVG Scalper-strategie heeft een aantal unieke kenmerken:
- Er worden geen pending orders geplaatst — alleen market orders
- Volledig geautomatiseerde strategie die over meerdere instanties kan worden opgeschaald
- Nauwkeurige backtestmogelijkheden volgens de officiële best practices van NinjaTrader, met precieze entry/exit-backtests op tick-niveau
- Een robuuste, eigen order management-bibliotheek die bestand is tegen verbindingsverlies en naadloos werkt op Rithmic-accounts of NinjaTrader-brokeraccounts
Dynamische hoeveelheid en risicobeheer
Zoals bij al onze strategieën implementeert deze strategie twee methoden om de hoeveelheid open posities in te stellen:
- Fixed Quantity: gebruikt dezelfde hoeveelheid voor elke positie. Als de stop loss tussen posities varieert, variëren ook de winst- en verliesbedragen.
- Dynamic Risk-Adjusted Quantity: berekent de hoeveelheid van elke positie op basis van de stop loss, het maximale risico (in $) dat per positie is toegestaan en de maximaal toegestane hoeveelheid — zo ontstaan gelijke winst- en verliesbedragen over alle posities, ongeacht de breedte van de stop loss.
Positiebeheer
Zoals bij al onze strategieën implementeert deze strategie meerdere methoden voor positiebeheer:
- ATM Strategy: delegeer het positiebeheer volledig aan je eigen ATM-strategie, die je kiest uit een keuzelijst.
- Dollar Cost Averaging (Grid): verhoogt de hoeveelheid van de positie naarmate de prijs ertegen beweegt, zodat de gemiddelde instapprijs dichter bij de huidige prijs komt, met als doel de positie bij een terugval op break-even te sluiten.
- Classical Trailing Stop: trailt de stop loss op basis van een trigger en een trailing-bedrag.
De strategie laat ook toe de stop loss op basis van meerdere strategieën in te stellen, en de take profit op basis van een ratio — zie de sectie Parameters voor details.
Accountbeheer
De strategie implementeert dagelijkse stop-trading triggers op basis van het aantal netto winnende posities, het aantal netto verliezende posities, of een doelbedrag voor de gerealiseerde netto winst of het gerealiseerde netto verlies.
Parameters
We proberen de parameters tot een minimum te beperken — alleen de belangrijkste worden getoond.
| Algemeen | |
| Execute Historical Trades | Schakelt het uitvoeren van trades in wanneer de strategie draait in Historical-, Backtest- of Optimization-modus — moet uitgeschakeld zijn bij Live-gebruik. |
| Daily TakeProfit Target | De strategie stopt voor de dag zodra dit dagelijkse take-profitbedrag is bereikt. Wordt genegeerd bij 0. |
| Daily StopLoss Limit | De strategie stopt voor de dag zodra de dagelijkse verliesgrens is bereikt (positieve waarde — bijvoorbeeld 300 stopt de trading zodra de gerealiseerde PnL ≤ -$300 is). Wordt genegeerd bij 0. |
| Stop @ Daily Winning Count | Stopt de trading voor de dag zodra het aantal netto winnende trades deze waarde bereikt. Wordt genegeerd bij 0. |
| Stop @ Daily Losing Count | Stopt de trading voor de dag zodra het aantal netto verliezende trades deze waarde bereikt. Wordt genegeerd bij 0. |
| Render Opacity (1-100) | Doorzichtigheid waarmee objecten op de chart worden getekend. Een waarde van 20 wordt aanbevolen. |
| Execute on Different Instrument | Voert trades uit op een ander instrument dan dat van de actieve chart — bijvoorbeeld de logica draaien op Minis maar uitvoeren op Micros om het risico beter te beheren. Alle risicoberekeningen gebeuren op het uitvoeringsinstrument, en trades op een ander instrument worden niet op de chart getekend. |
| Execution Instrument | Kies uit een lijst met Micros die beschikbaar zijn op je NinjaTrader-verbinding, waarop de trades worden uitgevoerd. Historische en live trades worden in dit geval niet op de chart getekend. |
| Marktstructuur | |
| Higher TimeFrame | Selecteert de hogere timeframe waarop de analyse van de instapsetup draait. Deze moet hoger zijn dan de timeframe van de actieve chart, en van hetzelfde type — je kunt bijvoorbeeld geen op ticks gebaseerde hogere timeframe selecteren terwijl de chart op een minuten-timeframe staat. |
| Higher TimeFrame Period | Stelt de periode van de hogere timeframe in. |
| Draw Higher Timeframe Candles | Schakelt het tekenen (als overlay) van candles van de hogere timeframe op de actieve chart in. |
| Swings Period | Ook bekend als Swing Sensitivity. Na elke barsluiting kan een swing (een higher high, higher low, lower high of lower low) worden gedetecteerd, en een volgende balk kan die nog annuleren door een nieuwe swing van hetzelfde type te vormen — deze parameter bepaalt hoeveel balken er minstens tussen twee swings van hetzelfde type moeten zitten. Een hogere waarde verlaagt het totale aantal gedetecteerde swings; een lagere waarde verhoogt het. Gangbare waarden zijn 3, 6 of 12. |
| Ignore FVG Older Than (X) Days | Filtert FVG's die ouder zijn dan dit aantal dagen uit de instaplogica. Die FVG's worden nog wel getekend, maar genereren geen trades. |
| Instapsetup | |
| Time Zone |
De tijdzone die wordt gebruikt voor de parameter Trade Time hieronder. Futures-markten werken op Amerikaanse oostkusttijd (EST), dus hiermee kun je het handelsinterval in plaats daarvan opgeven ten opzichte van de tijdzone van je eigen computer.
|
| Trade Time |
Bepaalt de tijdsintervallen waarin de strategie trades mag plaatsen. Enkele voorbeelden:
|
| Quantity Strategy |
|
| Max Qty | Maximaal toegestane hoeveelheid wanneer Risk Adjusted is geselecteerd — handig omdat sommige propfirms limieten op de orderhoeveelheid hanteren die een account ongeldig kunnen maken. |
| Invert Entries | Keert instappen om van long naar short en omgekeerd. Stop loss, take profit en risico worden eerst berekend zonder inversielogica, daarna wordt het tradetype in de laatste stap omgekeerd — zo wordt de stop loss de take profit en andersom, en wordt het risico dienovereenkomstig omgekeerd (bijv. een take profit van 2:1 wordt een take profit van 1:2, wat het risico verhoogt). Houd hier rekening mee voordat je dit inschakelt. |
| Long/Short Entry Mode |
Handig als je al een richtinggevende dagelijkse bias hebt en het handelen tot één richting wilt beperken.
|
| Trade Entry Mode |
|
| Order Qty | Alleen gebruikt wanneer Quantity Strategy op Fixed staat — de vaste hoeveelheid per trade (en per verhoging van de hoeveelheid, als het ordermanagement opschaalt). Meestal 1 of 2. |
| Higher TF Invalidate Setup Points | Hoe ver de prijs in punten moet wegbewegen van de FVG op de hogere timeframe om de huidige actieve instapsetup ongeldig te maken en te resetten. |
| Previous Swing Breakout Filter | Schakelt een instapfilter in dat de huidige prijs vergelijkt met de high/low van de vorige candle op de hogere timeframe — de prijs moet erboven liggen voor een long instap, of eronder voor een short instap. Dit kan de kwaliteit van de trades verbeteren, doordat er alleen wordt gehandeld in de richting van een breakout op de hogere timeframe. |
| Fair Value Gap | |
| Type of Min. Gap for HTF |
Het meettype voor de minimale gap op de hogere timeframe.
|
| Min. Gap for HTF | De minimale gap om een FVG op de hogere timeframe mee te nemen — bijvoorbeeld ingesteld op 10 met het type Points, worden FVG's met een gap kleiner dan 10 punten uitgefilterd. |
| Max. Gap (Points) for HTF | De maximale gap om een FVG op de hogere timeframe mee te nemen — bijvoorbeeld ingesteld op 50, worden FVG's met een gap groter dan 50 punten uitgefilterd. |
| Type of Min. Gap for LTF |
Het meettype voor de minimale gap op de lagere timeframe.
|
| Min. Gap for LTF | De minimale gap om een FVG op de lagere timeframe mee te nemen — dezelfde filterlogica als bij het equivalent voor de hogere timeframe. |
| Max. Gap (Points) for LTF | De maximale gap om een FVG op de lagere timeframe mee te nemen — dezelfde filterlogica als bij het equivalent voor de hogere timeframe. |
| Ordermanagement | |
| Order Management Strategy |
|
| ATM Strategy Template Name | Alleen gebruikt bij de ordermanagementmethode ATM Strategy — de exacte templatenaam van je aangepaste ATM-strategie. Moet overeenkomen met een bestaand template, anders wordt er geen positie geopend. |
| On Opposite Signal |
|
| Enable Price Breakeven | Schakelt het op prijs gebaseerde breakevenmechanisme in of uit. |
| Breakeven Price Strategy |
|
| Breakeven Price Trigger | Beschikbaar als op prijs gebaseerde breakeven is ingeschakeld — de triggerwaarde die nodig is om de stop loss naar break-even te verplaatsen. |
| Enable Time Breakeven | Schakelt het op tijd gebaseerde breakevenmechanisme in of uit (in minuten). |
| Breakeven Time Trigger | Beschikbaar als op tijd gebaseerde breakeven is ingeschakeld — de triggerwaarde, in minuten, die nodig is om de stop loss naar break-even te verplaatsen. |
| 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), en ook om de hoeveelheid te berekenen wanneer de quantity strategy dynamisch is. |
| Max Allowed Risk Per ($) | Alleen gebruikt bij Risk Adjusted-hoeveelheid — bepaalt hoe ver het werkelijk berekende risico mag afwijken van het doelrisico, omdat een exacte match zelden mogelijk is (bijv. kan een doel van $250 een hoeveelheid van 3 opleveren, met een werkelijk risico van $257). |
| Stop Loss Points | Beschikbaar wanneer de Stop Loss-strategie op Points staat. |
| Take Profit Currency | Het take-profitbedrag in dollars, gebruikt wanneer de Fixed Currency Value-strategie is geselecteerd. |
| Take Profit Points | Beschikbaar wanneer de Take Profit-strategie op Points staat. |
| Scale out % Qty at % Target | Sluit een percentage van de hoeveelheid van de positie zodra de prijs een percentage van het winstdoel bereikt (naar beneden afgerond bij breuken — bijv. 50% van een positie van 5 lots sluit 2 contracten). |
| Scale out at % Target | Het percentage van het winstdoel dat het scale-out-mechanisme activeert. |
| Scale out % Qty | Het percentage van de hoeveelheid dat door het scale-out-mechanisme wordt gesloten. |
| DCA (Grid)-parameters | |
| Breakeven Profit Shift | Gebruikt bij de DCA-positiebeheermethode — voegt een beetje winst toe aan de definitie van break-even, handig om commissiekosten te dekken wanneer de grid op break-even wordt gesloten. |
| Grid Size to Breakeven | Gebruikt bij de DCA-positiebeheermethode — het aantal orderverhogingen dat nodig is voordat de positie op break-even kan worden gesloten. |
| Min Grid Gap (Point) | Gebruikt bij de DCA-positiebeheermethode — de minimale afstand, in punten, die vereist is tussen twee gridorders. |
| Bar Close Trigger | Gebruikt bij de DCA-positiebeheermethode — gridorders worden bij barsluiting geopend in de richting van de trade. |
| Trailing Stop-parameters | |
| Trailing Stop Strategy |
Gebruikt bij de Classic Trail Stop-positiebeheermethode.
|
| Trailing Stop Trigger | Gebruikt bij de Classic Trail Stop-methode — de trigger (in punten of ratio). |
| Trail Amount | Gebruikt bij de Classic Trail Stop-methode — het bedrag (in punten of ratio) dat wordt getrailt zodra de trigger is bereikt. |
| Commandoknoppen | |
De strategie toont handmatige commandoknoppen op het Chart Trader-paneel — zorg dat dit paneel op je actieve chart zichtbaar is.![]() | |
| Arm/Disarm Buttons | Schakel handmatig het instappen in long of short in of uit — handig als je een richtinggevende bias of overtuiging hebt. |
| Close Position Button | Sluit de positie op het actieve instrument direct, zonder de strategie te herstarten, die daarna nieuwe trades blijft zoeken. |
| Increase Qty Button | Verhoogt de hoeveelheid van de actieve positie met het bedrag ingesteld bij Order Qty — handig om handmatig dollar-cost averaging toe te passen, of om aan een winnende positie toe te voegen. |
| Set Breakeven Button | Verplaatst de stop loss van de openstaande positie naar break-even, als dat de stop loss zou verbeteren. |
Prestatierapporten
Resultaten uit het verleden zijn geen garantie voor toekomstige resultaten. Alle backtestresultaten dienen uitsluitend ter indicatie.
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
- Bug Fix: Error when using ATM Strategy
- Fixed Entry bug making entry in only one direction; Various code optimizations; Added Decrease quantity button
- Complete makeover with new parameters added/removed
- Bug Fix on bearish FVG detection
- Added possibility to execute trades on micro instruments
- Fixed Take Profit value when in Points mode; Fixed very critical error on short FVG+FVG entries; Added FVG filter as new parameter
- Fixed installation issue
- First Release of the strategy
