Guarda come scaricare robot di trading gratuitamente
Ci trovi su Twitter!
Unisciti alla nostra fan page
Script interessante?
Pubblica il link!
lasciare che altri lo valutino
Ti è piaciuto lo script? Provalo nel Terminale MetaTrader 5
Visualizzazioni:
66
Valutazioni:
(7)
Pubblicato:
Aggiornato:
\MQL5\Files\
trend_detector.onnx (6444.66 KB)
Freelance MQL5 Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance

Backtest EURUSD 01/03/2025 - 20/01/2026 Timeframe M5(formazione ONNX AI specifica per M5-M15)

Backtest GBPUSD 01/03/2025 - 20/01/2026 Timeframe M5 (formazione ONNX AI specifica per M5-M15)


1. Panoramica generale

SidewaysMartingale è un Expert Advisor progettato per negoziare mercati laterali (range-bound) utilizzando una strategia di recupero della martingala, arricchita da un rilevatore di trend basato sull'AI implementato tramite un modello ONNX.

L'EA combina:

  • Classificazione AI delle tendenze (laterale / rialzista / ribassista)

  • Indicatore di inviluppo per entrate basate sul range

  • Scalatura controllata della posizione della martingala

  • Chiusura del paniere basata sul profitto

  • Stop di emergenza basato sul margine

L'idea di base è:

Fare trading solo quando il mercato è statisticamente classificato come laterale ed evitare di aggiungere posizioni di martingala quando si rileva una forte tendenza.


2. Rilevatore di tendenze AI (integrazione ONNX)

Output del modello ONNX

Il modello ONNX restituisce:

  • Un'etichetta prevista (non utilizzata direttamente)

  • Un vettore di probabilità con tre probabilità:

Variabile Significato
prob_side Probabilità che il mercato sia laterale/divergente
prob_bull Probabilità che il mercato sia rialzista (uptrend)
prob_bear Probabilità che il mercato sia ribassista (downtrend)

Queste probabilità vengono estratte come:

float prob_side = prob_data[0].values[0]; float prob_bull = prob_data[0].values[1]; float prob_bear = prob_data[0].values[2];


3. Ingegnerizzazione delle caratteristiche (input dell'intelligenza artificiale)

L'EA inserisce 9 caratteristiche ingegnerizzate nel modello ONNX:

Caratteristica Indice Descrizione
f[0] Pendenza EMA200 (direzione e forza del trend)
f[1] Distanza del prezzo dall'EMA200
f[2] Valore ATR (volatilità)
f[3] Intervallo di candele normalizzato dall'ATR
f[4] Pressione di breakout rispetto al massimo precedente
f[5] Dominanza del corpo della candela
f[6] Giorno della settimana
f[7] Ora del giorno
f[8] Direzione della candela precedente


Queste caratteristiche consentono al modello AI di rilevare:

  • Volatilità del mercato

  • Forza della tendenza

  • Modelli comportamentali basati sul tempo

  • Comportamento della struttura dei prezzi


4. Logica di rilevamento dei mercati laterali

Un mercato è considerato laterale quando:

bool is_sideway = (prob_side >= InpAISidewayThreshold);

Esempio:

  • Se InpAISidewayThreshold = 0,70

  • Allora è necessario un livello di confidenza di almeno il 70% per classificare il mercato come laterale.

👉 Non vengono aperte nuove operazioni se questa condizione non è soddisfatta.


5. Logica di entrata (Scalping in range)

L'EA utilizza gli Inviluppi per rilevare gli estremi del range.

Entrata in acquisto

if(price_close <= lower[0] && is_sideway)

  • Il prezzo tocca o rompe l'inviluppo inferiore

  • L'AI conferma un mercato laterale

  • Apre una posizione BUY

Entrata di vendita

else if(price_close >= upper[0] && is_sideway)

  • Il prezzo tocca o rompe la busta superiore

  • L'AI conferma un mercato laterale

  • Apre una posizione di VENDITA

💡 In questo modo si garantisce che le operazioni vengano effettuate solo agli estremi del range in condizioni di non-trending.


6. Logica di recupero Martingala

Quando esistono già delle posizioni, l'EA applica una martingala basata sulla distanza:

  • La nuova posizione viene aperta solo se il prezzo si allontana di una determinata distanza in pip.

  • La dimensione del lotto aumenta utilizzando un moltiplicatore ( LotMultiplier )

  • Il numero massimo di operazioni è limitato ( MaxTradesInSeries )

Controllo della distanza

if(dist >= reqDist)


7. Filtro di sicurezza AI per Martingala

Si tratta di un meccanismo critico di controllo del rischio.

Prima di aggiungere una nuova posizione martingala, l'EA controlla:

Se la serie corrente è ACQUISTA

if(s_seriesType == POSITION_TYPE_BUY && prob_bear >= InpAISafetyThreshold) return;

Se la serie corrente è VENDUTA

if(s_seriesType == POSITION_TYPE_SELL && prob_bull >= InpAISafetyThreshold) return;

🔒 Significato:

  • Se l'AI rileva una forte tendenza opposta

  • e la fiducia supera la soglia di sicurezza InpAISafetyThreshold

  • L'espansione della Martingala viene interrotta

Questo impedisce:

  • Martingala durante forti breakout

  • Profondi drawdown causati dalla continuazione del trend


8. Obiettivo di profitto e chiusura del paniere

L'EA monitora il profitto totale fluttuante di tutte le posizioni:

if(totalProfitUSD >= TakeProfitTargetUSD)

Una volta raggiunto:

  • Tutte le posizioni vengono chiuse

  • La serie Martingala viene azzerata

  • L'EA attende un nuovo setup laterale

Questo approccio tratta tutte le posizioni come un unico paniere.


9. Gestione del rischio

Stop di emergenza basato sul margine

if(((bal - eq)/bal)*100.0 >= StopLossByMarginPercent)

Se il drawdown dell'equity supera una percentuale definita:

  • Tutte le posizioni vengono immediatamente chiuse

  • Previene gli scenari di margin call


10. Riepilogo della strategia

Componente Scopo
Rilevatore di tendenze dell'intelligenza artificiale Classifica il regime di mercato
prob_side Consente il trading solo in intervalli
prob_bull / prob_bear Blocca la martingala durante le tendenze forti
Inviluppi Definisce gli estremi dei range
Martingala Recupero nei mercati laterali
TP del paniere Uscita veloce dopo la mean reversion
Margine SL Protezione a livello di conto

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

nModifica ordini nModifica ordini

Funzione di modifica delle posizioni aperte e degli ordini pendenti

nPosizioni di profitto e di perdita nPosizioni di profitto e di perdita

Calcolo del profitto/perdita delle posizioni (ordini aperti)

Modern Time Panel - Candle Time Modern Time Panel - Candle Time

Modern Time Panel for MT5 The Modern Time Panel is a sleek, minimalist custom indicator for MetaTrader 5 that helps you track time with precision. Fixed neatly at the top-right corner of your chart, it displays the current Broker Time, Local Time, and a live countdown to the next candlestick (New Bar). Built with an independent 1-second timer, the countdown continuously runs even when the market is slow or there are no incoming ticks. Fully customizable and dark-mode friendly, it is the perfect non-intrusive tool to ensure you never miss a candle close.

VR Breakdown level - Strategia di trading basata sulla rottura del massimo o minimo precedente VR Breakdown level - Strategia di trading basata sulla rottura del massimo o minimo precedente

Strategia di trading basata sulla semplice rottura dei precedenti livelli di massimo o minimo