Discussione sull’articolo "Creazione di Indicatori di Tick in MQL5" - pagina 2

 

Che ne dite di questo?

//+------------------------------------------------------------------+
//| Funzione di iterazione dell'indicatore personalizzata |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   if(prev_calculated==0)
     {
      ArrayInitialize(BidBuffer,0);
      ArrayInitialize(AskBuffer,0);

     }
.....
  }
 

Grazie

Penso che sarà più efficace quando le candele dell'"indicatore tick"

che si riferiscono ad una candela del time frame corrente siano integrate e/o separate dall'altro gruppo

 

Molto bello. Grazie.

È possibile aggiungere una scala temporale e una media semplice o esponenziale all'indicatore tick candle?

 

Quando si cambia il periodo del grafico, viene modificata la dimensione degli array dinamici BidBuffer[] e AskBuffer[] associati ai buffer degli indicatori. In seguito, gli array vengono riempiti con valori "casuali", che differiscono dai valori inseriti in precedenza; essi differiscono anche dal valore 0, per il quale non viene specificato alcun rendering. Pertanto, ogni volta prima di riempire gli array, è necessario inizializzarli con il valore 0 (come ha scritto denkir):

if(prev_calculated==0)
  {
   ArrayInitialize(BidBuffer,0);
   ArrayInitialize(AskBuffer,0);

Allego la versione corretta dell'indicatore.

File:
 

Grazie!
Molto interessante. Potrebbe essere necessario aggiungere anche i tickcandels

   if(prev_calculated==0)
     {
      //*************
      ArrayInitialize(TicksBuffer,0);
      ArrayInitialize(OpenBuffer,0);
      ArrayInitialize(HighBuffer,0);
      ArrayInitialize(LowBuffer,0);
      ArrayInitialize(CloseBuffer,0);
      //*************
 
Ottimo lavoro!
 

Potete per favore farmi sapere come possiamo aggiungere questo alla MT4?

Inoltre, possiamo utilizzare i grafici delle medie mobili su questi grafici tick?

 
Praveen Moragaspitiya #: Potete per favore farmi sapere come possiamo aggiungere questo alla MT4? Inoltre, è possibile utilizzare i grafici delle medie mobili su questi grafici tick?

MT4 non memorizza i dati storici dei tick. Dovreste memorizzare voi stessi i dati dei tick. Cercate nel CodeBase perché dovrebbero esserci diverse versioni di MT4 per i grafici a tick.

 
Fernando Carreiro #:

MT4 non memorizza i dati storici dei tick. Dovreste memorizzare voi stessi i dati di tick. Cercate nel CodeBase perché dovrebbero esserci diverse versioni di MT4 per i grafici di tick.

Grazie per la risposta.
 
hakita #:

Grazie per questo interessante articolo.

L'uso di un file per bufferizzare i dati era obbligatorio?

Non era possibile bufferizzare i dati storici in memoria, usando un array di statis?

Saluti

Come ha fatto a scaricare i tick senza alcun comando di download dei tick come la copia dei tick. Sono confuso, potreste spiegarmi