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):

 

È ipotizzabile che possa emergere un nuovo pattern di prezzo con lo stesso orario di inizio ma con un orario di fine diverso da quello del pattern attuale, quindi ho aggiunto l'orario di fine del pattern alla funzione condizionale ChartRedraw()─allegata. Sia una differenza di orario di inizio che una differenza di orario di fine richiamerà ChartRedraw().

 

Questo indicatore può essere testato

È necessario aggiungere due linee verticali all'indicatore: l'inizio del calcolo e la fine del calcolo.

E si può immediatamente vedere dove si troverà la linea rossa e come si è formato il grafico, cioè se la previsione è fattibile.

 
Renat Akhtyamov linee verticali all'indicatore: l'inizio del calcolo e la fine del calcolo.

E si può immediatamente vedere dove si troverà la linea rossa e come si è formato il grafico, cioè se la previsione è fattibile.

Questo è lo scopo della linea blu che disegna i prezzi aperti del modello storico come sovrapposizione.
 
Ecco un indicatore di prezzo aperto di barra "stupidamente semplice" da confrontare, se volete, con la linea blu storica.