Home Trading Sistematico Post

Come Contare e Passare nel Codice di MetaTrader 5

Allegato
49213.zip (1.04 KB, Scarica 0 volte)

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)


Post correlati

Commento (0)