Una strategia di trading efficace basata sull'analisi multivariata di più DC - pagina 10

 
Yurixx:
Piligrimm

Spero che il numero di persone scettiche sull'analisi multivalutaria sia diminuito, e che i risultati aiutino qualcuno a trovare la propria strategia di trading efficace.

Devo ammettere che è un'idea molto interessante e significativa.
E la trasformazione del vyvelet sembra molto costruttiva. Bisogna prenderci la mano.
Bravo!
Se usati al posto degli indicatori, i vivelet hanno un vantaggio significativo - mantengono un'alta dinamica degli sweep e danno molto meno ritardo rispetto ai dati di input. L'essenza della trasformazione vivelet è che decompone un segnale in componenti dello spettro, poi taglia una parte dello spettro e usa il resto delle armoniche per formare un nuovo segnale. Ha bisogno solo di tre conteggi per decomporre il segnale in uno spettro, non può essere confrontato, per esempio, con le medie mobili dove sono necessari 6-10 conteggi per ottenere la stessa morbidezza che introduce il rispettivo ritardo ai dati reali.
Ma come gli indicatori, le trasformazioni wavelet di per sé non possono dare una previsione, mentre l'immagine che dipingono riflette solo il passato, e fare qualsiasi conclusione seria sul futuro sulla base di questa immagine è senza senso, dovremmo costruire un sistema di previsione, l'unico modo per dire circa la tendenza del mercato con più o meno fiducia.
 
elritmo:
Piligrimm, puoi dirmi come puoi usare MT per tracciare una chiusura di qualsiasi coppia di valute su un grafico di un'altra coppia di valute?

Con l'aiuto di iClose, formate un file con tutti gli strumenti di cui avete bisogno, poi per ogni strumento ottenete un rapporto di media, per esempio, sommate le ultime 100 barre per ogni strumento e dividete per 100. Dopo di che, tutti i dati, per ogni strumento dividete per il suo coefficiente, come risultato otterrete i valori di tutti gli strumenti che fluttuano intorno a uno (a proposito, è conveniente per l'ulteriore elaborazione utilizzando reti neurali, tutti i dati sono normalizzati), dopo di che moltiplicate i valori dello strumento, che si desidera visualizzare su un altro grafico per il coefficiente, che è stato ottenuto per lo strumento sul grafico che si sta per visualizzare.
 
Ora, tutto è pixel-perfetto, anche con diversi tassi di quotazione e numero di tick.
 
Piligrimm:
Brevemente, l'essenza della trasformata wavelet, se qualcuno non ha familiarità con essa, è che decompone il segnale in componenti spettrali, poi taglia una parte dello spettro e usa le armoniche rimanenti per formare un nuovo segnale.
In questo caso, come differiscono le trasformate wavelet dalle varie trasformate di Fourier, dall'analisi spettrale, ecc. ?

Il problema principale delle trasformate di Fourier è che sono applicabili solo a funzioni periodiche. Se li usate per una funzione non periodica, basandovi su un pezzo finito di storia, il risultato è una funzione periodica che ripete all'infinito il pezzo di riferimento.
A giudicare dalla tua citazione, le trasformazioni di vivelet dovrebbero soffrire dello stesso difetto. Lo fa?
 
xnsnet:

Non è a causa del sovraccarico del server o dell'arrivo più veloce delle citazioni modificate, ma a causa della differenza nelle impostazioni dei filtri, ognuno lo imposta come crede che dovrebbe essere. Sì, ecco perché gli EA dalla pelle spessa sono una necessità, perché una società di brokeraggio farà una cosa e un'altra ne farà un'altra. Il filtro funziona in modo tale da selezionare le quotazioni più realistiche, tenendo conto dei tempi, ma non emula le quotazioni, ma rifiuta solo alcune varianti, lasciando solo quelle più plausibili. Sfortunatamente, questa non è la verità che vogliono vedere per l'utente o il programma, ecco perché iniziano argomenti come l'analisi tra società di intermediazione.

