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.
Beste kjøring av 8. USD/JPY, 4 timer, spread 1, fra kjøring sweeps:2026-09-17-USDJPY-4h-opt.tsv:2.
| Periode | Frem til 2026-09-17 |
| Instrument | USD/JPY, 4 timer |
| Spread | 1 poeng |
| Kontrakter | 1 |
| Startkapital | 1,000,000 |
| Kostnader | Kun spread. Kommisjoner og overnattfinansiering er ikke inkludert. |
| Barer | Opptil 200,000 barer, færre der instrumentet har kortere historikk |
| Sist testet | 2026-09-17 |
| 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
| Marked | Tidsramme | PF | Handler | Treff % | Netto | Max DD |
|---|---|---|---|---|---|---|
| USD/JPYBeste kjøring | 4 timer | n/a | 819 | 53.36 | 161,440 JPY | -93,910 |
| USD/JPY | Daglig | n/a | 300 | 59.00 | 754,540 JPY | -174,840 |
| Nikkei 225 | Daglig | n/a | 262 | 61.07 | 20,201 USD | -12,694 |
| Sølv | Daglig | n/a | 255 | 50.59 | 8,055 USD | -2,895 |
| Brent råolje | Daglig | n/a | 119 | 60.50 | 4,755 EUR | -4,645 |
| GBP/USD | Daglig | n/a | 334 | 59.88 | 3,432 USD | -2,003 |
| FTSE 100 | Daglig | n/a | 297 | 54.55 | 2,325 EUR | -948 |
| Gull | Daglig | n/a | 287 | 55.05 | 624 EUR | -317 |
Diagrammer
Koden
// ============================================================ // 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
Spørsmål
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.
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.
Med 1 kontrakt hadde den beste kjøringen en max drawdown på JPY 93,910. Gold Daglig var mye mindre med EUR 317.10.
Trendlinjer tegnet fra fraktaler trenger nok barer mellom swing-punktene. Hver testede rad brukte 4-timers- eller dagsbarer.
Relatert
ProRealAlgos-fellesskapet får de fullstendige reglene, hele koden og den automatiserte porteføljen.