Op de wachtlijst
Strategieën / Trend / ADX Momentum EMA

ADX Momentum EMA: een gestapeld trendfilter met een ADX-cross als trigger

De prijs moet aan de juiste kant van vier moving averages staan terwijl ADX, Momentum, Williams %R en Stochastic het allemaal eens zijn over de richting. De eigenlijke instap vindt plaats op de bar waar ADX(10) één van een reeks vaste niveaus kruist. Deze versie is nog niet gebacktest, dus er zijn geen resultaten gepubliceerd.

TrendLong & shortSwingNog niet getest
Deze strategie is nog niet gebacktest. De regels en de code zijn nu gepubliceerd en de cijfers verschijnen hier na de eerste runs.

Instapregels, long

  1. De close staat boven de 8 EMA, de 34 WMA, de 15 TEMA en de 200 EMA
  2. De laatste twee closes stonden ook boven de 8 EMA en deze bar maakt een hogere high dan de vorige bar
  3. De 150 WMA en de 15 TEMA stijgen beide
  4. Stochastic(8,3) staat hoger dan 3 bars terug
  5. ADX(10) staat boven 18, DI+ staat boven DI- en ADX(6) daalt niet
  6. Momentum(6) stijgt en Williams %R(40) staat boven -50
  7. Geen long positie open

Instapregels, short

  1. De close staat onder de 8 EMA, de 34 WMA, de 15 TEMA en de 200 EMA
  2. De 150 WMA en de 15 TEMA dalen beide
  3. Stochastic(8,3) staat lager dan 3 bars terug
  4. ADX(10) staat boven 18, DI- staat boven DI+ en ADX(6) daalt niet
  5. Momentum(6) daalt en Williams %R(40) staat onder -50
  6. ADX(10) kruist op deze bar boven 22, 24 of 26

Uitstapregels

  1. Stop loss 30 punten
  2. Winstdoel 120 punten
  3. De ladder volgt de huidige close, dus het vastgezette niveau kan weer omlaag stappen als de prijs terugvalt
Parameters (31)
positionSize
Contracten per trade
1
fastPeriod
Snelle EMA, de prijs moet aan de juiste kant ervan staan
8
midPeriod
Weighted MA, de prijs moet aan de juiste kant ervan staan
34
slopePeriod
Weighted MA waarvan de helling de trendrichting bepaalt
150
temaPeriod
TEMA die wordt gebruikt voor prijspositie en helling
15
trendPeriod
EMA-trendfilter voor de lange termijn
200
momentumPeriod
Momentum moet stijgen (long) of dalen (short)
6
fastAdxPeriod
Korte ADX die niet mag dalen
6
diPeriod
DI+ / DI- lengte
10
adxPeriod
Lengte van de hoofd-ADX
10
adxThreshold
De hoofd-ADX moet hierboven staan
18
williamsPeriod
Williams %R-lengte
40
williamsMidLevel
Williams %R-kant die bulls van bears scheidt
-50
stochPeriod
Stochastic %K-lengte
8
stochSmooth
Stochastic-afvlakking
3
stochLookback
Stochastic vergeleken met zijn waarde dit aantal bars terug
3
closesAbovePeriod
Laatste closes die boven de snelle EMA moeten liggen (long)
2
adxLevelA
ADX-crossniveaus die een instap kunnen triggeren
17
adxLevelB
ADX-crossniveaus die een instap kunnen triggeren
20
adxLevelC
ADX-crossniveaus die een instap kunnen triggeren
22
adxLevelD
ADX-crossniveaus die een instap kunnen triggeren
24
adxLevelE
ADX-crossniveaus die een instap kunnen triggeren
26
adxLevelF
ADX-crossniveaus die een instap kunnen triggeren
28
adxLevelG
ADX-crossniveaus die een instap kunnen triggeren
30
stopLossPoints
Beschermende stop
30
takeProfitPoints
Winstdoel
120
ladderRungs
Aantal stappen van de breakevenladder
25
firstTriggerPips
Winst die de eerste ladderstap activeert
10
firstLockPips
Winst die door de eerste stap wordt vastgezet
5
secondTriggerPips
Winst die de tweede stap activeert
15
ladderStepPips
Afstand tussen alle volgende stappen
10

De code

ProBuilder, herschreven naar huisstandaard

// ============================================================
// ADX Momentum EMA
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Trend
// Direction: Long & short
// Timeframe tested: Not yet tested
// ============================================================

// --- Settings ---
DEFPARAM CumulateOrders = false
DEFPARAM PreloadBars = 50000

