Ställ dig i kön
Strategier / Breakout / Range Breakout And Fakeout

Range Breakout And Fakeout: handla båda sidor av gårdagens intervall

Gårdagens högsta och lägsta definierar ett intervall, och systemet lägger ordrar strax utanför det för breakouts och strax innanför det för fakeouts som faller tillbaka in. Det handlar bara när det intervallet ligger mellan 20 och 150 punkter och hoppar över fredagar. Position size är riskbaserad, på 0.5% av equity delat med stoppavståndet.

BreakoutLong & shortSwingDAX 404 timmar
n/aProfit factor
2,477,210Nettovinst EUR
16.48%Träffsäkerhet
6,779Affärer
-336,797Max drawdown
365Snittaffär

Bästa körningen av 15. DAX 40, 4 timmar, spread 3, från körning sweeps:2026-09-16-DAX40-4h-opt.tsv:2.

Entryregler, long

  1. Gårdagens intervall ligger mellan 20 och 150 punkter och idag är inte fredag
  2. Breakout long: köp till marknadspris när priset redan ligger mer än 10% av intervallet över gårdagens högsta, eller lägg en buy stop 1 punkt över den nivån
  3. Var och en av de fyra entrynivåerna används högst en gång per dag

Entryregler, short

  1. Gårdagens intervall ligger mellan 20 och 150 punkter och idag är inte fredag
  2. Breakout short: gå short till marknadspris när priset redan ligger mer än 10% av intervallet under gårdagens lägsta, eller lägg en sell stop 1 punkt under den nivån
  3. Var och en av de fyra entrynivåerna används högst en gång per dag

Exitregler

  1. Stop loss på dubbla entrymarginalen (10% av intervallet), minst 6 punkter
  2. När en affär är öppen vänder en motsatt stopporder vid den andra kanten positionen

Testvillkor

PeriodTill och med 2026-09-16
InstrumentDAX 40, 4 timmar
Spread3 punkter
Startkapital1,000,000
KostnaderEndast spread. Courtage och overnight-finansiering ingår inte.
BarerUpp till 200,000 barer, färre där instrumentet har kortare historik
Senast testad2026-09-17
Parametrar (10)
startingCapital
Kontostorlek som används för riskbaserad storlek
3000
riskPct
Procent av equity som riskeras per affär
0.5
maxRangePoints
Hoppa över dagen om gårdagens intervall är bredare än detta
150
minRangePoints
Hoppa över dagen om gårdagens intervall är smalare än detta
20
targetRangeMultiple
Vinstmål som en multipel av gårdagens intervall
1.5
rangeMarginFraction
Entrynivåerna ligger denna andel av intervallet inom och utanför varje kant
0.1
stopMarginMultiple
Stop loss som en multipel av entrymarginalen
2
minStopPoints
Minsta tillåtna stop loss i punkter
6
orderOffset
Extra punkter som läggs till stop-entryordrar
1
blockedDay
Veckodag utan nya affärer (5 = fredag)
5

Varje körning

Testade marknader och tidsramar

MarknadTidsramPFAffärerTräff %NettoMax DD
DAX 40Bästa körning4 timmarn/a 6,77916.482,477,210 EUR-336,797
DAX 40Dagn/a 4,27321.8319,248,806 EUR-860,999
FTSE 100Dagn/a 6,73721.794,648,349 EUR-653,406
Nikkei 225Dagn/a 2,88218.49686,515 USD-50,206
BrentoljaDagn/a 2,31521.81410,183 EUR-60,891
Nasdaq 100Dagn/a 4,13119.7559,003 EUR-6,503
S&P 500Dagn/a 3,33524.3544,615 EUR-5,773
GuldDagn/a 1,95927.163,244 EUR-1,039
Dow Jones1 timmen/a 83013.371,903 EUR-1,572
Dow Jones4 timmarn/a 1,01111.771,843 EUR-1,300
Dow Jones30 minn/a 70913.261,816 EUR-1,239
Nasdaq 1005 minn/a 30911.97837 EUR-699
Nasdaq 1003 minn/a 12212.30686 EUR-510
Amerikansk råolja1 minn/a 3423.53615 EUR-173
Nasdaq 1001 minn/a 1822.22449 EUR-239

Diagram

Resultat per körning

De 10 bästa av 15 körningar. Hela listan finns i tabellen ovan.

NettovinstMax drawdown

Koden

ProBuilder, omskriven till husstandard

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

// --- Settings ---
DEFPARAM CumulateOrders = false
DEFPARAM PreloadBars = 10000

// --- Parameters ---
startingCapital = 3000        // account size used for risk sizing
riskPct = 0.5                 // percent of equity risked per trade
maxRangePoints = 150          // skip days when yesterday's range is wider than this
minRangePoints = 20           // skip days when yesterday's range is narrower than this
targetRangeMultiple = 1.5     // profit target as a multiple of yesterday's range
rangeMarginFraction = 0.1     // entry levels sit this fraction of the range inside and outside each edge
stopMarginMultiple = 2        // stop loss as a multiple of that margin
minStopPoints = 6             // floor for the stop loss
orderOffset = 1               // extra points added to stop entries
blockedDay = 5                // no new trades on this weekday (Friday)

// Once-per-day entry flags, one per entry level
ONCE lowerEdgeLongDone = 0
ONCE upperEdgeShortDone = 0
ONCE upperBreakLongDone = 0
ONCE lowerBreakShortDone = 0
ONCE tradingAllowed = 0

