Guarda come scaricare robot di trading gratuitamente
Ci trovi su Telegram!
Unisciti alla nostra fan page
Script interessante?
Pubblica il link!
lasciare che altri lo valutino
Ti è piaciuto lo script? Provalo nel Terminale MetaTrader 5
Indicatori

Turtle Breakout Indicator Tested on Gold: Profitable in 2025 and 2026 (70) - indicatore per MetaTrader 5

Ali Akbar
Ali Akbar
  • MQL5 Developer & Algorithmic Trading Specialist al  Freelance
  • Pakistan
  • 2148
Hi, I'm Ali. 24 years old, trading for around 5 years, and developing MQL5/MQL4 tools. I mainly work on automating manual strategies, fixing broken EA logic, and building clean indicators. I care more about clean architecture and proper risk management than over-complicated code. Always down to talk
| Italian English Русский 中文 Español Deutsch 日本語 Português 한국어 Français Türkçe
Visualizzazioni:
22
Valutazioni:
(2)
Pubblicato:
Freelance MQL5 Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance

Breakout Exit Lab: Breakout di Donchian con tre strategie di uscita confrontate fianco a fianco

Individua i breakout dal canale di Donchian in stile Turtle e li segue tutti con tre uscite contemporanee: uno stop trailing basato sull'ATR, il canale di uscita Turtle e un obiettivo fisso. Un pannello mostra quale uscita ha generato il massimo profitto sul tuo simbolo, in R, spread incluso. Senza repainting, con buffer per un Expert Advisor.

Perché tre uscite

I sistemi di breakout si basano interamente sull’uscita. L’entrata è semplice e su questo tutti sono d’accordo: se il prezzo chiude al di sopra del massimo più alto delle ultime 20 barre, si acquista. Dopodiché iniziano le discussioni. Seguirlo con l’ATR? Utilizzare il canale di uscita a 10 barre delle Turtle? Prendere un 2R fisso e chiudere la posizione?

Ogni indicatore di breakout che ho trovato sceglie un’uscita e la traccia. Volevo vedere tutte e tre le opzioni sugli stessi punti di ingresso, sul mio simbolo, prima di scegliere. Quindi questo indicatore prende ogni breakout e lo elabora con tre uscite in parallelo, poi affianca i risultati.

Come viene definito un breakout

  1. Il canale di ingresso è costituito dal massimo più alto e dal minimo più basso delle barre InpEntryBars precedenti (20 per impostazione predefinita, Turtle System 1).
  2. Un segnale di acquisto è una barra chiusa che chiude al di sopra del massimo del canale, mentre la barra precedente non lo ha fatto. Un segnale di vendita è l’immagine speculare. Conta solo la prima chiusura oltre il canale, quindi un trend forte non produce una freccia su ogni barra.
  3. L’operazione ha inizio all’apertura della barra successiva. Lo stop iniziale è pari a InpStopATR moltiplicato per l’ATR (2,0 x ATR(20), il “2N” dei Turtles).
  4. Un filtro di tendenza opzionale mantiene solo i breakout sul lato di una media mobile esponenziale (EMA) a 200 periodi. È disattivato per impostazione predefinita.

Le tre uscite

  • A. Trail ATR. Lo stop segue il prezzo migliore dall’entrata a una distanza pari a InpTrailATR moltiplicato per l’ATR (3,0 per impostazione predefinita) e non torna mai indietro.
  • B. Canale di uscita delle Tartarughe. Lo stop segue il minimo più basso delle ultime InpExitBars barre per una posizione lunga (10 per impostazione predefinita, Sistema 1) e il massimo più alto per una posizione corta.
  • C. Obiettivo fisso. Un take profit pari a InpTargetR moltiplicato per il rischio iniziale (2R per impostazione predefinita), con lo stop iniziale.

Ogni risultato è misurato in R, dove 1R è la distanza dall’entrata allo stop iniziale. Lo spread della barra del segnale viene sottratto come costo. Uno stop superato da un gap di prezzo viene eseguito al prezzo di apertura della barra, non al prezzo dello stop. Quando sia lo stop che l’obiettivo si trovano all’interno di una singola barra, lo stop viene conteggiato, poiché una singola barra non permette di stabilire quale dei due si sia verificato per primo.

Ogni breakout viene valutato separatamente, quindi le operazioni possono sovrapporsi. Il pannello mostra un confronto tra le uscite relative allo stesso insieme di entrate. Non si tratta di una simulazione di conto con dimensionamento delle posizioni.

