Strategie di trading basate su filtri digitali - pagina 72

 

È di grande aiuto

Grazie per il vostro gentile aiuto con il post. È un grande aiuto per me.

Auguri a tutti voi ragazzi

 

Grande

Boyens:
Ho scaricato l'indicatore #MFT_STLM2_v2 postato dal grande Simba, ma non mi ha funzionato sulla mia piattaforma.

Questa versione è scaduta o qualcosa del genere?

Sto cercando un MTF STLM per definire la tendenza.

Grazie in anticipo amici.

Gentilmente.

Boyens,

Trovali qui, hai bisogno di entrambi compilati nella tua cartella indicatori per far funzionare l'MTF, poi, puoi allegare solo l'MTF e giocarci, ti suggerisco di usare h4 e/o d1 per la definizione del trend sui grafici con tf inferiore.

Saluti

S

File:
stlm2.mq4  11 kb
 

Alternative per il calcolo di FATL SATL, ecc.

In qualche modo ho dei dubbi su questo modello ciclico multiplo del mercato FX. Non voglio mettere in dubbio l'utilità degli indicatori basati su questo modello, ma mi chiedo quali possano essere le fonti di tali strutture di risonanza? Tipicamente la risonanza richiede una reazione ritardata a uno stimolo. La struttura risonante risuona ad un periodo pari al ritardo. Cosa può essere ritardato per 200 ore nell'era dell'informazione? (Forse la risonanza potrebbe essere più facilmente spiegata se si verificasse a periodi più piccoli nella M1 TF). Quale può essere lo stimolo? Notizie, paura e avidità dei commercianti che agiscono in gruppo? Una domanda sociologica interessante, ma non utile in questo caso.

Una seconda obiezione è il fatto, sottolineato da Simba, che i periodi di risonanza non coincidono se misurati a diversi TF. Se c'è veramente una struttura risonante a 48 periodi 1H, allora dovrebbe mostrare una risonanza a 12 periodi 4H, o 192 periodi 15M. Questo non sembra accadere. Perché? Non ti rende nervoso usare l'ipotesi ciclica per fare trading?

Qualunque siano le risposte, se gli indicatori sono utili, allora ci sono modi alternativi per calcolarli. Non abbiamo bisogno di affidarci all'analisi spettrale continua e ai filtri digitali adattativi una volta che ci siamo convinti che ci sono 2 o 3 cicli che dominano, e che cambiano frequenza (periodo) e ampiezza lentamente, ecc. Possiamo usare FFT, MESA, Goertzel o altro per convincerci di questo... Io non sono ancora convinto, anche se le immagini in 3d sono abbastanza convincenti. Poi possiamo usare metodi collaudati per estrarre i segnali ciclici l'uno dall'altro e dal rumore.

Questo problema di estrazione del segnale è abbastanza comune nella progettazione di sistemi di comunicazione. Pensate a come il vostro ricevitore radio (o telefono cellulare se dovete) estrae il suo segnale dal rumore di fondo e da altri segnali nelle vicinanze. Questi segnali non sono stazionari, né lo è il rumore, anche se di solito è modellato in questo modo. Sono piuttosto complessi con fase, frequenza e ampiezza variabili. Eppure possono essere estratti in modo affidabile in ambienti a basso rapporto segnale/rumore, a condizione che non interferiscano tra loro.

Che ne dite di usare tre filtri passabanda fissi con passabanda abbastanza stretto da separare i 3 segnali, ma abbastanza largo da far passare la variazione di frequenza prevista. Ogni filtro è seguito da un phase-locked loop per estrarre la frequenza che cambia, e un demodulatore coerente per estrarre l'ampiezza. Non è necessaria alcuna analisi spettrale. (Tranne che per selezionare le tre bande.) Nessuna importanza relativa richiesta, e nessuna progettazione e modifica al volo dei filtri. (Il segnale estratto sarà a fase continua).

Tutti questi elementi sono o filtri, moltiplicatori, o un oscillatore con frequenza controllata digitalmente (VCO). L'unico filtro che ha una risposta in frequenza importante è il filtro di loop, e ci sono molti progetti per questi. Ho molti riferimenti se qualcuno è interessato. Se riesco a far collaborare la mia memoria in modo da non dimenticare ciò che sto cercando di programmare, e se riesco a resuscitare una parvenza di codifica in C, potrei provare io stesso.

MadCow

 

Pre-elaborazione dei dati

Richcap, grazie per aver condiviso il tuo codice.

Conosci quest'altra versione di MESA, scritta per Amibroker?

AmiBroker - Biblioteca AFL