Si noti che uso due indicatori contemporaneamente, intervalli di tempo server e client, quindi non c'è quasi nessuna differenza nei grafici, solo in queste aree filtrate sul lato server.

La differenza di tempo, è calcolata in tempo a otto byte, dove la data del server è convertita in (gcnew DateTime( 1970, 1, 1 ))->AddSeconds( iSrv ), poi la somma della differenza di tempo tick, server e client, divisa per nove all'ottava potenza è usata, in questo grafico, per ottenere la differenza in secondi, bisogna dividere per dieci alla settima potenza. In questo modo posso dedurre con alta precisione escludendo i problemi di velocità di aggiornamento dei dati. A parte il fatto che si consuma un pixel per tick, ma penso che per alcune modalità, come l'output del tempo all'interno dei tick, toglierò il consumo, allora sarà perfettamente comparabile anche nelle dimensioni. Che ci vuoi fare, sono uno scavatore, anche senza voler scavare fino alla radice:)

Caro Pellegrino, mi interessa sapere cosa hai da dire in risposta a questa affermazione?

Continua a scavare!
Bene, seriamente, prima di tutto, definite l'obiettivo finale, quello che volete ottenere e come userete le informazioni ottenute, questo dipenderà dalla forma e dal formato in cui è meglio presentarle. Se avete intenzione di fare l'MTS sulla base dell'analisi dei tick, allora avete bisogno di sincronizzare i tick dei diversi strumenti nel tempo, e questa è la cosa più difficile in tutto questo lavoro, altrimenti non otterrete un quadro oggettivo, e di conseguenza, l'MTS non funzionerà in modo efficiente.

La corretta preparazione dei dati iniziali è il 90% del successo in qualsiasi compito e nel trading è ancora più importante e molte persone che cercano di fare previsioni falliscono perché non sono riusciti a formare i dati secondo l'algoritmo di elaborazione dei dati.

 
A proposito, se aggiungo l'interazione al programma, sarò in grado di combinare i risultati di diversi DT e aggiungere i dati mancanti in entrambe le direzioni, per esempio negli screenshot sopra possiamo vedere che entrambi i DT soffrono di filtraggio intrinseco, in realtà nella direzione opposta, nel grafico EURUSD è facilmente visibile all'inizio. E siccome l'intero scopo è proprio quello di tagliare i dati dei tick con dei filtri, in questo modo il filtraggio scomparirà in piccola parte. Tutto dipende da quali broker confrontare. Ma questo è per dopo:)
 
Yurixx:
Piligrimm:
Brevemente, l'essenza della trasformata wavelet, se qualcuno non ha familiarità con essa, è che decompone il segnale in componenti spettrali, poi taglia una parte dello spettro e usa le armoniche rimanenti per formare un nuovo segnale.
In questo caso, come differiscono le trasformate wavelet dalle varie trasformate di Fourier, dall'analisi spettrale, ecc. ?

Il problema principale delle trasformate di Fourier è che sono applicabili solo a funzioni periodiche. Se li usate per una funzione non periodica, basandovi su un pezzo finito di storia, il risultato è una funzione periodica che ripete all'infinito il pezzo di riferimento.
A giudicare dalla tua citazione, le trasformazioni di vivelet dovrebbero soffrire dello stesso difetto. Lo fa?

No, le trasformazioni wavelet si basano su principi diversi dalle trasformazioni di Fourier e hanno un vantaggio rispetto ad altri metodi di analisi spettrale, anche se mi sembra che sarebbe sbagliato parlare di analisi spettrale in generale; dovremmo piuttosto parlare di un metodo di filtraggio specifico. La trasformazione risulta nella cosiddetta mappa dei coefficienti e può essere utilizzata anche per l'analisi visiva e la ricerca di modelli nel processo in studio. Ma non sono un esperto in questo campo e non mi sono interessato a questo argomento negli ultimi 3-4 anni, ora ci sono molte nuove informazioni sulle trasformazioni vyvelet su Internet, credo. Sono abituato a chiamarle così, anche se il nome corretto sarebbe trasformate wavelet.

