Auf die Warteliste
Strategien / Breakout / Trend Breakout

Trend Breakout

Ein fraktales Hoch beginnt eine fallende Trendlinie, und ein zweistufiger Bruch dieser Linie aktiviert einen Buy-Stop 0.3 ATR(7) über dem letzten Hoch. Ausstiege nutzen ein exponentielles Band und RSI(2) und schließen Longs, sobald RSI bei 85 oder höher steht und der Preis zurück unter dem oberen Band liegt. Shorts spiegeln die Logik.

BreakoutLong & ShortSwingUSD/JPY4 Stunden
n/aProfit Factor
161,440Nettogewinn JPY
53.36%Trefferquote
819Trades
-93,910Max Drawdown
197Durchschn. Trade

Bester von 8 Durchläufen. USD/JPY, 4 Stunden, Spread 1, aus Durchlauf sweeps:2026-09-17-USDJPY-4h-opt.tsv:2.

Einstiegsregeln, Long

  1. Ein fraktales Hoch (ein Bar höher als die zwei Bars auf jeder Seite) beginnt eine fallende Trendlinie
  2. Ein Buy-Stop wird 0.3 ATR(7) über dem höchsten Hoch der letzten 2 Bars platziert und bei jedem Bar neu platziert, solange der Bruch hält

Einstiegsregeln, Short

  1. Ein fraktales Tief beginnt eine steigende Trendlinie
  2. Ein Sell-Stop wird 0.3 ATR(7) unter dem tiefsten Tief der letzten 2 Bars platziert und bei jedem Bar neu platziert, solange der Bruch hält

Ausstiegsregeln

  1. Kein fester Stop Loss oder Ziel
  2. Ein Long-Ausstieg wird aktiviert, wenn der Preis zurück in das obere exponentielle Band (34, 1.618 Abweichungen) fällt oder ein neues Hoch oder Tief über 100 bars bildet
  3. Shorts spiegeln dies mit dem unteren Band und RSI(2) bei 15 oder niedriger

Testbedingungen

ZeitraumBis 2026-09-17
InstrumentUSD/JPY, 4 Stunden
Spread1 Punkt
Kontrakte1
Startkapital1,000,000
KostenNur Spread. Kommissionen und Overnight-Finanzierung sind nicht enthalten.
BarsBis zu 200,000 Bars, weniger wo das Instrument weniger Historie hat
Zuletzt getestet2026-09-17
Parameter (12)
positionSize
Kontrakte pro Trade
1
fractalBars
Bars, die das Zentrum des 5-bar-Fraktals übertreffen muss (strukturell, bei 4 belassen)
4
breakoutBars
Bars, die für das Breakout Hoch oder Tief verwendet werden
2
atrPeriod
ATR-Länge für den Einstiegspuffer
7
atrMultiplier
Einstiegspuffer über dem Breakout Niveau, in ATRs
0.3
bandPeriod
Länge der exponentiellen Log-Preis-Bänder
34
seedPeriod
SMA-Länge, die die Bänder auf den ersten bars initialisiert
3
bandWidth
Bandbreite in Standardabweichungen
1.618
rsiPeriod
RSI-Länge für den Ausstieg
2
overboughtLevel
RSI-Niveau, das ein Long-Ausstieg benötigt
85
oversoldLevel
RSI-Niveau, das ein Short-Ausstieg benötigt
15
lookbackPeriod
Fenster für das vorherige swing Hoch und Tief
100

Jeder Durchlauf

Getestete Märkte und Zeiteinheiten

MarktZeiteinheitPFTradesTreffer %NettoMax DD
USD/JPYBester Durchlauf4 Stundenn/a 81953.36161,440 JPY-93,910
USD/JPYTäglichn/a 30059.00754,540 JPY-174,840
Nikkei 225Täglichn/a 26261.0720,201 USD-12,694
SilberTäglichn/a 25550.598,055 USD-2,895
Brent-RohölTäglichn/a 11960.504,755 EUR-4,645
GBP/USDTäglichn/a 33459.883,432 USD-2,003
FTSE 100Täglichn/a 29754.552,325 EUR-948
GoldTäglichn/a 28755.05624 EUR-317