Cosa mostra il pannello

  • Il numero di breakout, suddivisi in long e short, e quanti sono ancora aperti.
  • Per ogni uscita: operazioni chiuse, percentuale di successo, fattore di profitto, R medio e somma in R.
  • Per l’uscita che scegli di tracciare (InpDrawExit): le somme delle posizioni lunghe e corte separatamente, in modo da poter vedere se un lato determina il risultato.

L’uscita scelta viene tracciata anche sul grafico. Ogni operazione è contrassegnata da una linea di ingresso e dal relativo risultato in R, mentre lo stop dell’ultima operazione è rappresentato da una linea tratteggiata.

Risultati sull’oro

XAUUSD, dati MetaQuotes-Demo, parametri predefiniti. La simulazione del 2025 copre i 360 giorni fino al 31 dicembre 2025. La simulazione del 2026 copre i 260 giorni fino al 18 settembre 2026.

XAUUSD Operazioni Tasso di successo PF Somma
H4 2025, uscita A (ATR trail) 129 43,4% 1,45 +23,08R
H4 2025, uscita B (canale a 10 barre) 129 41,1% 2,34 +66,20R
H4 2025, uscita C (obiettivo 2R) 129 45,7% 1,68 +47,83R
H4 2026, uscita A 76 35,5% 1,10 +3,46R
H4 2026, uscita B 76 35,5% 1,70 +22,35R
H4 2026, uscita C 75 38,7% 1,26 +11,99R
H1 2025, uscita A 465 37,6% 1,32 +70,32R
1° semestre 2025, uscita B 465 37,8% 1,23 +51,18R
1° semestre 2025, uscita C 465 37,8% 1,21 +60,32R
Primo semestre 2026, uscita A 270 39,6% 1,21 +25,14R
1° semestre 2026, uscita B 270 40,4% 1,29 +35,15R
1° semestre 2026, uscita C 269 38,3% 1,23 +39,06R

Tutti e dodici sono positivi. Su H4 il canale di uscita Turtle è stato il migliore in entrambi gli anni, mentre il trail ATR è risultato il più debole. Su H1 non c'è stato un vincitore chiaro: il trail ha prevalso nel 2025 e l'obiettivo fisso nel 2026. Questo è il motivo per cui esiste il panel. La “migliore strategia di uscita” variava a seconda del timeframe e dell’anno, anche per un singolo titolo.

Ora la parte importante, prima che qualcuno si entusiasmi troppo. L’oro è salito molto nel 2025, e questo si riflette nella ripartizione. Con l’uscita B su H4, le 99 posizioni lunghe hanno guadagnato +79,4R e le 30 posizioni corte hanno perso -13,2R. Nel 2026 l’oro ha oscillato in entrambe le direzioni e entrambe le parti hanno registrato risultati positivi: 42 posizioni lunghe hanno guadagnato +14,9R e 34 posizioni corte hanno guadagnato +7,5R.

Per capire in che misura ciò sia dovuto al trend dell’oro, ho applicato le stesse impostazioni predefinite a tre coppie di valute sul grafico H4 nello stesso periodo del 2026:

H4 2026 Somma uscita A (PF) Somma uscita B (PF) Somma uscita C (PF)
EURUSD -11,74R (0,68) -3,86R (0,89) -5,97R (0,88)
GBPUSD -9,21R (0,77) -3,15R (0,91) +6,90R (1,13)
USDJPY +1,30R (1,03) +0,73R (1,02) +3,03R (1,06)

Da stabile a negativo. I breakout richiedono un mercato in trend, e in questo periodo l’oro lo era mentre queste coppie per lo più non lo erano. Quindi interpreto i dati sull’oro come “i breakout hanno funzionato mentre l’oro era in trend”, non come prova che funzioneranno sempre.

Fig. 1. XAUUSD H4, da fine luglio ametà settembre 2026: frecce di breakout, il canale di ingresso e il risultato di ciascuna operazione con uscita B

Fig. 2. Il pannello per XAUUSD H4 nel 2025 e nel 2026, con l’uscita B tracciata

Dati di input

Dati di input Predefinito Cosa fa
InpEntryBars 20 Lunghezza del canale di ingresso in barre
InpExitBars 10 Lunghezza del canale di uscita per l'uscita B
InpATRPeriod 20 Periodo ATR
InpStopATR 2,0 Stop iniziale, multipli dell'ATR
InpTrailATR 3,0 Distanza di trail di uscita, multipli dell'ATR
InpTargetR 2,0 Uscita C: take profit, multipli di R
InpUseTrend false Conserva solo i breakout sul lato del trend EMA
InpTrendEMA 200 Periodo dell'EMA di tendenza, timeframe del grafico
InpDrawExit A. Trail ATR Punto di uscita tracciato sul grafico e inviato ai buffer da 6 a 9
InpDaysBack 365 Giorni di dati storici nella scheda di valutazione
InpDrawDays 60 Giorni con linee di trading tracciate
InpShowPanel true Mostra il pannello
InpPanelCorner sinistra in alto Angolo del pannello
InpAlertPopup true Avviso popup in caso di nuovo breakout
InpAlertPush false Notifica push in caso di un nuovo breakout

