Op de wachtlijst
Strategieën / Breakout / Trend Breakout

Trend Breakout

Een fractal high start een dalende trendlijn, en een break van die lijn in twee stappen activeert een buy stop 0.3 ATR(7) boven de recente high. De exits gebruiken een exponentiële band en RSI(2) en sluiten longs zodra RSI op 85 of hoger staat en de prijs terug onder de bovenste band is. Shorts spiegelen de logica.

BreakoutLong & shortSwingUSD/JPY4 uur
n/aProfit factor
161,440Nettowinst JPY
53.36%Winstpercentage
819Trades
-93,910Max drawdown
197Gem. trade

Beste run van 8. USD/JPY, 4 uur, spread 1, uit run sweeps:2026-09-17-USDJPY-4h-opt.tsv:2.

Instapregels, long

  1. Een fractal high (een bar die hoger is dan de twee bars aan elke kant) start een dalende trendlijn
  2. Er wordt een buy stop 0.3 ATR(7) boven de hoogste high van de laatste 2 bars geplaatst en elke bar opnieuw geplaatst zolang de break standhoudt

Instapregels, short

  1. Een fractal low start een stijgende trendlijn
  2. Er wordt een sell stop 0.3 ATR(7) onder de laagste low van de laatste 2 bars geplaatst en elke bar opnieuw geplaatst zolang de break standhoudt

Uitstapregels

  1. Geen vaste stop loss of target
  2. Een longexit wordt geactiveerd wanneer de prijs terugvalt binnen de bovenste exponentiële band (34, 1.618 deviaties) of een nieuwe high of low over 100 bars maakt
  3. Shorts spiegelen dit met de onderste band en RSI(2) op 15 of lager

Testomstandigheden

PeriodeTot 2026-09-17
InstrumentUSD/JPY, 4 uur
Spread1 punten
Contracten1
Startkapitaal1,000,000
KostenAlleen spread. Commissies en overnight financiering zijn niet meegerekend.
BarsTot 200,000 bars, minder waar het instrument minder historie heeft
Laatst getest2026-09-17
Parameters (12)
positionSize
Contracten per trade
1
fractalBars
Bars die het midden van de 5-bar fractal moet overtreffen (structureel, houd op 4)
4
breakoutBars
Bars die worden gebruikt voor de breakout high of low
2
atrPeriod
ATR-lengte voor de instapbuffer
7
atrMultiplier
Instapbuffer voorbij het breakoutniveau, in ATR's
0.3
bandPeriod
Lengte van de exponentiële log-prijsbanden
34
seedPeriod
SMA-lengte die de banden op de eerste bars vult
3
bandWidth
Bandbreedte in standaarddeviaties
1.618
rsiPeriod
RSI-lengte voor de exit
2
overboughtLevel
RSI-niveau dat een longexit vereist
85
oversoldLevel
RSI-niveau dat een shortexit vereist
15
lookbackPeriod
Venster voor de voorgaande swing high en low
100

Elke run

Geteste markten en tijdframes

MarktTijdframePFTradesWinst %NettoMax DD
USD/JPYBeste run4 uurn/a 81953.36161,440 JPY-93,910
USD/JPYDagelijksn/a 30059.00754,540 JPY-174,840
Nikkei 225Dagelijksn/a 26261.0720,201 USD-12,694
ZilverDagelijksn/a 25550.598,055 USD-2,895
Brent-olieDagelijksn/a 11960.504,755 EUR-4,645
GBP/USDDagelijksn/a 33459.883,432 USD-2,003
FTSE 100Dagelijksn/a 29754.552,325 EUR-948
GoudDagelijksn/a 28755.05624 EUR-317

Grafieken

Resultaten per run

NettowinstMax drawdown

De code

ProBuilder, herschreven naar huisstandaard

// ============================================================
// 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)

Nog 67 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

ATRRSIBollinger Bands
Lees dit eerstBekende zwaktes3 punten
  • Geen vaste stop loss of target. De exits hangen alleen af van de band- en RSI-voorwaarden.
  • De vlag die de exit activeert wordt nooit gereset zodra hij is gezet, dus na de eerste geactiveerde exit doet de bandvoorwaarde niet meer mee.
  • De profit factor is voor geen enkele markt vastgelegd. De beste run op USD/JPY 4 uur maakte JPY 161,440 met een max drawdown van JPY 93,910.

Vragen

Over deze strategie

Kan Trend Breakout in ProOrder draaien?

Ja, de instappen zijn openstaande stop orders die één bar geldig zijn. De code is herschreven maar niet op compileerfouten gecontroleerd, en de statistieken komen uit de eerdere versie.

Wat waren de resultaten per markt?

Alle zeven rijen waren winstgevend. USD/JPY Dagelijks maakte JPY 754,540 over 300 trades, en Nikkei 225 Dagelijks maakte USD 20,201.20.

Hoeveel drawdown per contract?

Bij 1 contract had de beste run een max drawdown van JPY 93,910. Gold Dagelijks was veel kleiner met EUR 317.10.

Waarom 4 uur- en dagbars?

Trendlijnen die vanaf fractals worden getekend hebben genoeg bars tussen de swingpunten nodig. Elke geteste rij gebruikte 4 uur- of dagbars.

Gerelateerd

Strategieën zoals deze

Bollinger Squeeze

Gebruikt dezelfde indicator.

14.30 PF · 86 trades

Supertrend Counter Trend

Beste run op dezelfde markt, USD/JPY.

3.47 PF · 1,444 trades

Breakout Regime Filter

Ook een breakout strategie.

6.28 PF · 70 trades

Breaks van trendlijnen zijn moeilijk met de hand te coderen. Bekijk hoe wij ideeën als dit testen in 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