// --- Indicators ---
// Reset the daily flags on the first bar of every day except the blocked day.
IF DayOfWeek = blockedDay THEN
  tradingAllowed = 0
ELSE
  IF IntradayBarIndex = 0 THEN
    tradingAllowed = 1
    lowerEdgeLongDone = 0
    upperEdgeShortDone = 0
    upperBreakLongDone = 0
    lowerBreakShortDone = 0
  ENDIF
ENDIF

// Entry levels come from the previous completed day's range.
IF IntradayBarIndex = 0 THEN
  rangeHigh = DHigh(1)
  rangeLow = DLow(1)
  rangePoints = ROUND(rangeHigh - rangeLow)
  targetPoints = rangePoints * targetRangeMultiple
  rangeMargin = rangePoints * rangeMarginFraction
  aboveHigh = rangeHigh + rangeMargin
  belowHigh = rangeHigh - rangeMargin
  aboveLow = rangeLow + rangeMargin
  belowLow = rangeLow - rangeMargin
  stopLossPoints = ROUND(rangeMargin * stopMarginMultiple)
  IF stopLossPoints < minStopPoints THEN
    stopLossPoints = minStopPoints
  ENDIF
ENDIF

// Risk a fixed share of current equity on every trade.
equity = startingCapital + StrategyProfit
maxRisk = ROUND(equity * (riskPct / 100))
positionSize = ABS(ROUND((maxRisk / stopLossPoints) / PointValue) * PipSize)

insideRange = close < rangeHigh - rangeMargin AND close > rangeLow + rangeMargin
aboveRange = close > (rangeHigh + rangeMargin)
belowRange = close < (rangeLow - rangeMargin)
nearHigh = close > rangeHigh - rangeMargin AND close < rangeHigh + rangeMargin
nearLow = close < rangeLow + rangeMargin AND close > rangeLow - rangeMargin

92 rader till: entry- och exitreglerna.

Uppsättning

Så laddar du in den

  1. Kopiera koden med kopieringsknappen på kodblocket.
  2. I ProRealTime, öppna ett diagram för det instrument och den tidsram du vill testa, öppna sedan ProOrder > Nytt handelssystem och välj "Skapa med programmering".
  3. Klistra in koden, ge systemet ett namn och spara det.
  4. Klicka på "Backtest", ange din egen spread och position size, och kör den innan du överväger att handla den live.
Läs det här förstKända svagheter4 punkter
  • Det finns bara svepdata, så profit factor registrerades inte för någon körning, inte heller den bästa på DAX 40 4 timmar.
  • Träffsäkerheten är bara 16.48% på den bästa körningen. Vinsterna beror på ett fåtal stora vinnare, och långa förlustsviter är normalt.
  • Storleken växer med equity, vilket blåser upp huvudsiffrorna. Körningen på DAX 40 Dag visar EUR 19,248,805.5 i nettovinst jämte en drawdown på EUR 860,999.0, siffror som ett konto med fast storlek aldrig skulle se.
  • Upp till fyra väntande ordrar kan vara aktiva och positioner kan vända intraday, vilket gör att liveexekvering och slippage blir svårare att matcha mot backtestet.

Frågor

Om den här strategin

Fungerar den här strategin med automatiserad handel i ProOrder?

Ja, den lägger stopp- och limitordrar som ProOrder kan hantera. Eftersom flera ordrar kan vara väntande samtidigt, kontrollera orderhanteringen på ett demokonto först.

Vilka marknader testades?

Körningar registrerades på DAX 40, FTSE 100, Nikkei 225, Brent Crude, Nasdaq 100, S&P 500, Gold, Dow Jones och US Crude Oil, och ingen av raderna förlorade pengar. De bästa raderna är körningar på Dag och 4 timmar, medan körningarna på 1 minut på US Crude Oil och Nasdaq 100 bara gav EUR 615.0 och EUR 448.5.

Hur kontrolleras risken per affär?

Varje affär riskerar 0.5% av equity, med ett stopp på dubbla entrymarginalen och minst 6 punkter. Den bästa körningen hade ändå en max drawdown på EUR 336,796.7, eftersom storleken växer i takt med att equity ökar.

Varför använda dagsintervall på ett 4-timmarsdiagram?

Intervallet kommer från föregående dag, så ett 4-timmarsdiagram ger några barer per session för att fånga utbrottet eller fakeouten utan bruset från mycket korta diagram.

Relaterat

Strategier som den här

Buy After Price Fall

Bästa körning på samma marknad, DAX 40.

1.88 PF · 312 affärer

Breakout Regime Filter

Även en breakout-strategi.

6.28 PF · 70 affärer

Bollinger Band Walk

Även en breakout-strategi.

3.10 PF · 148 affärer

Nyfiken på hur intervallsystem med ränta-på-ränta beter sig på riktiga konton? Ställ dig i ProRealAlgos-kön.

ProRealAlgos-communityn får de fullständiga reglerna, den kompletta koden och den automatiserade portföljen.

Tidigare backtest-resultat är ingen garanti för framtida resultat. Detta är inte finansiell rådgivning. Kurerat och underhållet av ProRealAlgos. ProRealTime™ är ett varumärke som tillhör ProRealTime SAS. prorealalgos.comStatistikDokumentation