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

Creating a Simple News Filter for XAUUSD Trading on MT5 - script per MetaTrader 5

Visualizzazioni:
14
Valutazioni:
(2)
Pubblicato:
2025.06.06 11:53
Freelance MQL5 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

AlphaTrend AlphaTrend

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

Price prediction by Nearest Neighbor found by a weighted correlation coefficient Price prediction by Nearest Neighbor found by a weighted correlation coefficient

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.

ATR Channels Indicator ATR Channels Indicator

The indicator displaying multi level of ATR Channel.

BB 3sigma BB 3sigma

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