Charts

Ergebnisse je Durchlauf

NettogewinnMax Drawdown

Der Code

ProBuilder, auf Hausstandard umgeschrieben

// ============================================================
// Trend Breakout
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Breakout
// Direction: Long & short
// Timeframe tested: 4 hours
// ============================================================

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

// --- Parameters ---
positionSize = 1          // contracts per trade
fractalBars = 4           // bars the centre of the 5-bar fractal must beat, keep at 4
breakoutBars = 2          // bars for the breakout high / low
atrPeriod = 7             // ATR length for the entry buffer
atrMultiplier = 0.3       // entry buffer beyond the breakout level, in ATRs
bandPeriod = 34           // length of the log-price exponential bands
seedPeriod = 3            // SMA used to seed the bands on early bars
bandWidth = 1.618         // band width in standard deviations
rsiPeriod = 2             // RSI length for the exit
overboughtLevel = 85      // long exit needs RSI at or above this
oversoldLevel = 15        // short exit needs RSI at or below this
lookbackPeriod = 100      // window for the prior swing high / low

// State, seeded so every value is defined on the first bar.
ONCE fractalHighCount = 0
ONCE fractalLowCount = 0
ONCE trendBreak = 0
ONCE bearSetup = 0
ONCE bullSetup = 0
ONCE fractalHigh = 0
ONCE fractalLow = 0
ONCE fractalBar = 0
ONCE trendHeight = 0
ONCE closeHeight = 0
ONCE maxAngle = 0
ONCE logEma = 0
ONCE logVariance = 0
ONCE longExitArmed = 0
ONCE shortExitArmed = 0

// --- Indicators ---
// Count how many of the last five bars the bar two back beats.
FOR i = 0 TO fractalBars DO
  IF high[2] > high[i] THEN
    fractalHighCount = fractalHighCount + 1
  ENDIF
  IF low[2] < low[i] THEN
    fractalLowCount = fractalLowCount + 1
  ENDIF
NEXT

// A fractal high starts a bearish trend line, a fractal low a bullish one.
IF fractalHighCount = fractalBars THEN
  IF bearSetup = 0 AND bullSetup = 0 THEN
    bearSetup = 1
  ENDIF
  fractalHigh = high[2]
  fractalBar = BarIndex - 2
ENDIF
IF fractalLowCount = fractalBars THEN
  IF bearSetup = 0 AND bullSetup = 0 THEN
    bullSetup = 1
  ENDIF
  fractalLow = low[2]
  fractalBar = BarIndex - 2
ENDIF
fractalHighCount = 0
fractalLowCount = 0

IF bearSetup = 1 THEN
  trendHeight = fractalHigh - high
  closeHeight = fractalHigh - close
ELSIF bullSetup = 1 THEN
  trendHeight = low - fractalLow
  closeHeight = close - fractalLow
ENDIF

// Track the steepest angle of the trend line from the fractal, then detect
// a two-step break of that line (trendBreak 1, then 2).
IF BarIndex - 2 = fractalBar THEN
  maxAngle = Tan(2 / trendHeight)
ENDIF
IF BarIndex - 2 > fractalBar THEN
  IF bearSetup = 1 THEN
    IF Tan((BarIndex - fractalBar) / trendHeight) > maxAngle AND (close < open OR close < close[1]) THEN
      maxAngle = Tan((BarIndex - fractalBar) / trendHeight)
      trendBreak = 0
    ENDIF
    IF trendBreak = 0 AND Tan((BarIndex - fractalBar) / closeHeight) > maxAngle AND close > open THEN
      trendBreak = 1
    ELSIF trendBreak = 1 AND Tan(((BarIndex - 1) - fractalBar) / closeHeight) > maxAngle AND close > close[1] THEN
      trendBreak = 2
    ENDIF
  ELSIF bullSetup = 1 THEN
    IF Tan((BarIndex - fractalBar) / trendHeight) > maxAngle AND (close > open OR close > close[1]) THEN
      maxAngle = Tan((BarIndex - fractalBar) / trendHeight)
      trendBreak = 0
    ENDIF
    IF trendBreak = 0 AND Tan((BarIndex - fractalBar) / closeHeight) > maxAngle AND close < open THEN
      trendBreak = 1
    ELSIF trendBreak = 1 AND Tan(((BarIndex - 1) - fractalBar) / closeHeight) > maxAngle AND close < close[1] THEN
      trendBreak = 2
    ENDIF
  ENDIF
