Introduzione
Se sei un trader esperto, sai quanto sia cruciale tenere d'occhio i dati macroeconomici, in particolare il giorno dell'NFP (Non-Farm Payroll). In questo post, ti mostrerò come rilevare automaticamente il primo venerdì del mese utilizzando un Expert Advisor su MetaTrader 4. Pronto a rendere il tuo trading più efficiente?
Il Codice
Di seguito, trovi il codice per il tuo Expert Advisor, FirstFriday.mq4. Questo script ti aiuterà a identificare il venerdì della prima settimana del mese.
//+------------------------------------------------------------------+
//| FirstFriday.mq4 |
//| Copyright 2023, MetaQuotes Ltd. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2023, MetaQuotes Ltd."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
datetime lastTime = 0; // Variabile per memorizzare l'ora dell'ultima candela rilevata
//+------------------------------------------------------------------+
//| Funzione di inizializzazione dell'Expert |
//+------------------------------------------------------------------+
int OnInit() {
lastTime = iTime(Symbol(), PERIOD_D1, 0);
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Funzione di deinizializzazione dell'Expert |
//+------------------------------------------------------------------+
void OnDeinit(const int reason) {
// Cleanup code if needed
}
//+------------------------------------------------------------------+
//| Funzione tick dell'Expert |
//+------------------------------------------------------------------+
void OnTick() {
datetime currentTime = iTime(NULL, PERIOD_D1, 0); // Ottieni l'ora della candela attuale
if (IsFirstFriday() && currentTime != lastTime) {
Print("Oggi è venerdì della prima settimana del mese!");
lastTime = currentTime; // Aggiorna l'ora dell'ultima candela
}
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Funzione per verificare se è il primo venerdì del mese |
//+------------------------------------------------------------------+
bool IsFirstFriday() {
int dayOfWeek = TimeDayOfWeek(TimeCurrent());
int dayOfMonth = TimeDay(TimeCurrent());
// Controlla se oggi è venerdì
if (dayOfWeek == 5) {
// Controlla se il giorno del mese è tra 1 e 7
if (dayOfMonth >= 1 && dayOfMonth <= 7) {
return(true);
}
}
return(false);
}
//+------------------------------------------------------------------+
Come Funziona?
- OnInit: Inizializza il tempo dell'ultima candela.
- OnTick: Controlla ogni tick se è il primo venerdì del mese.
- IsFirstFriday: Funzione che determina se oggi è il primo venerdì.
Conclusioni
Utilizzando questo Expert Advisor, potrai facilmente riconoscere il venerdì della prima settimana del mese e prepararti per gli eventi economici rilevanti. Non dimenticare di testare il tuo codice in un ambiente demo prima di passare a quello reale!
Post correlati
- Dematus: Il Sistema di Trading per MetaTrader 5
- EA Efficiente: Come Aggiungere la Chiusura del Venerdì per Migliorare le Performance
- MQL5 Wizard: Creare Trading Signals con Morning/Evening Stars e MFI per MetaTrader 5
- MQL5 Wizard: Crea un Expert Advisor per segnali di trading basati su Morning/Evening Star e CCI
- Guida Pratica all'Utilizzo di MQL5 Wizard per Strategie di Trading con Stochastic