A proposito, ecco un link sull'uso delle trasformazioni wavelet insieme alle reti neurali: http://library.mephi.ru/data/scientific-sessions/2001/Neuro_Lect/2343.htm c'è un esempio:
"Analisi delle serie temporali finanziarie e significato dei fattori nella modellazione delle reti neurali".

E un altro link: http://www.tradeways.org/wave_4.php
 
In effetti, posso già vedere la soluzione per avere bisogno di un programma server per memorizzare le zecche, probabilmente il modo più semplice per riempire le zecche in un unico flusso, è quello di utilizzare SQL quindi essenzialmente è possibile utilizzare diversi server per questo scopo per raccogliere i dati da diversi DC:) Anche se sarebbe meglio scrivere il proprio server per questo, ma le mie capacità sono limitate a un paio di mani, quindi per implementare questa azione dovrà sacrificare piccole cose:) E i problemi di comunicazione scompaiono solo in caso di fallimento dell'Internet service provider:) Anche se a dire la verità, meglio di SQL può essere solo il proprio server.
 
xnsnet:
A proposito, se aggiungo l'interazione al programma sarò in grado di combinare i risultati di diverse società di brokeraggio e aggiungere i dati mancanti in entrambe le direzioni, per esempio nelle schermate sopra possiamo vedere che entrambe le società di brokeraggio soffrono di filtraggio intrinseco, in realtà nella direzione opposta, nel grafico EURUSD è facilmente visibile all'inizio. E siccome il punto è proprio nel tagliare i dati dei tick con i filtri, in questo modo il filtraggio scomparirà in piccola parte. Tutto dipende da quali broker confrontare. Ma verrà più tardi :)
Qui potrebbe non essere così semplice. E se queste differenze sono causate principalmente dal fatto che le società di intermediazione ottengono le loro informazioni da fonti diverse? In questo caso porterai solo ulteriori distorsioni. Ma in ogni caso puoi provare, ma fai attenzione a non introdurre ulteriori disturbi.
 
Piligrimm:
Potrebbe non essere così semplice. E se le differenze fossero dovute principalmente al fatto che i DC stanno ricevendo informazioni da fonti diverse? In questo caso introdurrai solo distorsioni aggiuntive. Ma prova comunque, fai solo attenzione a non introdurre ulteriori interferenze.

Naturalmente, è a questo che serve la visualizzazione dei grafici, per vedere queste distorsioni:) In ogni caso, devi scrivere un server, che distinguerà anche l'interferenza, tutto in linea di principio è già chiaro, devi solo farlo:) Ho sempre detto che il cervello umano è un virus:) Ho avuto un grosso problema, come tracciare lo spegnimento del server in Metatrader, perché nessun evento viene ricevuto, ora ho trovato il modo più sicuro per non farlo :) Dopo tutto, se un DC viene interrotto, c'è un altro DC. Detto questo, non c'è odore di cracking qui, poiché solo i drawdown possono essere utilizzati per il pipsing, che è esattamente ciò che i filtri assorbono, e quando tutto questo è solo un quadro per l'analisi, allora questi dati possono essere utilizzati solo per l'analisi e non per il pipsing sulle vulnerabilità. Inoltre, sono arrivato alla conclusione che non c'è bisogno di sovraccaricare la cronologia dei tick del terminale, tutto sarà memorizzato sul server, e i grafici incollati al terminale, o meglio in diverse modalità, riflettendo sia i dati del server che solo il suo client separatamente, ma anche dal server:)

P.S.: Spero che nessun altro mi convinca che le zecche non sono necessarie o inutili da lavorare:))))