Implementa vari preprocessi (filtraggio, detrending) che non sono inclusi nel tuo codice, e di cui potresti beneficiare in quanto dovrebbe consentire risultati migliori su dati reali.

Spero che ti possa aiutare.

 

Risonanza

MadCow:
In qualche modo ho i miei dubbi su questo modello ciclico multiplo del mercato FX. Non intendo mettere in discussione l'utilità degli indicatori basati su questo modello, ma mi chiedo quali possano essere le fonti di tali strutture di risonanza? Tipicamente la risonanza richiede una reazione ritardata a uno stimolo. La struttura risonante risuona ad un periodo pari al ritardo. Cosa può essere ritardato per 200 ore nell'era dell'informazione? (Forse la risonanza potrebbe essere più facilmente spiegata se si verificasse a periodi più piccoli nella M1 TF). Quale può essere lo stimolo? Notizie, paura e avidità dei commercianti che agiscono in gruppo? Una domanda sociologica interessante, ma non utile qui.

Una seconda obiezione è il fatto, sottolineato da Simba, che i periodi di risonanza non corrispondono quando sono misurati a diversi TF. Se c'è veramente una struttura risonante a 48 periodi 1H, per esempio, allora dovrebbe mostrare una risonanza a 12 periodi 4H, o 192 periodi 15M. Questo non sembra accadere. Perché? Non ti rende nervoso usare l'ipotesi ciclica per fare trading?

Qualunque siano le risposte, se gli indicatori sono utili, allora ci sono modi alternativi per calcolarli. Non abbiamo bisogno di affidarci all'analisi spettrale continua e ai filtri digitali adattativi una volta che ci siamo convinti che ci sono 2 o 3 cicli che dominano, e che cambiano frequenza (periodo) e ampiezza lentamente, ecc. Possiamo usare FFT, MESA, Goertzel o altro per convincerci di questo... Io non sono ancora convinto, anche se le immagini 3d sono abbastanza convincenti. Poi possiamo usare metodi collaudati per estrarre i segnali ciclici l'uno dall'altro e dal rumore.

Questo problema di estrazione del segnale è abbastanza comune nella progettazione di sistemi di comunicazione. Pensate a come il vostro ricevitore radio (o telefono cellulare se dovete) estrae il suo segnale dal rumore di fondo e da altri segnali nelle vicinanze. Questi segnali non sono stazionari, né lo è il rumore, anche se di solito è modellato in questo modo. Sono piuttosto complessi con fase, frequenza e ampiezza variabili. Eppure possono essere estratti in modo affidabile in ambienti a basso rapporto segnale/rumore, a condizione che non interferiscano tra loro.

Che ne dite di usare tre filtri passabanda fissi con passabanda abbastanza stretto da separare i 3 segnali, ma abbastanza largo da far passare la variazione di frequenza prevista. Ogni filtro è seguito da un phase-locked loop per estrarre la frequenza che cambia, e un demodulatore coerente per estrarre l'ampiezza. Non è necessaria alcuna analisi spettrale. (Tranne che per selezionare le tre bande.) Nessuna importanza relativa richiesta, e nessuna progettazione e modifica al volo dei filtri. (Il segnale estratto sarà a fase continua).

Tutti questi elementi sono o filtri, moltiplicatori, o un oscillatore con frequenza controllata digitalmente (VCO). L'unico filtro che ha una risposta in frequenza importante è il filtro di loop, e ci sono molti progetti per questi. Ho molti riferimenti se qualcuno è interessato. Se riesco a far collaborare la mia memoria in modo da non dimenticare ciò che sto cercando di programmare, e se riesco a resuscitare una parvenza di codifica in C, potrei provare io stesso.

MadCow

Ciao Madcow,

200 ore di reazione ritardata nei mercati finanziari porteranno all'estinzione degli attori che hanno preteso quel comportamento e, di conseguenza, il comportamento scomparirebbe.... come hai giustamente accennato.

IMHO ci possono essere diverse cause dei cicli, se leggi il materiale della Foundation for the Study of Cycles, puoi vedere che tra le cause probabili annotate citano le stelle, i pianeti, l'attività dei brillamenti solari, le tempeste geomagnetiche, ecc, ecc, così tante cause che è meglio studiare solo le possibilità in privato, mentre si negozia gli effetti quando sono quantificabili in base alla ricompensa del rischio.

