Indicatori: Price prediction by Nearest Neighbor found by a weighted correlation coefficient - pagina 3

 
Amos Tsopotsa #:

questo codice ha bisogno di leggeri miglioramenti, ma okjustask la tua idea è sensata

Ho apportato lievi miglioramenti al codice:

  • Aggiungendo una variabile nell'ambito globale per b, e
  • Aggiungendo una variabile lastPatternStartTime, una condizione che la confronta con l'ora di inizio di un nuovo modello e chiama ChartRedraw() se non sono uguali.
(Da quello che sono riuscito a capire in alcune ore di test, il caos della linea verticale è apparso quando è stato trovato un nuovo modello).
 

Un altro paio di piccoli miglioramenti:

  • Modifica di OnInit() da void a int, in modo che ora restituisca INIT_SUCCEED,
  • Aggiunta di una GlobalVariable (GV) a livello di terminale che memorizza il primo valore di prezzo futuro dell'indicatore (CopyBuffer() non funziona in un EA con "valori futuri dell'indicatore Buffer "), e
  • Aggiunta di OnDeinit() che elimina automaticamente la GV dal terminale.

Lo scopo di queste modifiche è quello di rendere l'indicatore più adatto al trading automatico. Se avete bisogno di altri valori di prezzo futuro per i vostri scopi, è sufficiente eseguire un ciclo attraverso le barre da 0 a 48 alla fine del codice e aggiornare il valore GV.

 
Ryan L Johnson #:


  • Aggiunta di una GlobalVariable (GV) a livello di terminale che memorizza il primo valore di prezzo futuro dell'indicatore(CopyBuffer() non funziona in un EA con "valori futuri dell'indicatore Buffer "),

Lo scopo di queste modifiche è quello di rendere l'indicatore più adatto al trading automatico. Se si ha bisogno di altri valori di prezzo futuro per i propri scopi, è sufficiente eseguire un ciclo attraverso le barre da 0 a 48 alla fine del codice e aggiornare il valore GV.

Perché? È possibile accedere a qualsiasi valore dai buffer dell'indicatore, anche al futuro.
MQL5 Book: Getting timeseries data from an indicator: CopyBuffer / Creating application programs
MQL5 Book: Getting timeseries data from an indicator: CopyBuffer / Creating application programs
  • www.mql5.com
An MQL program can read data from the indicator's public buffers by its handle. Recall that in custom indicators, such buffers are arrays specified...
 
Stanislav Korotky #:
Perché? È possibile accedere a qualsiasi valore dai buffer degli indicatori, anche dal futuro.

Sono riuscito a farlo negli indicatori ma non negli EA. Avete un altro esempio/articolo che lo faccia in un EA, per favore?

 
Ryan L Johnson #:

Sono riuscito a farlo negli indicatori ma non negli EA. Avete un altro esempio/articolo che lo faccia in un EA, per favore?

Non tenere conto del mio post #24. Sospetto di aver utilizzato la forma sbagliata di Copybuffer() in un EA. La forma corretta sembra essere:

"[I]n parametri CopyBuffer ( prima forma) si deve dareoffset uguale a (- N)..."

int CopyBuffer(int handle, int buffer, int offset, int count, double &array[])
 

@Stanislav Korotky, Grazie per avermi indirizzato alla documentazione. La "prima forma" è molto utile per copiare i valori futuri del buffer─soprattutto sui grafici personalizzati.

@Vladimir, Grazie, anche se in ritardo, per aver pubblicato il codice sorgente di questo indicatore. Non avevo idea di quanto potessero essere validi oggi i modelli di prezzo di decenni fa. L'ho usato per cogliere 2 trade vincenti fin dall'inizio. Uno risale al 1999 circa e l'altro al 2005 circa.

Ecco il codice dell'indicatore che sto utilizzando ora (con la GV rimossa):