ENDIF

atrValue = AverageTrueRange[atrPeriod](close)

67 weitere Zeilen: die Einstiegs- und Ausstiegsregeln.

Setup

So laden Sie es

  1. Kopieren Sie den Code mit der Schaltfläche Kopieren im Codeblock.
  2. Öffnen Sie in ProRealTime einen Chart des Instruments und der Zeiteinheit, die Sie testen möchten, öffnen Sie dann ProOrder > Neues Handelssystem und wählen Sie "Mit Programmierung erstellen".
  3. Fügen Sie den Code ein, geben Sie dem System einen Namen und speichern Sie es.
  4. Klicken Sie auf "Backtest", legen Sie Ihren eigenen Spread und Ihre eigene Position Size fest und lassen Sie sie laufen, bevor Sie erwägen, sie live zu handeln.

Verwendete Indikatoren

ATRRSIBollinger Bands
Bitte zuerst lesenBekannte Schwächen3 Punkte
  • Kein fester Stop Loss und kein festes Ziel. Ausstiege hängen allein von den Band- und RSI-Bedingungen ab.
  • Das Flag für den aktivierten Ausstieg wird nach dem Setzen nie zurückgesetzt, daher spielt die Band-Bedingung nach dem ersten aktivierten Ausstieg keine Rolle mehr.
  • Für keinen Markt wurde ein Profit Factor erfasst. Der beste Durchlauf auf USD/JPY 4 Stunden erzielte JPY 161,440 mit einem max Drawdown von JPY 93,910.

Fragen

Über diese Strategie

Kann Trend Breakout in ProOrder laufen?

Ja, Einstiege sind schwebende Stop-Orders, die für einen Bar gültig sind. Der Code wurde neu geschrieben, aber nicht auf Kompilierfehler geprüft, und die Statistik stammt aus der früheren Version.

Wie waren die Ergebnisse je Markt?

Alle sieben Zeilen waren profitabel. USD/JPY Täglich erzielte JPY 754,540 über 300 Trades, und Nikkei 225 Täglich erzielte USD 20,201.20.

Wie viel Drawdown pro Kontrakt?

Mit 1 Kontrakt hatte der beste Durchlauf einen max Drawdown von JPY 93,910. Gold Täglich war mit EUR 317.10 viel kleiner.

Warum 4-Stunden- und Tagesbars?

Trendlinien, die aus Fraktalen gezeichnet werden, brauchen genügend bars zwischen den swing-Punkten. Jede getestete Zeile nutzte 4-Stunden- oder Tages-bars.

Verwandt

Strategien wie diese

Bollinger Squeeze

Verwendet denselben Indikator.

14.30 PF · 86 Trades

Supertrend Counter Trend

Bester Durchlauf auf demselben Markt, USD/JPY.

3.47 PF · 1,444 Trades

Breakout Regime Filter

Ebenfalls eine Breakout-Strategie.

6.28 PF · 70 Trades

Trendlinienbrüche sind schwer von Hand zu programmieren. Sehen Sie, wie wir Ideen wie diese in der ProRealAlgos Community testen.

Die ProRealAlgos Community erhält die vollständigen Regeln, den kompletten Code und das automatisierte Portfolio.

Vergangene Backtest-Ergebnisse sind keine Garantie für zukünftige Ergebnisse. Dies ist keine Finanzberatung. Kuratiert und gepflegt von ProRealAlgos. ProRealTime™ ist eine Marke der ProRealTime SAS. prorealalgos.comStatistikDokumentation