Fondamentalmente, IMO, i cicli sono come una catena preimpostata di comportamenti di reazione all'azione che di solito richiedono un tempo simile per essere compiuti da una settimana all'altra, da un giorno all'altro, da un'ora all'altra (pensate ai modelli di predatore e preda)... quanto tempo ci vuole per eseguire gli stop di vendita e poi soddisfare l'ordine di acquisto di quel grande cliente ad un prezzo migliore?... quanto tempo ci vuole perché il vostro concorrente se ne accorga e inizi ad intromettersi nel vostro gioco?Quanto tempo ci vuole perché i precedenti long siano fermati o si ritirino dalle loro posizioni (e qui c'è una componente di volatilità)?... Beh, credo che questo processo richieda, di solito, x tempo, +- y std... quindi, finché lo std è fattibile e lo y non ti uccide nell'attesa, questi modelli sono negoziabili.

In termini di trading concettuale, se 2 o 3 ore dopo l'apertura di Francoforte, con la sessione di Londra in corso, vedo i prezzi fermarsi a un S1 settimanale dopo un downmove che è appena andato veloce e furioso 50 pips sotto il supporto precedente (aka esecuzione di stop) ... e, contemporaneamente i miei cicli H4 stanno segnalando una svolta, prendo il long.

Lecoppie di valute possono avere una compressione quasi ottimale della volatilità in H4 (tutti i tfs comprimono la volatilità dai dati dei tick), e i timeframes inferiori possono essere troppo rumorosi per i nostri filtri per rilevare i cicli....O forse, e molto probabilmente , i nostri filtri non sono abbastanza buoni per questo.

Per favore, sentiti libero di andare avanti con la tua idea, potrebbe offrire un punto di vista alternativo su questo affascinante problema... credo che la maggior parte delle persone qui cercheranno di aiutarti.

Saluti

S

 

Post interessante...

Qualcuno sa come ha fatto Noxa a modificare l'algoritmo SSA per renderlo causale?

Ho lavorato sull'argomento negli ultimi due mesi, ma non ho avuto molto tempo per concluderlo.

Ho letto in alcuni post di questo thread che Noxa CSSA usa reti neurali? Qualcuno può confermarlo?

A proposito, solo un feed forward NN multistrato o forse un NN auto-encoder?

 

'' La parte ''casuale'' viene dalla rete di stati eco:Echo state network - Scholarpedia

Ma ancora l'algoritmo SSA non è altro che l'adattamento della curva.

 
SIMBA:
Ciao Madcow,

...

Per favore, sentitevi liberi di andare avanti con la vostra idea, potrebbe offrire un punto di vista alternativo su questa affascinante questione ... Credo che la maggior parte delle persone qui cercherà di aiutarvi.

Saluti

S

Grazie Simba per la spiegazione e l'incoraggiamento, ma prima di procedere voglio essere sicuro che i cicli non siano un'invenzione del modo in cui il prezzo viene elaborato. Vorrei chiedere se le componenti cicliche potrebbero essere il risultato di un aliasing.

Lasciate che vi mostri cosa intendo. Ecco GBPUSD M1 e due grafici spettrali di R_MESA. Il primo grafico è lo spettro di GU M1 senza elaborazione. Il secondo è lo spettro di GU M1 dopo averlo fatto passare attraverso un filtro anti aliasing progettato in modo che il segnale possa essere campionato a intervalli di 1 ora senza violare il Nyquist sampling theorum. Se il segnale M1 viene semplicemente campionato a intervalli di 1 ora, senza prima filtrare il passa-basso (ed è proprio quello che è la chiusura H1), il processo di sottocampionamento introdurrà artefatti di aliasing. Poiché la chiusura M1 ha un'energia significativa al di sotto del periodo di 120 minuti, il campionamento a 60 minuti aliaserà un sacco di energia nei campioni H1. Tutti i picchi che mostrano a sinistra di 120 minuti appariranno come picchi nello spettro H1. La posizione dei picchi può essere calcolata, ma il processo è un casino, quindi non l'ho fatto. Inoltre MESA potrebbe non raccogliere tutta l'energia alias, come farebbe una FFT.

Ora guardiamo lo spettro di GU H1 senza filtro anti aliasing applicato.

Da dove vengono tutti quei picchi? Se fossi la signora della chiesa, potrei pensare che si tratti di SATANA... ma in realtà penso che si tratti di aliasing. Forse dovrei sottocampionare il prezzo M1 filtrato e guardare il suo spettro. Ma questo è per un altro giorno.

Per inciso, grazie a RC per gli eccellenti strumenti software.

Saluti... MadCow...

P.S. Pensate a quante altre cose possiamo alias nello spettro H4.

File:
 

H4, non linearità e scalatura frattale

MadCow:
Grazie Simba per la spiegazione e l'incoraggiamento, ma prima di procedere voglio essere sicuro che i cicli non siano un'invenzione del modo in cui viene elaborato il prezzo. Vorrei chiedere se le componenti cicliche potrebbero essere il risultato dell'aliasing.

Lasciate che vi mostri cosa intendo. Ecco GBPUSD M1 e due grafici spettrali da R_MESA. Il primo grafico è lo spettro di GU M1 senza elaborazione. Il secondo è lo spettro di GU M1 dopo averlo fatto passare attraverso un filtro anti aliasing progettato in modo che il segnale possa essere campionato a intervalli di 1 ora senza violare il Nyquist sampling theorum. Se il segnale M1 viene semplicemente campionato a intervalli di 1 ora, senza prima filtrare il passa-basso (ed è proprio quello che è la chiusura H1), il processo di sottocampionamento introdurrà artefatti di aliasing. Poiché la chiusura M1 ha un'energia significativa al di sotto del periodo di 120 minuti, il campionamento a 60 minuti aliaserà un sacco di energia nei campioni H1. Tutti i picchi che mostrano a sinistra di 120 minuti appariranno come picchi nello spettro H1. La posizione dei picchi può essere calcolata, ma il processo è un casino, quindi non l'ho fatto. Inoltre MESA potrebbe non raccogliere tutta l'energia alias, come farebbe una FFT.

Ora guardiamo lo spettro di GU H1 senza filtro anti aliasing applicato.

Da dove vengono tutti quei picchi? Se fossi la signora della chiesa, potrei pensare che si tratti di SATANA... ma in realtà penso che si tratti di aliasing. Forse dovrei sottocampionare il prezzo M1 filtrato e guardare il suo spettro. Ma questo è per un altro giorno.

Per inciso, grazie a RC per gli eccellenti strumenti software.

Saluti... MadCow...

P.S. Pensate a quanto di più possiamo alias nello spettro H4.

Madcow,

Un'immagine vale più di mille parole... vedi in allegato una scansione che ho eseguito per trovare e disegnare una pendenza del ciclo composito di fino a 4 cicli (per timeframe) in diversi timeframe

H1...Ho cercato cicli con periodicità tra 90 e 180 barre all'interno delle ultime 540 barre

M30,M15,M5...Stessa analisi equivalente...quindi fondamentalmente sto oversampling 1,2,4 e 12 volte con esattamente gli stessi risultati.

Se vedi le foto vedrai che la scansione ha trovato solo 2 cicli, non 1 né 4, esattamente gli stessi 2 cicli nei 4 diversi timeframes, stessa periodicità 108 e 153 barre H1 equivalenti, stessa ampiezza e stessa fase...Questo non succede sempre,l'aliasing e i fantasmi e la risonanza spettrale delle armoniche e delle subarmoniche di solito appaiono nell'immagine appannando la realtà,ma quando vedi questa perfetta corrispondenza,sai che puoi scambiare questo modello ciclico,in qualsiasi dei 4 timeframes ...anche in h4 se vuoi farlo.... usando l'oversampling,puoi campionare più volte per barra(usa il campionamento m15 in h4 per esempio)...ma non ne hai davvero bisogno.

I cicli sono esattamente gli stessi...quali sono le possibilità che questi siano fantasmi?...Come ti ho detto prima è solo una questione di avere gli strumenti giusti per misurare quello che sta succedendo...

Richcap può non essere d'accordo con il mio punto di vista, ma, IMO, MESA non è lo strumento giusto, Fourier con tutte le sue varianti, incluso Goertzel, è leggermente meglio...ma quello che dobbiamo davvero pensare è il concetto di Cicli Frattali, quindi, dobbiamo entrare nei regni della non linearità e dello scaling frattale se vogliamo davvero "modellare" il mercato.

Non cercherò di convincere nessuno di altro,ho già tutti gli strumenti che mi servono nel regno dei cicli,quindi,se non siete convinti dalle scoperte mie e di Richcap,allora la conclusione logica è quella di lasciar perdere i cicli.Se siete convinti,o almeno abbastanza convinti da provarci,vi aiuterò a patto che il vostro approccio sia originale e utile e,ovviamente,a patto di non dover rivelare nessun lavoro proprietario fatto nel nostro gruppo privato.

Saluti

S

File:
campc19.gif  41 kb
campc20.gif  40 kb
campc21.gif  36 kb
campc22.gif  36 kb
 

Simba,

questi sono risultati molto convincenti. Non sono sicuro di cosa sto guardando, ma le curve sono molto simili per tutti i TF. Sembra che non ci sia davvero un problema di aliasing, tuttavia, sono perso a capire perché no. La serie H1 dovrebbe avere significativamente più rumore, rispetto alla serie M1. Apparentemente non c'è una componente ciclica sostenuta ad alta frequenza in nessuno dei TF inferiori, e c'è poco o nessun rumore. Questo mi sembra incredibile, e dato che mi sono dato da fare per cercare di capire la possibilità di aliasing prima che tu postassi, vorrei postare i miei pensieri.

La mia preoccupazione per l'aliasing potrebbe non essere chiara, quindi lasciatemi illustrare l'effetto dell'aliasing meglio di come l'ho fatto io. Per facilitare l'illustrazione, supponiamo che lo spettro di una serie di prezzi M1 consista in due componenti periodiche incorporate nel rumore. Il rumore ha uno spettro triangolare, una delle componenti è a bassa frequenza (periodo lungo, mostrato in blu) e l'altra è ad alta frequenza (periodo corto, mostrato in rosso). Poiché abbiamo a che fare con una serie di prezzi M1, lo spettro deve terminare alla frequenza di campionamento/2 (fs/2) (periodo = 2 minuti). (Se nelle transazioni esistono componenti a frequenza più alta, esse saranno alias nello spettro al di sotto di fs/2). Inoltre, supponiamo che entrambe le componenti abbiano un rapporto segnale/rumore ragionevolmente buono. Tutto questo è mostrato nella metà superiore della prima figura qui sotto. L'effetto del sottocampionamento di questa serie di prezzi a intervalli di 5 minuti (M5) è mostrato nella metà inferiore della figura. Questo può essere calcolato graficamente notando che lo spettro di un segnale campionato può essere trovato convolvendo lo spettro del segnale originale con una serie di impulsi alla frequenza di campionamento. (Poiché il periodo M5 è 5 volte il periodo M1, la frequenza di campionamento è 1/5 della frequenza di campionamento di 1 minuto come mostrato. )Questo comporta i semplici passaggi di sovrapposizione dello spettro iniziale ad ogni impulso. E' abbastanza chiaro il casino che questo fa dello spettro originale. Notate che la componente ad alta frequenza è alias giù vicino alla componente a bassa frequenza, ma la componente a bassa frequenza non è interessata.

Lo spettro effettivo della serie di prezzi M5 derivata dal sottocampionamento della serie M1 è mostrato nella figura qui sotto. A sinistra ho cercato di mostrare come il rumore si accumula a causa dell'aliasing. A destra mostro lo spettro finale del segnale M5. La componente ad alta frequenza ha subito un aliasing vicino alla componente a bassa frequenza, e il rumore si è accumulato così che il rapporto segnale/rumore è ora piuttosto cattivo.

Ora supponiamo che ci fossero diverse componenti cicliche ad alta frequenza nello spettro originale, e supponiamo di sotto-campionarlo una volta ogni ora, o una volta ogni 4 ore. Il pasticcio risultante dovrebbe avere componenti cicliche dappertutto, e il rapporto segnale/rumore dovrebbe essere terribile.

Poiché qualsiasi componente ciclica nel segnale finale (diciamo H1) deve essere stata nel segnale originale M1, ma con un miglior rapporto segnale/rumore, mi sembra che si dovrebbe usare il segnale M1 per estrarre le componenti cicliche. Naturalmente il problema con questo è che quelle componenti che sono a periodi di 20 ore saranno molto difficili da estrarre dai dati M1 perché il periodo M1 richiederà 60 volte più campioni di M1. D'altra parte, ci possono essere molte componenti che sono ad alte frequenze nella serie M1, che si alias nella serie H1 più volte causando più picchi di quelli che ci sono realmente.

L'unico modo semplice per indagare su questo è guardare lo spettro di un segnale M1 e un segnale H1 sullo stesso periodo (assoluto), per esempio 200 ore o giù di lì. Questo non può essere fatto con gli strumenti R_MESA attualmente disponibili perché la lunghezza richiesta a M1 supera la capacità dell'algoritmo come codificato.

Sembra che tu abbia già esaminato i vari TF e sia soddisfatto che le componenti cicliche siano presenti a una frequenza abbastanza bassa da non essere influenzate dal sottocampionamento. Usando qualcosa come l'algoritmo di Goertzel (o semplicemente un insieme di filtri a banda stretta, che è equivalente) si può apparentemente ignorare il rumore aggiunto dall'aliasing. Questa è una buona notizia. Sono convinto che i componenti ci siano. Non so perché. Quindi procederò a guardare un filtro ad inseguimento bloccato in fase.

Mi piacerebbe saperne di più sul filtraggio frattale se avete qualche fonte.

Grazie ...MadCow...

File:
Motivazione: