Indicatori: Fourier extrapolation of price - pagina 2

 
pawulo #:
Per favore, come posso ottenere l'indicatore?

https://www.mql5.com/en/code/download/130/fourier_extrapolator_of_price.mq5 se vai in cima all'indicatore postato c'è un file con .mq5

 

HI,

Mi piace l'incicator. Tuttavia, quando creo un EA iCustom utilizzandolo, smette di funzionare durante il backtest, il tester si blocca.

Per esempio, quando faccio un backtest di EURUSD per l'ultimo anno, si blocca dopo 1 mese di backtest.

Vedere anche le immagini per le impostazioni, il grafico è il punto in cui si blocca. Il computer va bene, ma il tester si blocca ma può essere fermato senza problemi.

Qualche idea?

 
gardee005 #:

Qualche idea?

Eseguirlo con il debugger. Esaminare i log.

 

Sembra promettente, tranne che per un piccolo dettaglio.

Ridisegna/ripara/ricalcola interamente su nuovi dati.

Normalmente gli indicatori non dovrebbero farlo (nonostante l'applicazione di qualsiasi modello di regressione a un numero predefinito di dati/barre).

Qualcuno può per favore correggerlo in modo che cambi il valore dell'indicatore solo all'ultima barra?

Grazie.

 
Robert72 modello di regressione a un numero predefinito di dati/barre).

Qualcuno può risolvere il problema in modo da cambiare il valore dell'indicatore solo all'ultima barra?

Il tuo requisito non è chiaro. A causa della specificità dell'approccio con la trasformata di Fourier, l'indicatore si ridisegna completamente sui nuovi dati, indipendentemente dal fatto che si tratti di una barra o di un tick.

Se volete, potete aggiungere la linea in OnCalculate:

if(rates_total == prev_calculated) return prev_calculated;
 
Stanislav Korotky #:

Il vostro requisito non è chiaro. A causa della specificità dell'approccio con la trasformata di Fourier, l'indicatore ridisegna completamente i nuovi dati, indipendentemente dal fatto che si tratti di una barra o di un tick.

Se volete, potete aggiungere la linea in OnCalculate:

Ciao Stanislav.
Innanzitutto, mi scuso per la risposta tardiva e ritardata.
Dovresti anche scusarmi per la mia conoscenza solo superficiale della matematica della trasformata di Fourier e della sua specificità.
Non sono sicuro di cosa sia rimasto poco chiaro.
Solo per esempio questo indicatore:
si comporta esattamente come richiesto, cioè ridisegna/flotta solo sull'ultima barra. La curva prodotta dietro il punto corrente rimane "fissa".
Questo indicatore:
tuttavia si comporta in modo diverso. Ridisegna l'intera curva sui nuovi dati ricevuti utilizzando lo stesso concetto di adattamento.
Il comportamento diverso è più che altro nascosto in una diversa codifica, non in un modello applicato e/o in un approccio matematico.
Quindi per l'indicatore intitolato il primo comportamento (...20480) non è possibile a causa della "specificità dell'approccio con la trasformata di Fourier"?
E non può essere "risolto" con una codifica diversa?
Proverò a inserire la linea di codice che mi hai fornito, ma non è detto che riesca a cogliere il problema o a risolverlo.
Grazie.


 
Robert72 #:
Non sono sicuro di cosa sia rimasto poco chiaro.
Solo per esempio questo indicatore:
h ttps://www.mql5.com/en/code/20480
si comporta esattamente come richiesto, ossia ridisegna/flotta solo sull'ultima barra. La curva prodotta dietro il punto corrente rimane "fissa".
Questo indicatore:
h ttps://www.mql5.com/en/code/19884
tuttavia si comporta in modo diverso. Ridisegna l'intera curva sui nuovi dati ricevuti utilizzando lo stesso concetto di adattamento.
Il comportamento diverso è più che altro nascosto in una diversa codifica, non in un modello applicato e/o in un approccio matematico.
Quindi per l'indicatore intitolato il primo comportamento (...20480) non è possibile a causa della "specificità dell'approccio con la trasformata di Fourier"?
E non può essere "risolto" con una codifica diversa?
Proverò a inserire la linea di codice che mi hai fornito, ma non è detto che riesca a risolvere il problema.

Sì, è possibile eseguire la trasformata di Fourier (o la ricostruzione della regressione non lineare) attraverso l'intera storia del grafico e prendere ogni ultimo valore del risultato e disegnarlo in un buffer dedicato. Otterrete una sorta di MA statica, che è meno informativa delle previsioni dinamiche - queste ultime sono considerate una caratteristica positiva di algoritmi come Fourier/Wavelets/etc, e voi state chiedendo di declassarli e di tagliare le previsioni per ottenere una curva simile alla MA, se ho capito bene.

 

Ecco un esempio di tracce di Fourier sulla storia nel tester, ma non sono sicuro che sia quello che intendete.

Tracce di Fourier sulla storia

Il codice sorgente è allegato.

 
Stanislav Korotky #:

Ecco un esempio di tracce di Fourier sulla storia nel tester, ma non sono sicuro che sia quello che intendete.

Il codice sorgente è allegato.

Sì, hai capito bene.
Ho bisogno di una soluzione di codifica per quella curva statica.
La mia idea iniziale era che il fitting trigonometrico "rappresentasse" meglio l'azione del prezzo rispetto al fitting non lineare/polinomiale. Guardando la tua immagine, la linea blu (estrapolatore di Fourier) lo fa perfettamente. Sicuramente molto meglio di questo:
L'unico problema è che l'intera curva cambia all'arrivo di nuovi dati.
Come ho capito dal tuo post - la curva statica non sarà così precisa nel seguire il movimento dei prezzi e le previsioni future saranno eliminate?
Non sono comunque molto precise e predittive (per lo più).
Anche la scorrevolezza si deteriorerà, suppongo?
Cosa rappresenta la curva gialla del tuo esempio?
Grazie per aver postato il codice sorgente, ma ce l'ho già. Oppure hai modificato qualcosa che produce una curva gialla invece di quella blu originale?
Grazie.



 
Robert72 #:
Sì, hai capito bene.
Ho bisogno di una soluzione di codifica per quella curva statica.
La mia idea iniziale era che il fitting trigonometrico "rappresentasse" meglio l'azione del prezzo rispetto al fitting non lineare/polinomiale. Guardando la tua immagine - la linea blu (estrapolatore di Fourier) lo fa quasi perfettamente. Sicuramente molto meglio di questo:
h ttps:// www.mql5.com/en/code/20480
L'unico problema è che l'intera curva cambia all'arrivo di nuovi dati.
Come ho capito dal tuo post - la curva statica non sarà così precisa nel seguire il movimento dei prezzi e le previsioni future saranno eliminate?
Non sono comunque molto precise e predittive (per lo più).
Anche la scorrevolezza si deteriorerà, suppongo?
Quale curva gialla rappresenta il tuo esempio?
Grazie per aver postato il codice sorgente, ma ce l'ho già. Oppure hai modificato qualcosa che produce una curva gialla invece di quella blu originale?

Certo che ho modificato qualcosa - hai detto che avevo capito bene, ma dalle tue parole successive sembra che tu non abbia capito cosa ho fatto. Quindi la linea arancione è la traccia del punto in cui le curve blu e rossa si collegano l'una all'altra - la stima statica dell'adattamento nel tempo. Tecnicamente è possibile scattare un'istantanea di qualsiasi punto delle curve, o addirittura "congelare" tutte le curve.