Per il classico Turtle System 2, impostare InpEntryBars su 55 e InpExitBars su 20.

Utilizzo da un Expert Advisor

Un breakout viene registrato sulla barra che ha chiuso oltre il canale, quindi un EA lo legge allo shift 1 una volta che quella barra si è chiusa. Le frecce vengono mantenute sull'intera cronologia caricata, non solo all'interno della finestra di analisi. Ho verificato nel Strategy Tester che i segnali rilevati in tempo reale dall’EA corrispondessero esattamente a quelli presenti nei buffer al termine dell’esecuzione: 473 su 473 su H1 e 131 su 131 su H4 per l’oro nel 2025.

Buffer Contenuto
0 Acquisto al breakout, il valore è l’entrata pianificata (apertura della barra successiva), EMPTY_VALUE in caso contrario
1 Vendi al breakout, stesso formato
2, 3 Massimo e minimo del canale di ingresso
4 Stop dell'ultima operazione al di sotto del livello di uscita tracciato
5 Stop iniziale sulla barra di breakout
da 6 a 9 Scheda riassuntiva dell'uscita tracciata sull'ultima barra chiusa: operazioni chiuse, profitti, somma in R, somma delle perdite in R
int      handle;
datetime lastBar = 0;

int OnInit()
  {
   handle = iCustom(_Symbol, PERIOD_H4, "BreakoutExitLab");
   return(handle == INVALID_HANDLE ? INIT_FAILED : INIT_SUCCEEDED);
  }

void OnTick()
  {
   //--- I breakout vengono confermati sulle barre chiuse, quindi controlla una volta per ogni nuova barra
   datetime bar = iTime(_Symbol, PERIOD_H4, 0);
   if(bar == lastBar)
      return;
   lastBar = bar;

   double buy[1], sell[1], stop[1];
   if(CopyBuffer(handle, 0, 1, 1, buy) < 1 || CopyBuffer(handle, 1, 1, 1, sell) < 1 ||
      CopyBuffer(handle, 5, 1, 1, stop) < 1)
      return;

   if(buy[0] != EMPTY_VALUE)
      Print("Breakout buy, initial stop ", stop[0]);
   if(sell[0] != EMPTY_VALUE)
      Print("Breakout sell, initial stop ", stop[0]);
  }

L’indicatore non ha gruppi di input di proposito. MQL5 considera ogni “gruppo di input” come un parametro di iCustom(), e ogni valore successivo verrebbe spostato di una posizione.

Una piccola cosa che ho imparato mentre creavo il pannello: l’etichetta di un grafico può contenere al massimo 63 caratteri. Le prime righe del mio pannello erano più lunghe e MetaTrader le tagliava a metà di un numero, quindi ora le righe sono più brevi.

Limiti

I risultati derivano dai dati delle barre, quindi l’ordine degli eventi all’interno di una singola barra è sconosciuto. Viene addebitato solo lo spread, senza commissioni né slippage al di là dei gap attraverso lo stop. Le operazioni vengono valutate una per una e possono sovrapporsi, quindi le somme non costituiscono una curva del capitale. Ogni dato riportato sopra proviene dai dati di un broker relativi a due periodi in cui l’oro ha registrato un forte trend.

Ali Rajput


Tradotto dall’inglese da MetaQuotes Ltd.
Codice originale https://www.mql5.com/en/code/77687

ATS Confirmed Swings - non-repainting swing highs and lows ATS Confirmed Swings - non-repainting swing highs and lows

Segna i massimi e i minimi di oscillazione solo dopo che le barre chiuse con N li hanno confermati, quindi un’oscillazione tracciata non si sposta né scompare mai.

Basket Pair Closer Basket Pair Closer

Position manager for MT5 that closes the best winner together with the worst loser when their combined result reaches your minimum. Basket take profit and stop loss in money, magic filter, simple panel. Works with grid, martingale and manual trades. Open source code.

DataSnooping: SPA test, Reality Check, StepM and model confidence set DataSnooping: SPA test, Reality Check, StepM and model confidence set

Is the best of many strategies really better than the benchmark? Hansen's SPA test, White's Reality Check, Romano-Wolf StepM and the model confidence set.

Swap Markup Scanner Swap Markup Scanner

Shows the broker's hidden financing markup and the carry for every symbol, as annual % of notional.