Sett deg på ventelisten
Strategier / Volatilitet / DAX Survivor

DAX Survivor

ADX(14) bestemmer modusen. I rolige markeder kjøper systemet etter en stor ned-candle og går short etter en stor opp-candle, og når ADX er høy følger den candlen i stedet. Longs lukkes 30 barer etter den siste handelen og shorts etter 5 barer.

VolatilitetLong & shortSwingFTSE 1004 timer
1.17Profit factor
7,580Nettogevinst EUR
55.75%Treffprosent
1,514Handler
-1,646Max drawdown
5.01Gj.sn. handel

Beste kjøring av 4. FTSE 100, 4 timer, spread 2, fra kjøring pf:2026-09-24-FTSE100-4h.tsv:2.

Inngangsregler, long

  1. Breakout-modus: ADX(14) er over 36 og kroppen til en opp-candle er større enn 1 x ATR(14)
  2. ATR(14) er under 100
  3. Sesongtabellen blokkerer ikke den nåværende halvmåneden (andre halvdel av januar og andre halvdel av september er blokkert)

Inngangsregler, short

  1. Breakout-modus: ADX(14) er over 24 og kroppen til en ned-candle er større enn 2 x ATR(14)
  2. ATR(14) er under 200

Utgangsregler

  1. Lukk en short 5 barer etter den siste handelen
  2. Ingen stop loss eller mål

Testbetingelser

PeriodeFrem til 2026-09-25
InstrumentFTSE 100, 4 timer
Spread2 poeng
Kontrakter1
Startkapital1,000,000
KostnaderKun spread. Kommisjoner og overnattfinansiering er ikke inkludert.
BarerOpptil 200,000 barer, færre der instrumentet har kortere historikk
Sist testet2026-09-25
Parametere (38)
positionSize
Kontrakter per handel
1
atrPeriod
ATR-lengde for candle-størrelse og volatilitetstak
14
adxPeriod
ADX-lengde for regimebytte
14
adxLongThreshold
Longs: ADX over = breakout-regime, under = mean reversion
36
adxShortThreshold
Shorts: ADX over = breakout-regime, under = mean reversion
24
atrMaxLong
Ingen longs når ATR er på eller over dette
100
atrMaxShort
Ingen shorts når ATR er på eller over dette
200
longReversionMultiplier
Long etter en ned-candle større enn så mange ATR-er
1
longBreakoutMultiplier
Long etter en opp-candle større enn så mange ATR-er
1
shortReversionMultiplier
Short etter en opp-candle større enn så mange ATR-er
1
shortBreakoutMultiplier
Short etter en ned-candle større enn så mange ATR-er
2
maxBarsLong
Lukk en long etter så mange barer
30
maxBarsShort
Lukk en short etter så mange barer
5
midMonthDay
Dager til og med denne regnes som første halvdel av måneden
15
janFirstHalf
Sesongvekt, første halvdel av januar (null blokkerer nye longs)
3
janSecondHalf
Sesongvekt, andre halvdel av januar (null blokkerer nye longs)
0
febFirstHalf
Sesongvekt, første halvdel av februar (null blokkerer nye longs)
3
febSecondHalf
Sesongvekt, andre halvdel av februar (null blokkerer nye longs)
3
marFirstHalf
Sesongvekt, første halvdel av mars (null blokkerer nye longs)
3
marSecondHalf
Sesongvekt, andre halvdel av mars (null blokkerer nye longs)
2
aprFirstHalf
Sesongvekt, første halvdel av april (null blokkerer nye longs)
3
aprSecondHalf
Sesongvekt, andre halvdel av april (null blokkerer nye longs)
3
mayFirstHalf
Sesongvekt, første halvdel av mai (null blokkerer nye longs)
1
maySecondHalf
Sesongvekt, andre halvdel av mai (null blokkerer nye longs)
1
junFirstHalf
Sesongvekt, første halvdel av juni (null blokkerer nye longs)
1
junSecondHalf
Sesongvekt, andre halvdel av juni (null blokkerer nye longs)
2
julFirstHalf
Sesongvekt, første halvdel av juli (null blokkerer nye longs)
3
julSecondHalf
Sesongvekt, andre halvdel av juli (null blokkerer nye longs)
2
augFirstHalf
Sesongvekt, første halvdel av august (null blokkerer nye longs)
2
augSecondHalf
Sesongvekt, andre halvdel av august (null blokkerer nye longs)
3
sepFirstHalf
Sesongvekt, første halvdel av september (null blokkerer nye longs)
3
sepSecondHalf
Sesongvekt, andre halvdel av september (null blokkerer nye longs)
0
octFirstHalf
Sesongvekt, første halvdel av oktober (null blokkerer nye longs)
3
octSecondHalf
Sesongvekt, andre halvdel av oktober (null blokkerer nye longs)
2
novFirstHalf
Sesongvekt, første halvdel av november (null blokkerer nye longs)
1
novSecondHalf
Sesongvekt, andre halvdel av november (null blokkerer nye longs)
3
decFirstHalf
Sesongvekt, første halvdel av desember (null blokkerer nye longs)
3
decSecondHalf
Sesongvekt, andre halvdel av desember (null blokkerer nye longs)
2

