Stormbreaker ADX è un Expert Advisor per MetaTrader 5 che combina la direzione indicata da Supertrend con la forza misurata dall'ADX e la relazione direzionale tra +DI e −DI. Valuta i segnali sulle candele chiuse, determina la dimensione delle posizioni in base a un budget fisso di rischio sul capitale e imposta uno stop di protezione basato sull'ATR.
Il codice sorgente scaricabile è destinato allo studio, al test e alla modifica. L’Expert Advisor non garantisce profitti; provalo con i dati e le specifiche contrattuali del tuo broker prima di considerare l’utilizzo in condizioni di mercato reali.

Figura 1. I filtri di ingresso vengono valutati in sequenza all’inizio di una nuova candela nel timeframe del segnale.
Il timeframe predefinito del segnale è H4. Ad ogni nuova barra H4, l’EA legge la barra precedente completata (shift 1), calcola un Supertrend personalizzato dall’ATR e legge i valori di ADX, +DI, −DI e ATR. Si prende in considerazione un'operazione solo quando la direzione del Supertrend e il movimento direzionale coincidono e l’ADX soddisfa la soglia di ingresso.
| Componenti | Predefinito | Scopo |
|---|---|---|
| Intervallo temporale del segnale | H4 | Intervallo di valutazione del segnale; gli ingressi vengono verificati una volta per ogni nuova barra. |
| Supertrend | ATR 10, fattore 3,0 | Definisce la direzione attuale del trend. |
| ADX / DMI | ADX 14; soglia di ingresso 23 | Filtra in base alla forza del trend e ne conferma la direzione utilizzando +DI e −DI. |
| Soglia di forza di uscita | ADX inferiore a 18 | Chiude una posizione gestita quando la forza del trend si indebolisce al di sotto del livello di uscita. |
| Stop iniziale | 2 × ATR(10) | Posiziona lo stop a partire dalla chiusura della barra del segnale completata, quindi lo allinea alle regole di prezzo del broker. |
| Budget di rischio | 0,5% del capitale attuale | Calcola il volume in base alla perdita stimata tra la quotazione di ingresso attuale e lo stop. |
| Take profit | Nessuno | Non esiste un obiettivo di take profit fisso; le uscite avvengono in base al segnale e alla sua forza oppure tramite stop loss. |
| Azione | Condizioni |
|---|---|
| Aprire una posizione di acquisto | Entrate di acquisto abilitate; Supertrend è rialzista; ADX ≥ 23; +DI > −DI. |
| Apri una posizione di vendita | Condizioni di vendita attive; Supertrend è ribassista; ADX ≥ 23; −DI > +DI. |
| Chiudere una posizione esistente | ADX < 18, oppure la direzione di Supertrend si inverte rispetto alla posizione. Anche un segnale qualificante opposto chiude/inverte la posizione gestita. |
L'EA non aggiunge posizioni nella stessa direzione quando rileva una posizione esistente con il simbolo e il numero magico configurati. Uno stop-loss rimane attivo indipendentemente dall'uscita del segnale.
Prima di inviare un ordine, Stormbreaker stima la perdita su un lotto partendo dalla quotazione di ingresso Ask/Bid corrente fino allo stop proposto utilizzando OrderCalcProfit . Divide il budget di rischio sul capitale proprio dello 0,5% per tale perdita stimata su un lotto, quindi arrotonda il volume per difetto al passo di volume consentito dal broker e applica il limite massimo di volume. Verifica inoltre il margine disponibile. Se il lotto minimo consentito superasse il budget di rischio, o se il margine fosse insufficiente, l’EA salta l’operazione.
double risk_cash = AccountInfoDouble(ACCOUNT_EQUITY) * 0.5 / 100.0; double one_lot_loss = MathAbs(one_lot_profit); double volume = MathFloor((risk_cash / one_lot_loss) / volume_step) * volume_step; volume = MathMin(volume, MaxVolume);
Estratto semplificato a scopo illustrativo. Il codice sorgente completo include controlli sui prezzi non validi, sull’allineamento tra tick e volume, sulle distanze di stop del broker e sul margine. Poiché lo stop è derivato dalla chiusura della candela precedente mentre il dimensionamento utilizza la quotazione di ingresso corrente, lo slippage, i gap e i costi di esecuzione possono far sì che la perdita effettiva differisca dallo 0,5%. Si tratta di un obiettivo di rischio, non di una perdita massima garantita.

