MetaTrader5
Come Contare e Passare nel Codice di MetaTrader 5
01. Contare "X" Volte e poi Passare. Passo 01 - Crea una variabile per impostare il limite di conteggio. Puoi usarla come parametro di input e per ottimizzare il tuo codice. Passo 02 - Crea un'altra variabile per memorizzare il limite conteggiato (quante volte è stato conteggiato). Passo 03 - Una volta che il Contatore e il tuo limite di conteggio sono uguali, significa che è tempo di passare al blocco di codice specificato da te. Passo 04 - Una volta che il codice è passato, assicurati di azzerare il contatore anche. Altrimenti, continuerà a contare all'infinito (in questo caso). Puoi impostare condizioni di filtraggio per il blocco del Contatore. Ad esempio, >> "SE questo è vero, allora conta una volta." input int count = 50; // Imposta il limite di conteggio come input
int Counter; // variabile contatore
// Inizializzazione Esperto --------------------
int OnInit()
{
return(INIT_SUCCEEDED);
}
// De-inizializzazione Esperto -------------------
void OnDeinit(const int reason)
{
}
// OnTick Esperto --------------------------
void OnTick()
{
Counter ++; // aggiungi 1 al contatore ad ogni tick.
Comment("Conteggio Attuale -:", Counter);
if(Counter == count) // Conta "X" volte e passa | Questo blocco viene eseguito solo una volta per ogni conteggio.
{
// Il tuo codice va qui......
Alert(count," Volte conteggiato");
Counter = 0; // Ripristina il contatore alla fine del tuo blocco di codice. Questo è fondamentale.
}
} // Fine di OnTick <<---------------------- 02. Passare "X" Volte e poi Aspettare "X" Volte. Questo metodo può essere utilizzato come aspettare e passare, passare e aspettare. Passo 01 - Crea una variabile per impostare il limite di conteggio e il limite di attesa. Puoi usarli come parametri di input e per ottimizzare il tuo codice. Passo 02 - Crea un'altra variabile per memorizzare i limiti di conteggio e attesa (quante volte è stato conteggiato e atteso). Passo 03 - Una volta che il Contatore e il tuo limite di conteggio sono uguali, significa che è tempo di passare al blocco di codice specificato da te. Passo 04 - Una volta che il limite di attesa è raggiunto, assicurati di azzerare il contatore e il limite di attesa anche. Altrimenti, smetterà di funzionare (in questo caso). Puoi impostare condizioni di filtraggio per i blocchi del Contatore e del Limite di Attesa. Ad esempio, >> "SE questo è vero, aspetta un po'" input int count = 50; // Imposta il limite di conteggio come input
input int wait = 50; // Imposta il limite di attesa come input
int Counter; // variabile contatore valore predefinito è "0"
int Waiter; // variabile di attesa valore predefinito è "0"
// Inizializzazione Esperto --------------------
int OnInit()
{
return(INIT_SUCCEEDED);
}
// De-inizializzazione Esperto -------------------
void OnDeinit(const int reason)
{
}
// OnTick Esperto --------------------------
void OnTick()
{
Comment("Conteggio Tick -: ", Counter, "\n", "Tick Attesi -: ", Waiter);
if(Counter < count) // Passa "X" volte
{
Counter++; // aggiorna il contatore
// Il tuo codice va qui.
}
else
if(Waiter < wait) // Aspetta per "X" volte
{
Waiter++; // aggiorna il limite di attesa
// Il tuo codice va qui.
}
if(Waiter == wait) // Il limite di attesa è stato raggiunto
{
Counter = 0; // ripristina il contatore
Waiter = 0; // ripristina il limite di attesa
}
} // Fine di OnTick <<----------------------
//+------------------------------------------------------------------+
Speciale -: Puoi programmare il "Passa X volte e fermati" modificando il codice sopra rimuovendo il blocco di attesa. Così conterà per un numero specifico e smetterà di funzionare fino a quando il contatore non sarà ripristinato. Puoi ripristinarlo ovunque nel tuo codice se crei queste variabili su scala globale. (variabili globali)
2024.04.14