01. Contare "X" volte e poi passare.
input int count = 50; // Impostare il limite di conteggio come ingresso int Counter; // variabile contatore // Inizializzazione dell'esperto -------------------- int OnInit() { return(INIT_SUCCEEDED); } // Deinizializzazione esperta ------------------- void OnDeinit(const int reason) { } // Esperto OnTick -------------------------- void OnTick() { Counter ++; // aggiunge 1 al contatore a ogni tick. Comment("Current Count -:", Counter); if(Counter == count) // Conta "X" volte e passa | Questo blocco viene eseguito solo una volta per ogni conteggio. { // Il codice va qui...... Alert(count," Times counted"); Counter = 0; // Azzerare il contatore alla fine del blocco di codice. Questo è un must. } } // OnTick End <<----------------------
02. Passa "X" volte e poi aspetta "X" volte e poi passa.
Questo metodo può essere utilizzato come wait and pass, pass and wait.
input int count = 50; // Impostare il limite di conteggio come ingresso input int wait = 50; // Impostare il limite di attesa come input int Counter; // il valore predefinito della variabile contatore è "0" int Waiter; // Il valore predefinito della variabile di attesa è "0". // Inizializzazione dell'esperto -------------------- int OnInit() { return(INIT_SUCCEEDED); } // Deinizializzazione esperta ------------------- void OnDeinit(const int reason) { } // Esperto OnTick -------------------------- void OnTick() { Comment("Counted Ticks -: ", Counter, "\n", "Waited Ticks -: ", Waiter); if(Counter < count) // Passare "X" volte { Counter++; // aggiornare il contatore // Il vostro codice va qui. } else if(Waiter < wait) // Attendere "X" volte { Waiter++; // aggiornare il cameriere // Il vostro codice va qui. } if(Waiter == wait) // Il limite di attesa è stato raggiunto { Counter = 0; // azzeramento del contatore Waiter = 0; // azzeramento del cameriere } } // OnTick End <<---------------------- //+------------------------------------------------------------------+
Speciale -:
È possibile codificare "Passa X volte e fermati" modificando il codice precedente, rimuovendo il blocco di attesa. In questo modo conterà per un numero specifico e smetterà di funzionare finché il contatore non si sarà fermato. È possibile azzerarlo in qualsiasi punto del codice se si creano queste variabili in scala globale. (variabili globali)
Tradotto dall’inglese da MetaQuotes Ltd.
Codice originale https://www.mql5.com/en/code/49213
3X_Regressione Parabolica
Due canali rettilinei di deviazione standard + canale curvilineo di regressione parabolica con interpolazione dei valori futuri del grafico dei prezzi.
J_TPO
Oscillatore normalizzato progettato come grafico a barre.
Basic GridManager Library
Si tratta di una libreria di base per creare e gestire griglie.
Canale ATR
Un canale basato sulle deviazioni dell'indicatore tecnico ATR (Average True Range) dalla media mobile.