Figura 2. I livelli di stop sono basati sull’ATR; l’EA non ha un obiettivo di profitto fisso.
| Dati di input | Impostazione predefinita | Significato |
|---|---|---|
| SignalTimeframe | PERIOD_H4 | Intervallo di tempo utilizzato per i segnali. |
| Fattore Supertrend | 3,0 | Moltiplicatore ATR utilizzato da Supertrend. |
| SupertrendATRPeriod | 10 | Periodo ATR per Supertrend e lo stop iniziale. |
| Periodo ADX | 14 | Periodo di calcolo dell'ADX/DMI. |
| EntryADX | 23,0 | ADX minimo per un nuovo ingresso. |
| ADX di uscita | 18,0 | Livello ADX al di sotto del quale viene chiusa una posizione aperta. |
| StopATRMultiple | 2,0 | Moltiplo dell'ATR utilizzato per lo stop iniziale. |
| MaxVolume | 100,0 | Limite massimo dei lotti; si applicano comunque i limiti effettivi del simbolo. |
| Punti di deviazione | 20 | Deviazione massima di prezzo trasmessa alla richiesta di negoziazione, in punti. |
| AbilitaAcquisto / AbilitaVendita | vero / vero | Abilita o disabilita ciascuna direzione. |
| MagicNumber | 51003 | Identificatore utilizzato per individuare la posizione gestita dall'EA. |
La percentuale di rischio dello 0,5% è attualmente una costante fissa nel codice sorgente, non un valore immesso dall'utente.
bool long_signal = EnableBuy && direction < 0 && adx >= EntryADX && plus_di > minus_di; bool short_signal = EnableSell && direction > 0 && adx >= EntryADX && minus_di > plus_di; if(long_signal) STOpenPosition(true, bar.close - StopATRMultiple * atr, 0.0, MagicNumber, "ST ADX long", MaxVolume, DeviationPoints); else if(short_signal) STOpenPosition(false, bar.close + StopATRMultiple * atr, 0.0, MagicNumber, "ST ADX short", MaxVolume, DeviationPoints); else if(position != 0 && (adx < ExitADX || (position > 0 && direction > 0) || (position < 0 && direction < 0))) STClosePosition(MagicNumber);
Nell’EA completo, queste condizioni vengono eseguite solo dopo aver rilevato una nuova barra nel timeframe del segnale e aver recuperato con successo la barra chiusa precedente e i valori dell’indicatore.
| Broker | Fine periodo | Deposito iniziale | Utile netto | Rendimento netto | Capitale massimo DD | Fattore di profitto | Indice di Sharpe | Operazioni | Tick reali |
|---|---|---|---|---|---|---|---|---|---|
| IC Markets | 23/09/2026 | 1.000.000 USD | 154.482,51 USD | 15,45% | 19,40% | 1,12 | 0,50 | 520 | 32% |
| BlackBull Markets | 24/09/2026 | 1.000.000 USD | 225.766,54 USD | 22,58% | 5,00% | 1,45 | 1,00 | 196 | 41% |
| Fusion Markets | 23/09/2026 | 100.000 USD | 26.680,57 USD | 26,68% | 8,97% | 1,26 | 2,22 | 374 | 4% |

Avviso sui rischi: il trading automatizzato comporta rischi sostanziali. Uno stop loss non può garantire il prezzo di uscita in presenza di gap o in mercati volatili. I risultati dei backtest, della demo e quelli storici non garantiscono risultati futuri. È responsabilità dell’utente valutare l’EA e le sue impostazioni prima dell’uso.
Tradotto dall’inglese da MetaQuotes Ltd.
Codice originale https://www.mql5.com/en/code/77718
Tick Scalper Helper - tick chart and one-click trading panel for MetaTrader 5
Tick Scalper Helper is a manual trading utility for traders who work on very short time frames and want to see every price change.
Supertrend Scalper with Breakeven Win Rate Panel
A Supertrend scalping EA with 14 switchable filters and a self-measuring panel that shows the actual win rate next to the win rate needed to break even after real spread, so you can see whether a setting has an edge or only a high percentage.
ImpulseCandle - impulse bar marker with ATR body filter and volume confirmation
Segna le candele di impulso: corpo pari ad almeno ATR × moltiplicatore, corpo pari ad almeno una percentuale prestabilita dell'intervallo della candela, chiusura vicina all'estremo, conferma opzionale del volume dei tick. Freccia verde sotto un impulso rialzista, rossa sopra uno ribassista. Solo barre chiuse, nessun repainting. I segnali sono contenuti nei due buffer in modo che un Expert Advisor possa leggerli tramite iCustom.
PropGuard 1.02 - account risk manager for prop firm accounts
Sistema di protezione a livello di conto per i conti delle società di prop trading. Monitora ogni posizione sul conto, chiude tutte le posizioni al raggiungimento del limite di perdita giornaliero o massimo, limita l’importo a rischio per ciascuna posizione, chiude le operazioni prive di stop e può azzerare le posizioni in caso di notizie ad alto impatto.