Unisciti alla nostra fan page
- Visualizzazioni:
- 14
- Valutazioni:
- Pubblicato:
- 2025.06.06 11:53
-
Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance
XAUUSD (Oro) è uno strumento di trading popolare nel mercato forex grazie alla sua elevata volatilità e al suo potenziale di profitto. Tuttavia, i principali eventi economici, come i Non-Farm Payrolls, le decisioni sui tassi di interesse della Fed o gli annunci della Banca Centrale Europea, possono causare picchi di prezzo significativi, mettendo a rischio le strategie di trading automatizzate. Per gestire questi rischi, un filtro notizie in un Expert Advisor (EA) può sospendere il trading durante i periodi di notizie ad alto impatto. In questo articolo vi mostrerò come creare un semplice filtro notizie per il trading su XAUUSD su MT5 e condividerò un esempio pratico di codice per iniziare.
Perché utilizzare un filtro notizie per il trading su XAUUSD?
Le notizie relative a USD, GBP o EUR spesso portano a forti movimenti nei prezzi di XAUUSD. Ad esempio, l'annuncio di un rialzo dei tassi da parte della Fed potrebbe causare un rapido calo dei prezzi dell'oro, innescando stop-loss o perdite impreviste in un sistema di trading automatico. Un filtro per le notizie aiuta a:
- Sospendere il trading: Interrompere temporaneamente le operazioni prima e dopo i principali eventi di cronaca per evitare la volatilità.
- Ridurre il rischio: proteggere il conto da improvvise oscillazioni del mercato.
- Migliorare la coerenza: Assicurando che il vostro EA operi solo in condizioni di mercato stabili.
Nella prossima sezione, fornirò un semplice frammento di codice MQL5 per implementare un filtro sulle notizie per la vostra strategia di trading XAUUSD.
//+------------------------------------------------------------------+ //| Semplice filtro di notizie per il trading su XAUUSD| //+------------------------------------------------------------------+ #property copyright "Duy Van NGUY" #property link " https://www.mql5.com/it/users/wazatrader" #property version "1.00" input int MinutesBeforeNews = 15; // Minuti prima delle notizie per sospendere il trading input int MinutesAfterNews = 15; // Minuti dopo la notizia per riprendere le contrattazioni // Tempi di notizie simulate (a scopo dimostrativo, sostituire con una fonte di dati di notizie reali) datetime newsTimes[] = {D'2025.05.07 14:30:00'}; // Esempio: Notizie alle 14:30 del 7 maggio 2025 //+------------------------------------------------------------------+ //| Controlla se il trading deve essere messo in pausa a causa di una notizia | //+------------------------------------------------------------------+ bool IsNewsTime() { datetime currentTime = TimeCurrent(); for(int i = 0; i < ArraySize(newsTimes); i++) { datetime newsTime = newsTimes[i]; datetime startPause = newsTime - MinutesBeforeNews * 60; // Pausa di X minuti prima del notiziario datetime endPause = newsTime + MinutesAfterNews * 60; // Riprendere X minuti dopo la notizia if(currentTime >= startPause && currentTime <= endPause) { Print("News Filter: Trading paused due to upcoming news at ", newsTime); return true; // Pausa trading } } return false; // Sicuro per il commercio } //+------------------------------------------------------------------+ //| Funzione di inizializzazione dell'esperto| //+------------------------------------------------------------------+ int OnInit() { return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Funzione tick dell'esperto| //+------------------------------------------------------------------+ void OnTick() { if(IsNewsTime()) { return; // Saltare il trading durante le notizie } // Aggiungete qui la vostra logica di trading XAUUSD Print("Safe to trade XAUUSD"); } //+------------------------------------------------------------------+ //| Funzione di deinizializzazione dell'esperto| //+------------------------------------------------------------------+ void OnDeinit(const int reason) { // Pulire il codice, se necessario } //+------------------------------------------------------------------+
Spiegazione del codice
- Ingressi: MinutesBeforeNews e MinutesAfterNews consentono di definire la finestra temporale (in minuti) per mettere in pausa il trading prima e dopo un evento di notizie.
- Tempi delle notizie: L'array newsTimes contiene gli orari predefiniti degli eventi di notizie (ad esempio, 7 maggio 2025, 14:30). In pratica, è possibile sostituirlo con un feed di notizie reali da un calendario economico API.
- Logica: La funzione IsNewsTime() confronta l'ora corrente(TimeCurrent()) con gli orari degli eventi di notizie. Se l'ora corrente rientra nella finestra di pausa, il trading viene interrotto.
- Utilizzo: Integrare questo filtro nel proprio EA richiamando IsNewsTime() nella funzione OnTick() prima di eseguire qualsiasi operazione.
Migliorare il trading su XAUUSD con XAU OneShot EA MT5
Mentre il codice sopra riportato fornisce un filtro di base per le notizie, potreste desiderare una soluzione più robusta per il trading su XAUUSD. Ecco perché ho sviluppato XAU OneShot EA MT5, un Expert Advisor progettato specificamente per il trading sull'oro con una gestione avanzata del rischio. Include:
- Un filtro notizie integrato che mette in pausa il trading 15 minuti prima e dopo i principali eventi di notizie su USD/GBP/EUR.
- Auto Break-Even e Trailing Stop per bloccare i profitti.
- Un take profit parziale (chiude il 50% della posizione) per garantire i guadagni lasciando correre il resto.
- Limite di perdita giornaliero per proteggere il conto da eccessivi drawdown.
Conclusione
Incorporare un filtro sulle notizie nella vostra strategia di trading XAUUSD è un modo semplice ma efficace per gestire i rischi durante i periodi di volatilità delle notizie. Il codice fornito in questo articolo può servire come punto di partenza per lo sviluppo del vostro EA. Per una soluzione più completa, provate XAU OneShot EA MT5 per portare il vostro trading sull'oro a un livello superiore. Buon trading!
Tradotto dall’inglese da MetaQuotes Ltd.
Codice originale https://www.mql5.com/en/code/59130

Si tratta di un indicatore utilizzato per determinare la tendenza, il livello di supporto e di resistenza del mercato. Quando sono disponibili dati sul volume, il calcolo viene effettuato con l'MFI, altrimenti con l'RSI. Momentum: RSI e MFI Volatilità: ATR

Questo indicatore trova il vicino più prossimo utilizzando un coefficiente di correlazione ponderato, in cui i prezzi più recenti hanno un peso maggiore. Il peso decresce linearmente dai prezzi più recenti a quelli più vecchi all'interno di un modello di prezzo.

The indicator displaying multi level of ATR Channel.

Bande di Bollinger +-3sigma. È possibile modificare il periodo e il rapporto sigma (la dimensione corretta della deviazione è 0,5~1,0).