![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Allora cos'è la linea rossa nella Fig.2? La differenza di energie delle parti reali e immaginarie? Molto interessante. E cosa significano i numeri nell'area dei valori dell'indicatore?
Non posso ancora rispondere, purtroppo, sto aspettando una risposta alla mia domanda sulla biblioteca. La 'FFT Fast Fourier Transformation Library' perché non sono riuscito a capire cosa viene emesso lì
renderlo una variabile separata del tutto
P.S. Forse menziono troppo spesso l'indicatore 'Analisi spettrale':), ma le ampiezze funzionano correttamente lì - puoi semplicemente prendere da esso.
Rimuovere semplicemente la frequenza 0 in questo modo è un lavoro d'accetta, anche se mostra dove bisogna andare dopo. Ci sono lobi laterali, rimangono. Dovremmo sicuramente applicare una finestra Hemming, come opzione (ma è male con l'energia, come un trattore) dovremmo guardare diverse finestre quando arriviamo.
Penso di fare variante del seguente, come sappiamo frequenza interferendo noi (0 mercato non si muove) e funzione di risposta di ogni filtro sin(x)/x. Dovremmo calcolare attentamente e sottrarre tutte le pareti laterali da tutti i filtri.
Dopo aver rimosso le pareti laterali, invertire la trasformata di Fourier (o convoluzione), rimuovere la funzione di tendenza del tipo y=a+bx e applicare la finestra di Hemming, applicando di nuovo la trasformata di Fourier diretta.
Ora tracciate tutto su un grafico L'energia del segnale e del rumore, prima della rimozione 0, dopo la rimozione, dopo la rimozione della tendenza + i coefficienti a e b in uscita. Allora penso che avremo uno strumento che ci permetterà di indagare il mercato.
Come ti piace?
Sembra che ci sia un errore nella libreria, o le mie mani sono di nuovo storte :( ho postato la mia domanda qui 'FFT Fast Fourier Transform Functions Library') se qualcuno può controllare. Ho ragione o no? Provate in matlab per verificarlo.
In breve, state alimentando dati diversi all'ingresso fft di matcad e all'ingresso fastfouriertransform di klot. Per favore non ti offendere, ma ti ho consigliato 2 volte di seguire il link dell'header della libreria http://alglib.sources.ru/fft/ e capire il formato dei dati di input e output delle funzioni, ma chiaramente non l'hai fatto. Questo è il terzo e ultimo. A proposito, il formato è diverso per ogni funzione.
Rimuovere semplicemente la frequenza 0 in questo modo è un lavoro d'accetta, anche se mostra dove bisogna andare dopo. Ci sono lobi laterali, rimangono.
Se si sommano le ampiezze iniziando a guardare le frequenze da hmax, si tagliano tutte le frequenze più piccole di hmax. Cioè, il vostro codice non rimuove una singola frequenza zero. In generale, l'ampiezza a frequenza zero è solo una media e molto spesso non serve affatto o addirittura interferisce con essa.
Non sono uno specialista di DSP, ho solo capito il fft da solo quando ne avevo bisogno, e ora volevo aiutare.
Il matcad considera la serie iniziale 0,1,2, 3, 4, ... Il matcad la considera una funzione reale, la fastfouriertransform la considera complessa, cioè 0+1*j, 2+3*j, ... . Forse anche i coefficienti di normalizzazione sono presi in considerazione in modo diverso, io stesso non uso matcad e non posso dirlo con certezza.
Sono ancora riuscito a fare un'aggiunta al post precedente
La realfastfouriertransform non riesce anche a passare la parte immaginaria del primo numero, e la normalizzazione non è affatto chiara. Senza la comprensione di questa domanda non ha senso calcolare l'energia,
2007.11.03 00:36:49 2007.10.01 00:00 proverka GBPUSD,H1: i=6 Ingresso=6 Uscita aa[i]=-1.1716; aa[i*2]=0; aa[i*2+1]=0
2007.11.03 00:36:49 2007.10.01 00:00 proverka GBPUSD,H1: i=5 Entrata=5 Uscita aa[i]=3; aa[i*2]=0; aa[i*2+1]=0
2007.11.03 00:36:49 2007.10.01 00:00 proverka GBPUSD,H1: i=4 Entrata=4 Uscita aa[i]=4; aa[i*2]=0; aa[i*2+1]=0
2007.11.03 00:36:49 2007.10.01 00:00 proverka GBPUSD,H1: i=3 Entrata=3 Uscita aa[i]=-6.8284; aa[i*2]=-1. 1716; aa[i*2+1]=0
2007.11.03 00:36:49 2007.10.01 00:00 proverka GBPUSD,H1: i=2 Entrata=2 Uscita aa[i]=-6.8284; aa[i*2]=-4; aa[i*2+1]=3
2007.11.03 00:36:49 2007.10.01 00:00 proverka GBPUSD,H1: i=1 Entrata=1 Uscita aa[i]=3; aa[i*2]=-6. 8284; aa[i*2+1]=-6.8284
2007.11.03 00:36:49 2007.10.01 00:00 GBPUSD,H1: i=0 Entrata=0 Uscita aa[i]=21; aa[i*2]=21; aa[i*2+1]=3
realfastfouriertransform anche non passa c'è parte immaginaria al primo numero, e la normalizzazione non è affatto chiara.
Il primo numero non ha parte immaginaria, quindi sotto l'indice 1 realfastfouriertransform scrive l'ampiezza di frequenza N/2, che anche non ha parte immaginaria. A proposito, è chiaramente scritto nel mio indicatore. Ed ecco un'immagine familiare dall'indirizzo conosciuto
P.S. La normalizzazione in questo caso è una costante, cioè, se non la si prende in considerazione qualsiasi rapporto non sarà violato, è lo stesso della misurazione in centimetri invece che in metri.
Grazie, non stavo prestando attenzione. Purtroppo non sono ancora così fluente in MQL da trovare questa elaborazione nel tuo indicatore senza alcun commento. Ora devo fare i conti con il razionamento.
Modifica
Sì, l'ho trovato, basta moltiplicare per n. Ho cancellato il mio post alla biblioteca, è corretto.
Victor(Vinin), perché hai cancellato il tuo topic (" Analisi della fase di mercato")? Era un buon argomento, non c'erano neanche parolacce...