Hver kjøring

Markeder og tidsrammer som er testet

MarkedTidsrammePFHandlerTreff %NettoMax DD
FTSE 100Beste kjøring4 timer1.17 1,51455.757,580 EUR-1,646
DAX 40Daglign/a 34758.219,871 EUR-2,471
GBP/USDDaglign/a 79955.697,847 USD-7,788
Nasdaq 100Daglign/a 58550.772,959 EUR-1,721

Diagrammer

Resultater per kjøring

NettogevinstMax drawdown

Koden

ProBuilder, omskrevet til husstandard

// ============================================================
// DAX Survivor
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Volatility
// Direction: Long & short
// Timeframe tested: 4 hours
// ============================================================

// --- Settings ---
DEFPARAM CumulateOrders = false

// --- Parameters ---
positionSize = 1                // contracts per trade
atrPeriod = 14                  // ATR length for candle size and volatility cap
adxPeriod = 14                  // ADX length for the regime switch
adxLongThreshold = 36           // longs: ADX above = breakout regime, below = mean reversion
adxShortThreshold = 24          // shorts: ADX above = breakout regime, below = mean reversion
atrMaxLong = 100                // no longs when ATR is at or above this
atrMaxShort = 200               // no shorts when ATR is at or above this
longReversionMultiplier = 1     // long after a down candle larger than this many ATRs
longBreakoutMultiplier = 1      // long after an up candle larger than this many ATRs
shortReversionMultiplier = 1    // short after an up candle larger than this many ATRs
shortBreakoutMultiplier = 2     // short after a down candle larger than this many ATRs
maxBarsLong = 30                // close a long after this many bars
maxBarsShort = 5                // close a short after this many bars
midMonthDay = 15                // days up to this count as the first half of the month

// Seasonal weights per half month. Only zero matters now: zero blocks new longs.
janFirstHalf = 3
janSecondHalf = 0
febFirstHalf = 3
febSecondHalf = 3
marFirstHalf = 3
marSecondHalf = 2
aprFirstHalf = 3
aprSecondHalf = 3
mayFirstHalf = 1
maySecondHalf = 1
junFirstHalf = 1
junSecondHalf = 2
julFirstHalf = 3
julSecondHalf = 2
augFirstHalf = 2
augSecondHalf = 3
sepFirstHalf = 3
sepSecondHalf = 0
octFirstHalf = 3
octSecondHalf = 2
novFirstHalf = 1
novSecondHalf = 3
decFirstHalf = 3
decSecondHalf = 2

// --- Indicators ---
atrValue = AverageTrueRange[atrPeriod]
adxValue = ADX[adxPeriod]
candleBody = abs(open - close)

longVolatilityOk = atrValue < atrMaxLong
shortVolatilityOk = atrValue < atrMaxShort
longBreakoutRegime = adxValue > adxLongThreshold
longReversionRegime = adxValue < adxLongThreshold
shortBreakoutRegime = adxValue > adxShortThreshold
shortReversionRegime = adxValue < adxShortThreshold

firstHalf = Day <= midMonthDay
IF CurrentMonth = 1 THEN
  IF firstHalf THEN
    seasonWeight = janFirstHalf
  ELSE
    seasonWeight = janSecondHalf
  ENDIF
ELSIF CurrentMonth = 2 THEN
  IF firstHalf THEN
    seasonWeight = febFirstHalf
  ELSE
    seasonWeight = febSecondHalf
  ENDIF
ELSIF CurrentMonth = 3 THEN
  IF firstHalf THEN
    seasonWeight = marFirstHalf
  ELSE
    seasonWeight = marSecondHalf
  ENDIF
ELSIF CurrentMonth = 4 THEN
  IF firstHalf THEN
    seasonWeight = aprFirstHalf
  ELSE
    seasonWeight = aprSecondHalf
  ENDIF
