Iscriviti alla lista d'attesa
Strategie / Breakout / Opening Range Breakout

Opening Range Breakout

Ogni giorno il sistema traccia il massimo e il minimo dalla prima barra. Dopo che il prezzo ritraccia almeno il 30% di quel range, piazza un ordine stop 4 punti all'interno del bordo del range e opera la rottura una volta al giorno. I giorni con un range più ampio di 32.5 punti vengono saltati, e gli stessi 32.5 punti sono lo stop.

BreakoutLong & shortSwingNikkei 2251 ora
n/aProfit factor
21,548Profitto netto USD
6.69%Percentuale di successo
957Operazioni
-12,128Max drawdown
22.52Media operazione

Miglior esecuzione su 8. Nikkei 225, 1 ora, spread 10, dall'esecuzione sweeps:2026-09-17-NIKKEI-1h-opt.tsv:2.

Regole di ingresso, long

  1. Ogni giorno, traccia il massimo e il minimo dalla prima barra della giornata
  2. Entrambi i livelli devono essere impostati, il range del giorno deve essere al massimo 32.5 punti e i due livelli distanti almeno 11 punti
  3. Compra alla rottura del buy stop, solo una volta al giorno

Regole di ingresso, short

  1. Una volta che il prezzo è rimbalzato di almeno il 30% del range del giorno dal minimo, attiva un sell stop 4 punti sopra il minimo del giorno
  2. Vendi short alla rottura del sell stop, solo una volta al giorno

Regole di uscita

  1. Stop loss 32.5 punti

Condizioni di test

PeriodoFino al 2026-09-17
StrumentoNikkei 225, 1 ora
Spread10 punti
Contratti2
Capitale iniziale1,000,000
CostiSolo spread. Commissioni e finanziamento overnight non sono inclusi.
BarreFino a 200,000 barre, meno dove lo strumento ha meno storico
Ultimo test2026-09-17
Parametri (5)
positionSize
Contratti per operazione
2
maxAmplitude
Range del giorno più ampio ancora operato, anche lo stop in punti
32.5
minAmplitude
Distanza minima tra i due livelli di ingresso
11
orderDistance
I livelli di ingresso si trovano a questa distanza all'interno dei bordi del range
4
minRangePct
Il prezzo deve ritracciare questa quota del range prima che un livello venga impostato
30

Ogni esecuzione

Mercati e timeframe testati

MercatoTimeframePFOperazioni% successoNettoMax DD
Nikkei 225Miglior esecuzione1 oran/a 9576.6921,548 USD-12,128
DAX 40Giornalieron/a 33114.8019,755 EUR-3,553
Nikkei 2251 minn/a 701.433,777 USD-2,654
Oro5 minn/a 5215.383,519 EUR-1,726
S&P 5001 oran/a 37716.451,985 EUR-1,825
Oro10 minn/a 6410.941,918 EUR-1,349
Oro15 minn/a 9614.581,895 EUR-1,220
S&P 5005 minn/a 807.50798 EUR-752

Grafici

Risultati per esecuzione

Profitto nettoMax drawdown

Il codice

ProBuilder, riscritto secondo lo standard interno

// ============================================================
// Opening Range Breakout
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Breakout
// Direction: Long & short
// Timeframe tested: 1 hour
// ============================================================

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

// --- Parameters ---
positionSize = 2          // contracts per trade
maxAmplitude = 32.5       // widest day range still traded, also the stop in points
minAmplitude = 11         // minimum gap between the two entry levels
orderDistance = 4         // entry levels sit this far inside the range edges
minRangePct = 30          // price must pull back this share of the range before a level is set

// --- Indicators ---
ONCE sessionStarted = -1

// Holiday calendar: no trading on 1 May and on 24, 25, 26, 30 and 31 December.
IF (Month = 5 AND Day = 1) OR (Month = 12 AND (Day = 24 OR Day = 25 OR Day = 26 OR Day = 30 OR Day = 31)) THEN
  tradingDay = 0
ELSE
  tradingDay = 1
ENDIF

