Sett deg på ventelisten
Strategier / Breakout / Trend Breakout

Trend Breakout

En fraktaltopp starter en fallende trendlinje, og et to-trinns brudd på den linjen aktiverer en buy stop 0.3 ATR(7) over den nylige toppen. Utgangene bruker et eksponentielt bånd og RSI(2), og lukker longs når RSI er 85 eller høyere og prisen er tilbake under det øvre båndet. Shorts speiler logikken.

BreakoutLong & shortSwingUSD/JPY4 timer
n/aProfit factor
161,440Nettogevinst JPY
53.36%Treffprosent
819Handler
-93,910Max drawdown
197Gj.sn. handel

Beste kjøring av 8. USD/JPY, 4 timer, spread 1, fra kjøring sweeps:2026-09-17-USDJPY-4h-opt.tsv:2.

Inngangsregler, long

  1. En fraktaltopp (en bar høyere enn de to barene på hver side) starter en fallende trendlinje
  2. En buy stop plasseres 0.3 ATR(7) over den høyeste toppen i de siste 2 barene og legges på nytt hver bar så lenge bruddet holder

Inngangsregler, short

  1. En fraktalbunn starter en stigende trendlinje
  2. En sell stop plasseres 0.3 ATR(7) under den laveste bunnen i de siste 2 barene og legges på nytt hver bar så lenge bruddet holder

Utgangsregler

  1. Ingen fast stop loss eller mål
  2. En long-utgang aktiveres når prisen faller tilbake innenfor det øvre eksponentielle båndet (34, 1.618 avvik) eller lager en ny 100-bars topp eller bunn
  3. Shorts speiler dette med det nedre båndet og RSI(2) på 15 eller lavere

Testbetingelser

PeriodeFrem til 2026-09-17
InstrumentUSD/JPY, 4 timer
Spread1 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-17
Parametere (12)
positionSize
Kontrakter per handel
1
fractalBars
Barer som midten av 5-bars fraktalen må overgå (strukturelt, behold på 4)
4
breakoutBars
Barer brukt for breakout-toppen eller -bunnen
2
atrPeriod
ATR-lengde for inngangsbufferen
7
atrMultiplier
Inngangsbuffer utover breakout-nivået, i ATR-er
0.3
bandPeriod
Lengde på de eksponentielle log-prisbåndene
34
seedPeriod
SMA-lengde brukt til å initialisere båndene på tidlige barer
3
bandWidth
Båndbredde i standardavvik
1.618
rsiPeriod
RSI-lengde for utgangen
2
overboughtLevel
RSI-nivå som en long-utgang krever
85
oversoldLevel
RSI-nivå som en short-utgang krever
15
lookbackPeriod
Vindu for den forrige swing-toppen og -bunnen
100

Hver kjøring

Markeder og tidsrammer som er testet

MarkedTidsrammePFHandlerTreff %NettoMax DD
USD/JPYBeste kjøring4 timern/a 81953.36161,440 JPY-93,910
USD/JPYDaglign/a 30059.00754,540 JPY-174,840
Nikkei 225Daglign/a 26261.0720,201 USD-12,694
SølvDaglign/a 25550.598,055 USD-2,895
Brent råoljeDaglign/a 11960.504,755 EUR-4,645
GBP/USDDaglign/a 33459.883,432 USD-2,003
FTSE 100Daglign/a 29754.552,325 EUR-948
GullDaglign/a 28755.05624 EUR-317

Diagrammer

Resultater per kjøring

NettogevinstMax drawdown

Koden

ProBuilder, omskrevet til husstandard

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

ATRRSIBollinger Bands
Les dette førstKjente svakheter3 poeng
  • Ingen fast stop loss eller mål. Utgangene avhenger bare av båndet og RSI-betingelsene.
  • Utgangsflagget nullstilles aldri når det først er satt, så etter den første aktiverte utgangen betyr båndbetingelsen ikke noe lenger.
  • Profit factor ble ikke registrert for noe marked. Den beste kjøringen på USD/JPY 4 timer ga JPY 161,440 med en max drawdown på JPY 93,910.

Spørsmål

Om denne strategien

Kan Trend Breakout kjøres i ProOrder?

Ja, inngangene er ventende stop-ordrer som er gyldige i én bar. Koden er skrevet om, men ikke kompileringssjekket, og statistikken er fra den tidligere versjonen.

Hva var resultatene per marked?

Alle sju radene var lønnsomme. USD/JPY Daglig ga JPY 754,540 over 300 handler, og Nikkei 225 Daglig ga USD 20,201.20.

Hvor stor drawdown per kontrakt?

Med 1 kontrakt hadde den beste kjøringen en max drawdown på JPY 93,910. Gold Daglig var mye mindre med EUR 317.10.

Hvorfor 4-timers- og dagsbarer?

Trendlinjer tegnet fra fraktaler trenger nok barer mellom swing-punktene. Hver testede rad brukte 4-timers- eller dagsbarer.

Relatert

Strategier som denne

Bollinger Squeeze

Bruker samme indikator.

14.30 PF · 86 handler

Supertrend Counter Trend

Beste kjøring på samme marked, USD/JPY.

3.47 PF · 1,444 handler

Breakout Regime Filter

Også en breakout-strategi.

6.28 PF · 70 handler

Trendlinjebrudd er vanskelige å kode manuelt. Se hvordan vi tester ideer som denne i ProRealAlgos-fellesskapet.

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