ELSIF CurrentMonth = 5 THEN
  IF firstHalf THEN
    seasonWeight = mayFirstHalf
  ELSE
    seasonWeight = maySecondHalf
  ENDIF
ELSIF CurrentMonth = 6 THEN
  IF firstHalf THEN
    seasonWeight = junFirstHalf
  ELSE
    seasonWeight = junSecondHalf
  ENDIF
ELSIF CurrentMonth = 7 THEN
  IF firstHalf THEN
    seasonWeight = julFirstHalf
  ELSE
    seasonWeight = julSecondHalf
  ENDIF
ELSIF CurrentMonth = 8 THEN
  IF firstHalf THEN
    seasonWeight = augFirstHalf
  ELSE
    seasonWeight = augSecondHalf
  ENDIF
ELSIF CurrentMonth = 9 THEN
  IF firstHalf THEN
    seasonWeight = sepFirstHalf
  ELSE
    seasonWeight = sepSecondHalf
  ENDIF
ELSIF CurrentMonth = 10 THEN
  IF firstHalf THEN
    seasonWeight = octFirstHalf
  ELSE
    seasonWeight = octSecondHalf
  ENDIF
ELSIF CurrentMonth = 11 THEN
  IF firstHalf THEN
    seasonWeight = novFirstHalf
  ELSE
    seasonWeight = novSecondHalf
  ENDIF
ELSE
  IF firstHalf THEN
    seasonWeight = decFirstHalf
  ELSE
    seasonWeight = decSecondHalf
  ENDIF
ENDIF

// The weight used to scale size; with fixed size a zero weight still means "no long".
seasonAllowsLong = seasonWeight <> 0

35 linjer til: inngangs- og utgangsreglene.

Oppsett

Slik laster du den inn

  1. Kopier koden med kopiknappen på kodeblokken.
  2. I ProRealTime åpner du et diagram for instrumentet og tidsrammen du vil teste, og åpner deretter ProOrder > New trading system og velger "Create with programming".
  3. Lim inn koden, gi systemet et navn og lagre det.
  4. Klikk "Backtest", angi din egen spread og position size, og kjør den før du vurderer å handle den live.

Indikatorer som brukes

ATRADX
Les dette førstKjente svakheter4 poeng
  • Det finnes ingen stop loss eller profittmål. Handler avsluttes bare på tid, så en skarp bevegelse mot en posisjon løper til barantallet er nådd.
  • Den beste kjøringen på FTSE 100 4 timer hadde en profit factor på 1.17, en tynn edge etter kostnader.
  • På GBP/USD Daglig er max drawdown (USD 7,788) nesten lik nettogevinsten (USD 7,847.10).
  • Den opprinnelige versjonen skalerte størrelsen etter sesong og ATR. Den testede koden handler fast 1 kontrakt, så det er en forenklet versjon.

Spørsmål

Om denne strategien

Er DAX Survivor ProOrder-kompatibel?

Ja. Den omskrevne koden er ennå ikke kompileringssjekket, og den publiserte statistikken kommer fra den tidligere koden, så test den i demo før du går live.

Hvordan gjorde den det på tvers av markeder?

FTSE 100 4 timer ga EUR 7,579.90 over 1,514 handler. DAX 40 Daglig ga EUR 9,870.90, GBP/USD Daglig USD 7,847.10 og Nasdaq 100 Daglig EUR 2,959.40.

Hva risikerer 1 kontrakt?

Max drawdown i den beste kjøringen med 1 kontrakt var EUR 1,645.70. Uten en stopp på plass bør du holde ekstra rom over det tallet.

Hvorfor 4-timers- og dagsbarer?

Holdeperioder på 30 og 5 barer krever saktere barer for å fange en reell swing. Alle testede rader var 4 timer eller Daglig.

Relatert

Strategier som denne

ATR Band

Bruker samme indikator.

10.31 PF · 53 handler

Bollinger Reversal

Beste kjøring på samme marked, FTSE 100.

1.74 PF · 117 handler

Breakout Failures

En tilsvarende profit factor.

1.17 PF · 911 handler

Regimebytte er én brikke i puslespillet. Sett deg på ventelisten til ProRealAlgos for å se resten.

ProRealAlgos-fellesskapet får de fullstendige reglene, hele koden og den automatiserte porteføljen.

Tidligere backtest-resultater er ingen garanti for fremtidige resultater. Dette er ikke finansiell rådgivning. Kuratert og vedlikeholdt av ProRealAlgos. ProRealTime™ er et varemerke tilhørende ProRealTime SAS. prorealalgos.comStatistikkDokumentasjon