ADX(14) entscheidet über den Modus. In ruhigen Märkten kauft das System nach einer großen Abwärtskerze und geht short nach einer großen Aufwärtskerze, und wenn der ADX hoch ist, folgt es stattdessen der Kerze. Longs werden 30 Bars nach dem letzten Trade geschlossen und Shorts nach 5 Bars.
Bester von 4 Durchläufen. FTSE 100, 4 Stunden, Spread 2, aus Durchlauf pf:2026-09-24-FTSE100-4h.tsv:2.
| Zeitraum | Bis 2026-09-25 |
| Instrument | FTSE 100, 4 Stunden |
| Spread | 2 Punkte |
| Kontrakte | 1 |
| Startkapital | 1,000,000 |
| Kosten | Nur Spread. Kommissionen und Overnight-Finanzierung sind nicht enthalten. |
| Bars | Bis zu 200,000 Bars, weniger wo das Instrument weniger Historie hat |
| Zuletzt getestet | 2026-09-25 |
| positionSize Kontrakte pro Trade | 1 |
| atrPeriod ATR-Länge für Kerzengröße und Volatilitätsobergrenze | 14 |
| adxPeriod ADX-Länge für den Regimewechsel | 14 |
| adxLongThreshold Longs: ADX darüber = Breakout-Regime, darunter = Mean Reversion | 36 |
| adxShortThreshold Shorts: ADX darüber = Breakout-Regime, darunter = Mean Reversion | 24 |
| atrMaxLong Keine Longs, wenn der ATR auf oder über diesem Wert liegt | 100 |
| atrMaxShort Keine Shorts, wenn der ATR auf oder über diesem Wert liegt | 200 |
| longReversionMultiplier Long nach einer Abwärtskerze, die größer ist als so viele ATRs | 1 |
| longBreakoutMultiplier Long nach einer Aufwärtskerze, die größer ist als so viele ATRs | 1 |
| shortReversionMultiplier Short nach einer Aufwärtskerze, die größer ist als so viele ATRs | 1 |
| shortBreakoutMultiplier Short nach einer Abwärtskerze, die größer ist als so viele ATRs | 2 |
| maxBarsLong Einen Long nach so vielen Bars schließen | 30 |
| maxBarsShort Einen Short nach so vielen Bars schließen | 5 |
| midMonthDay Tage bis hierhin zählen als erste Hälfte des Monats | 15 |
| janFirstHalf Saisonale Gewichtung, erste Hälfte Januar (null blockiert neue Longs) | 3 |
| janSecondHalf Saisonale Gewichtung, zweite Hälfte Januar (null blockiert neue Longs) | 0 |
| febFirstHalf Saisonale Gewichtung, erste Hälfte Februar (null blockiert neue Longs) | 3 |
| febSecondHalf Saisonale Gewichtung, zweite Hälfte Februar (null blockiert neue Longs) | 3 |
| marFirstHalf Saisonale Gewichtung, erste Hälfte März (null blockiert neue Longs) | 3 |
| marSecondHalf Saisonale Gewichtung, zweite Hälfte März (null blockiert neue Longs) | 2 |
| aprFirstHalf Saisonale Gewichtung, erste Hälfte April (null blockiert neue Longs) | 3 |
| aprSecondHalf Saisonale Gewichtung, zweite Hälfte April (null blockiert neue Longs) | 3 |
| mayFirstHalf Saisonale Gewichtung, erste Hälfte Mai (null blockiert neue Longs) | 1 |
| maySecondHalf Saisonale Gewichtung, zweite Hälfte Mai (null blockiert neue Longs) | 1 |
| junFirstHalf Saisonale Gewichtung, erste Hälfte Juni (null blockiert neue Longs) | 1 |
| junSecondHalf Saisonale Gewichtung, zweite Hälfte Juni (null blockiert neue Longs) | 2 |
| julFirstHalf Saisonale Gewichtung, erste Hälfte Juli (null blockiert neue Longs) | 3 |
| julSecondHalf Saisonale Gewichtung, zweite Hälfte Juli (null blockiert neue Longs) | 2 |
| augFirstHalf Saisonale Gewichtung, erste Hälfte August (null blockiert neue Longs) | 2 |
| augSecondHalf Saisonale Gewichtung, zweite Hälfte August (null blockiert neue Longs) | 3 |
| sepFirstHalf Saisonale Gewichtung, erste Hälfte September (null blockiert neue Longs) | 3 |
| sepSecondHalf Saisonale Gewichtung, zweite Hälfte September (null blockiert neue Longs) | 0 |
| octFirstHalf Saisonale Gewichtung, erste Hälfte Oktober (null blockiert neue Longs) | 3 |
| octSecondHalf Saisonale Gewichtung, zweite Hälfte Oktober (null blockiert neue Longs) | 2 |
| novFirstHalf Saisonale Gewichtung, erste Hälfte November (null blockiert neue Longs) | 1 |
| novSecondHalf Saisonale Gewichtung, zweite Hälfte November (null blockiert neue Longs) | 3 |
| decFirstHalf Saisonale Gewichtung, erste Hälfte Dezember (null blockiert neue Longs) | 3 |
| decSecondHalf Saisonale Gewichtung, zweite Hälfte Dezember (null blockiert neue Longs) | 2 |
Jeder Durchlauf
| Markt | Zeiteinheit | PF | Trades | Treffer % | Netto | Max DD |
|---|---|---|---|---|---|---|
| FTSE 100Bester Durchlauf | 4 Stunden | 1.17 | 1,514 | 55.75 | 7,580 EUR | -1,646 |
| DAX 40 | Täglich | n/a | 347 | 58.21 | 9,871 EUR | -2,471 |
| GBP/USD | Täglich | n/a | 799 | 55.69 | 7,847 USD | -7,788 |
| Nasdaq 100 | Täglich | n/a | 585 | 50.77 | 2,959 EUR | -1,721 |
Charts
Der Code
// ============================================================ // 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 weitere Zeilen: die Einstiegs- und Ausstiegsregeln.
Setup
Fragen
Ja. Der neu gefasste Code wurde noch nicht auf Kompilierfähigkeit geprüft und die veröffentlichten Statistiken stammen aus dem früheren Code, testen Sie ihn daher im Demo, bevor Sie live gehen.
FTSE 100 4 Stunden erzielte EUR 7,579.90 über 1,514 Trades. DAX 40 Täglich erzielte EUR 9,870.90, GBP/USD Täglich USD 7,847.10 und Nasdaq 100 Täglich EUR 2,959.40.
Der max Drawdown des besten Durchlaufs betrug bei 1 Kontrakt EUR 1,645.70. Da kein Stop vorhanden ist, halten Sie zusätzlichen Spielraum über diesem Wert.
Haltedauern von 30 und 5 Bars benötigen langsamere Bars, um einen echten swing zu erfassen. Alle getesteten Zeilen waren 4 Stunden oder Täglich.
Verwandt
Die ProRealAlgos Community erhält die vollständigen Regeln, den kompletten Code und das automatisierte Portfolio.