// --- Parameters ---
positionSize = 1          // contracts per trade
fastPeriod = 8            // fast EMA, price must be on the right side of it
midPeriod = 34            // weighted MA, price must be on the right side of it
slopePeriod = 150         // weighted MA whose slope sets the trend direction
temaPeriod = 15           // TEMA used for price position and slope
trendPeriod = 200         // long-term EMA trend filter
momentumPeriod = 6        // momentum must be rising (long) or falling (short)
fastAdxPeriod = 6         // short ADX that must not be falling
diPeriod = 10             // DI+ / DI- length
adxPeriod = 10            // main ADX length
adxThreshold = 18         // main ADX must be above this
williamsPeriod = 40       // Williams %R length
williamsMidLevel = -50    // Williams %R side that separates bulls from bears
stochPeriod = 8           // Stochastic %K length
stochSmooth = 3           // Stochastic smoothing
stochLookback = 3         // Stochastic compared with its value this many bars ago
closesAbovePeriod = 2     // last closes that must sit above the fast EMA (long)
adxLevelA = 17            // ADX cross levels that can trigger an entry
adxLevelB = 20
adxLevelC = 22
adxLevelD = 24
adxLevelE = 26
adxLevelF = 28
adxLevelG = 30
stopLossPoints = 30       // protective stop
takeProfitPoints = 120    // profit target
ladderRungs = 25          // number of breakeven ladder steps
firstTriggerPips = 10     // profit that arms the first ladder step
firstLockPips = 5         // profit locked by the first step
secondTriggerPips = 15    // profit that arms the second step
ladderStepPips = 10       // spacing of every later step

// --- Indicators ---
fastMA = ExponentialAverage[fastPeriod](close)
midMA = WeightedAverage[midPeriod](close)
slopeMA = WeightedAverage[slopePeriod](close)
temaValue = TEMA[temaPeriod](close)
trendMA = ExponentialAverage[trendPeriod](close)
momentumValue = Momentum[momentumPeriod](close)
fastAdx = ADX[fastAdxPeriod]
plusDI = DIplus[diPeriod](close)
minusDI = DIminus[diPeriod](close)
adxValue = ADX[adxPeriod]
williamsValue = Williams[williamsPeriod](close)
stochK = Stochastic[stochPeriod, stochSmooth](close)

aboveFast = fastMA < close
belowFast = fastMA > close
aboveMid = midMA < close
belowMid = midMA > close
aboveTrend = trendMA < close
belowTrend = trendMA > close
aboveTema = temaValue < close
belowTema = temaValue > close
slopeUp = slopeMA > slopeMA[1]
slopeDown = slopeMA < slopeMA[1]
temaUp = temaValue > temaValue[1]
temaDown = temaValue < temaValue[1]
williamsBull = williamsValue > williamsMidLevel
williamsBear = williamsValue < williamsMidLevel
stochRising = stochK > stochK[stochLookback]
stochFalling = stochK < stochK[stochLookback]

Nog 50 regels: de instap- en uitstapregels.

Opzet

Zo laad je hem in

  1. Kopieer de code met de kopieerknop op het codeblok.
  2. Open in ProRealTime een grafiek van het instrument en tijdframe dat je wilt testen en open dan ProOrder > New trading system en kies "Create with programming".
  3. Plak de code, geef het systeem een naam en sla het op.
  4. Klik op "Backtest", stel je eigen spread en position size in en voer hem uit voordat je overweegt er live mee te traden.

Gebruikte indicatoren

EMAWMATEMAADXMomentumWilliams %RStochastic
Lees dit eerstBekende zwaktes4 punten
  • Voor deze versie bestaat geen backtest, dus er is nog geen bewijs dat de regels op welke markt dan ook geld opleveren.
  • Acht longvoorwaarden en zeven shortvoorwaarden moeten tegelijk op één lijn liggen, waardoor er lange periodes zonder trades kunnen zijn en de logica makkelijk te overfitten is.
  • De breakevenladder volgt de huidige close, dus een vastgezet niveau kan weer omlaag stappen wanneer de prijs terugloopt, waardoor je winst teruggeeft die je beschermd zou denken.
  • De long- en de shortkant controleren alleen hun eigen positie, dus een signaal aan de ene kant kan een open trade aan de andere kant omkeren.

Vragen

Over deze strategie

Kan ik de ADX Momentum EMA-strategie draaien in ProOrder?

De code is geschreven voor automatisch traden met ProOrder, maar is nog niet op compileerfouten gecontroleerd en nog niet gebacktest. Draai hem in ProBacktest op je eigen markt voordat je live gaat.

Op welke markten is hij getest?

Tot nu toe geen. Deze pagina toont resultaten per instrument zodra de backtests klaar zijn.

Hoeveel kapitaal is ervoor nodig?

De standaardgrootte is 1 contract met een stop van 30 punten, maar zonder backtest is er geen drawdowncijfer om je kapitaal op af te stemmen. Beschouw elk live gebruik als ongetest.

Waarom heeft de instap een ADX-cross nodig?

De andere filters beschrijven alleen de toestand van de trend. De ADX(10)-cross boven 17, 20, 22, 24, 26, 28 of 30 (longs) geeft één bar waarop de trendsterkte aantrekt, zodat de trade een duidelijke trigger heeft.

Gerelateerd

Strategieën zoals deze

Monday Dip Buy

Gebruikt dezelfde indicator.

n/a PF · 146 trades

Long-Term Moving Average Cross

Ook een trendstrategie.

12.31 PF · 61 trades

Slow MACD Slope

Ook een trendstrategie.

6.80 PF · 7,305 trades

Wil je zien hoe deze het doet zodra hij getest is? Schrijf je in voor de wachtlijst van de ProRealAlgos-community.

De ProRealAlgos community krijgt de volledige regels, de complete code en de geautomatiseerde portefeuille.

Backtestresultaten uit het verleden bieden geen garantie voor de toekomst. Dit is geen financieel advies. Samengesteld en onderhouden door ProRealAlgos. ProRealTime™ is een handelsmerk van ProRealTime SAS. prorealalgos.comStatsDocumentatie