// New day: clear both entry levels and fill flags.
IF IntradayBarIndex = 0 THEN
  buyThreshold = 0
  sellThreshold = 0
  longFilled = 0
  shortFilled = 0
  sessionStarted = 1
ENDIF

// Build today's range until both entry levels are set.
IF sessionStarted = 1 AND tradingDay = 1 THEN
  IF buyThreshold = 0 OR sellThreshold = 0 THEN
    rangeHigh = Highest[IntradayBarIndex + 1](high)
    rangeLow = Lowest[IntradayBarIndex + 1](low)
    daySpread = rangeHigh - rangeLow
    minSpread = daySpread * minRangePct / 100

    IF daySpread <= maxAmplitude THEN
      IF sellThreshold = 0 AND (close - rangeLow) >= minSpread THEN
        sellThreshold = rangeLow + orderDistance
      ENDIF
      IF buyThreshold = 0 AND (rangeHigh - close) >= minSpread THEN
        buyThreshold = rangeHigh - orderDistance
      ENDIF
    ENDIF
  ENDIF
ENDIF

Altre 30 righe: le regole di ingresso e di uscita.

Configurazione

Come caricarla

  1. Copia il codice con il pulsante di copia nel blocco di codice.
  2. In ProRealTime, apri un grafico dello strumento e del timeframe che vuoi testare, poi apri ProOrder > Nuovo sistema di trading e scegli "Crea con programmazione".
  3. Incolla il codice, dai un nome al sistema e salvalo.
  4. Clicca "Backtest", imposta il tuo spread e la tua position size, ed eseguila prima di considerare di operare in reale.
Leggi prima questoDebolezze note4 punti
  • La percentuale di successo è molto bassa: 6.69% nella migliore esecuzione su Nikkei 225 1 ora, e 1.43% su Nikkei 225 1 minuto. I profitti dipendono da pochi grandi vincitori.
  • Il profit factor non è stato registrato per nessun mercato. Ogni riga è un dato di sweep.
  • Alcune righe hanno pochissime operazioni, per esempio 52 su Gold 5 minuti e 70 su Nikkei 225 1 minuto, che sono troppo poche per essere affidabili.
  • Opera 2 contratti per segnale e usa uno stop a punti fissi, quindi il rischio per operazione cambia molto tra gli strumenti.

Domande

Su questa strategia

Funziona in ProOrder?

Sì, utilizza ordini stop pendenti supportati da ProOrder. Il codice è stato riscritto e non è ancora stato verificato in compilazione, e le statistiche provengono dalla versione precedente.

Quali sono stati i risultati per mercato?

La migliore è stata Nikkei 225 su 1 ora con USD 21,548.40 su 957 operazioni. DAX 40 Giornaliero ha prodotto EUR 19,755.40 su 331 operazioni, e Gold e S&P 500 sono stati più piccoli ma positivi.

Quanto capitale devo prevedere?

Il test ha usato 2 contratti per operazione. Il max drawdown della migliore esecuzione con quella dimensione è stato USD 12,128.20, quindi dimezza la dimensione se vuoi circa la metà di quell'esposizione.

Perché attendere un pullback prima di attivare l'ordine?

Richiedere un pullback del 30% dall'estremo del giorno significa che il livello viene impostato solo dopo che il mercato ha mostrato entrambi i lati del range, il che filtra i giorni a senso unico.

Correlati

Strategie come questa

Monday Dip Buy

Miglior esecuzione sullo stesso mercato, Nikkei 225.

n/a PF · 146 operazioni

Breakout Regime Filter

Anche una strategia breakout.

6.28 PF · 70 operazioni

Bollinger Band Walk

Anche una strategia breakout.

3.10 PF · 148 operazioni

Scopri come i sistemi sul range del giorno come questo si collocano accanto alle strategie swing. Iscriviti alla lista d'attesa ProRealAlgos.

La community ProRealAlgos ottiene le regole complete, il codice completo e il portafoglio automatizzato.

I risultati passati dei backtest non garantiscono risultati futuri. Questo non è un consiglio finanziario. Curato e mantenuto da ProRealAlgos. ProRealTime™ è un marchio di ProRealTime SAS. prorealalgos.comStatisticheDocumentazione