![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
Beh, secondo me, questa è un'affermazione troppo rigida. In effetti, non ci sono studi che danno statistiche sulla durata di vita dei modelli. Inoltre, non ci sono dati sulla quantità di informazioni (= tempo di ritardo) necessarie per riconoscere il modello. Anche coloro che introducono e utilizzano questi modelli preferiscono non condurre tali studi o non pubblicarli. Ovviamente, si ritiene che se la strategia ha un mo positivo, allora il modello viene riconosciuto prima che le probabilità siano equiparate.
E ci sono queste strategie, dal vivo. Guarda meglio. Il suo EA fa effettivamente quello che volevo implementare nel mio - riconosce i punti pivot ed entra all'inizio di un'onda. E si muove sia verso l'alto che verso il basso. Qui avete una previsione e prima del riconoscimento.
...
Quindi, abbiamo bisogno di stimare chiaramente le risorse sia in termini di memoria che di tempo di ciclo di calcolo. Altrimenti potremmo avere un ciclo di calcolo di 5-10 ore. Quali notizie allora? Solo lasciato a giocare per giorni o settimane. :-)
Naturalmente si tratta di un'ipotesi e non si basa sulla statistica (che non può essere un argomento per tali affermazioni perché basta un esempio per confutarla) ma su considerazioni sistemiche, cioè sull'equilibrio. Ma anche il consiglieredi Better non è un argomento: poco tempo di osservazione. Tuttavia per noi, dongiovanni senza soldi (e ci sono pochi miliardari tra noi :), c'è una buona notizia: il fatto che le nostre azioni non influenzano il mercato in alcun modo, per ordini di grandezza, semplifica il compito. Tranne quando il nostro modello coincide con quello di una delle balene :)
Il problema del volume dei calcoli sarà risolto con la creazione di un cluster, penso che per il lavoro sulla strategia pronta non sarà un problema reclutare partecipanti. Beh, si spera che un computer possa gestire un filtro.
La buona notizia è che le nostre azioni non influenzano il mercato per ordini di grandezza, il che semplifica il compito. Tranne quando il nostro modello coincide con una delle balene :)
Il problema della quantità di calcolo può essere risolto creando un cluster, penso che non sarà un problema reclutare partecipanti per lavorare su una strategia già pronta. E un computer può gestire un solo filtro, si spera.
Mi chiedo come il fatto che "le nostre azioni non hanno alcun impatto sul mercato" semplifichi il compito "di un ordine di grandezza"? A me sembra il contrario. Se le nostre azioni avessero un impatto sul mercato (in un modo desiderabile), non solo semplificherebbe ma addirittura eliminerebbe il problema. :-) E allora non avremmo bisogno di robot.
Per quanto riguarda l'ammasso, mi hai fatto arrabbiare. Anche il mio coinvolgimento personale penso che non salverà la situazione. Ci sono solo 8 miliardi di persone sulla Terra, probabilmente non ci sono più computer. Come diavolo puoi fare un cluster se hai 10-100 miliardi di filtri da calcolare? :-)))
In un modo desiderabile? Non appena le nostre azioni cominciano a influenzare sensibilmente il mercato, il mercato comincerà a lavorare contro di noi personalmente. Comprese le banche centrali e le agenzie di intelligence. Soros ha avuto successo a suo tempo come azione unica, e tu vuoi avere un modello che ti permette di pompare tutto il denaro del mondo? Beh, diciamo che funziona. E chi avrà bisogno dei soldi dopo? :)
Tecnicamente tutte le costanti inizieranno a trasformarsi in variabili.
Con un miliardo di partecipanti l'approssimazione di nessun feedback smetterà di funzionare. E 100 non è una cifra irraggiungibile.
Калмановская фильтрация
Introduzione
Attualmente, i filtri adattativi sono ampiamente utilizzati in cui le nuove informazioni in arrivo sono utilizzate per la correzione continua di una stima precedentemente fatta del segnale (inseguimento del bersaglio in radiolocalizzazione, sistemi di controllo automatico, ecc.) Di particolare interesse sono i filtri adattivi ricorsivi, noti come filtri di Kalman.
Questi filtri sono ampiamente utilizzati negli anelli di controllo nei sistemi di regolazione e controllo automatici. È qui che hanno avuto origine, il che è evidenziato dalla terminologia specifica utilizzata per descrivere il loro funzionamento come spazio di stato.
Il compito della stima dei parametri
Uno dei compiti della teoria della decisione statistica di grande importanza pratica è il compito di valutazione dei vettori di stato e dei parametri dei sistemi che è formulato come segue. Supponiamo di dover valutare il valore di un parametro vettorialeX che non è direttamente misurabile. Si misura invece un altro parametro Z, che dipende da X. Il compito della stima consiste nel rispondere alla domanda: cosa possiamo dire di X conoscendo Z. In generale, la procedura per la stima ottimale del vettore X dipende dal criterio di qualità adottato per la stima. Per esempio, un approccio bayesiano al compito di stima dei parametri richiede informazioni complete a priori sulle proprietà probabilistiche del parametro stimato, il che è spesso impossibile. In questi casi, si usa il metodo dei minimi quadrati (LSM), che richiede molte meno informazioni a priori. Consideriamo un'applicazione di LOC per il caso in cui il vettore di osservazione Z è collegato al vettore di stima X da un modello lineare ed esiste un'interferenza V, non correlata con il parametro stimato:
dove H è una matrice di trasformazione che descrive la relazione tra i valori osservati e i parametri stimati.
La stima X che minimizza il quadrato dell'errore è scritta come segue:
Lasciamo che il disturbo V sia non correlato, nel qual caso la matrice RV è semplicemente una matrice unitaria, e l'equazione per la stima diventa più semplice:
Problema di filtraggio
A differenza del problema della stima dei parametri che hanno valori fissi, nel problema del filtraggio abbiamo bisogno di valutare i processi, cioè trovare le stime attuali del segnale variabile nel tempo distorto da interferenze, e quindi non disponibile per la misurazione diretta. In generale, il tipo di algoritmi di filtraggio dipende dalle proprietà statistiche del segnale e dell'interferenza. Supponiamo che il segnale desiderato sia una funzione che varia lentamente nel tempo e che l'interferenza sia un rumore non correlato. Useremo il metodo dei minimi quadrati, di nuovo a causa della mancanza di informazioni a priori sulle caratteristiche di probabilità del segnale e dell'interferenza.
Essenzialmente, abbiamo implementato un processo di stima parametrica basato su un modello autoregressivo del processo di generazione del segnale.
La formula 3 è facilmente implementata programmaticamente compilando la matrice H e il vettore di colonne di osservazione Z. Tali filtri sono chiamati filtri a memoria finita perché utilizzano le ultime k osservazioni per ottenere la stima corrente Xpoc. Ad ogni nuovo ciclo di osservazione, una nuova osservazione viene aggiunta all'insieme delle osservazioni correnti e la vecchia viene scartata. Questo processo di ottenimento delle stime è chiamato finestra scorrevole.
Filtri con memoria crescente
I filtri con memoria finita hanno un grande svantaggio - dopo ogni nuova osservazione deve essere eseguito di nuovo un ricalcolo completo di tutti i dati memorizzati. Inoltre, il calcolo delle stime può essere iniziato solo dopo che i risultati delle prime k osservazioni sono stati accumulati. Cioè, questi filtri hanno un lungo tempo di processo transitorio. Per risolvere questo inconveniente dobbiamo passare da un filtro con memoria permanente a un filtro con memoria crescente. In un tale filtro il numero di valori osservati utilizzati per la stima deve coincidere con il numero n dell'osservazione corrente. Questo permette di ottenere stime a partire dal numero di osservazioni pari al numero di componenti del vettore stimato X. E questo è determinato dall'ordine del modello adottato, cioè quanti termini della serie di Taylor sono usati nel modello. Allo stesso tempo con l'aumento di n le proprietà di lisciatura del filtro sono migliorate, cioè la precisione delle stime è aumentata. Tuttavia, l'implementazione diretta di questo approccio è collegata a costi computazionali crescenti. Pertanto, i filtri con memoria crescente sono implementati come filtri ricorrenti.
Un filtro con memoria crescente ha una caratteristica importante: se guardiamo la formula 6, la stima finale è la somma del vettore di stima previsto e del termine di correzione. Questa correzione è grande per piccoli n e diminuisce all'aumentare di n, tendendo a zero per . Cioè, all'aumentare di n, le proprietà di lisciatura del filtro crescono e il modello inerente ad esso inizia a dominare. Ma il segnale reale può adattarsi al modello solo in aree separate, quindi la precisione della previsione peggiora. Per lottare contro di essa a partire da alcuni n viene introdotto il divieto di ridurre ulteriormente il termine di correzione. Questo è equivalente al cambiamento della larghezza di banda del filtro, cioè a piccoli n il filtro è più largo (meno inerziale), a grandi n diventa più inerziale.
Confrontate la figura 1 e la figura 2. Nella prima figura, il filtro ha una grande memoria, con un buon livellamento, ma a causa della larghezza di banda stretta, la traiettoria stimata è in ritardo rispetto alla traiettoria reale. Nella seconda figura, il filtro ha una memoria più piccola ed è meno liscio, ma segue meglio la traiettoria reale.
Definiamo:
2. Supponiamo che ci sia una variabile casuale normalmente distribuita con aspettativa zero e correlogramma positivo.
Se la serie è abbastanza lunga, possiamo identificare su di essa lunghi tratti di movimento direzionale dei prezzi. Chiamiamo tale tendenza deterministica. La tendenza deterministica può in linea di principio essere rilevata utilizzando filtri digitali passa-basso o le loro derivate. Per esempio, l'incrocio di due medie mobili con periodi diversi non è altro che un'approssimazione alla derivata di una serie temporale smussata. È chiaro che questo funziona come richiede la matematica: una derivata maggiore di zero significa che la funzione è crescente, meno di zero significa che la funzione è decrescente. Ma solo poche persone sanno che funziona solo per le serie con un FAC positivo, e TUTTE le serie di valuta in tutti i TF hanno un FAC negativo! E, di conseguenza, il metodo non funziona sul mercato o funziona, ma per caso...
Le principali differenze tra una serie temporale e una sequenza di osservazioni che formano un campione casuale sono le seguenti:
- Innanzitutto, a differenza degli elementi di un campione casuale, i membri di una serie temporale non sono indipendenti;
- In secondo luogo, i membri di una serie temporale non sono necessariamente equamente distribuiti.
In generale, si distinguono 4 fattori sotto l'influenza dei quali si formano i valori delle serie temporali.
1. Quelli a lungo termine che formano la tendenza generale (a lungo termine) dell'attributo esaminato. Di solito questa tendenza è descritta da una funzione non casuale (il cui argomento è il tempo), di solito monotona. Questa funzione è chiamata funzione di tendenza o semplicemente tendenza.
2. Stagionale, che forma fluttuazioni periodiche nell'attributo analizzato in certi periodi dell'anno. Poiché questa funzione deve essere periodica (con periodi multipli di "stagioni"), la sua espressione analitica coinvolge armoniche (funzioni trigonometriche) la cui periodicità è solitamente determinata dall'essenza del compito.
3. Cambiamenti ciclici (congiunturali) di formazione dell'attributo analizzato causati da cicli a lungo termine di natura economica o demografica (onde di Kondratieff, "pozzi" demografici, ecc.).
4. Casuale (irregolare), che non può essere contato e registrato. Il loro impatto sulla formazione dei valori delle serie temporali è proprio ciò che determina la natura stocastica degli elementi della serie, e quindi la necessità di interpretare i membri come osservazioni fatte su variabili casuali. Denotiamo il risultato dell'impatto dei fattori casuali per mezzo di variabili casuali ("residui", "errori").
Naturalmente, non è necessario che tutti e quattro i tipi di fattori siano coinvolti simultaneamente nel processo di formazione dei valori di qualsiasi serie temporale. Le conclusioni sul fatto che i fattori di un dato tipo partecipino o meno alla formazione dei valori di una particolare serie temporale possono essere basate sia sull'analisi della parte sostanziale del problema, sia su una speciale analisi statistica della serie temporale indagata. Tuttavia, in tutti i casi, si assume la partecipazione di fattori casuali. Così, in termini generali, un modello di dati (con uno schema strutturale additivo dell'influenza dei fattori) si presenta come una somma di tutti o alcuni dei fattori.
Il filtro può essere impostato su qualsiasi processo non necessariamente deterministico. Puoi impostare 1 filtro su (1. A lungo termine, ....) 2. Filtro su (2. Stagionale,...) 3. Filtro su (3. Ciclico...) 4. Filtro su (4. Casuale (irregolare),...) ecc.
Non vedo una differenza fondamentale nell'analizzare e decidere dove si muove il flusso delle citazioni e il movimento del piano. Un aereo può eseguire un tuffo, un caber, un serpente, un cobra e . ... qualsiasi tipo di manovra in qualsiasi momento (a piacere del pilota). E quando sa che il missile è stato lanciato, credetemi, sta girando come un dannato in una padella.
Il compito dei filtri Kalman (non un solo filtro per tutti i casi) ma diversi. 1 Determinare - tipo di manovra e ora del suo inizio. 2 Prevedere dove sarà l'aereo tra qualche tempo, per attaccarlo nel modo più efficace possibile (prendere profitto :-)).
Quindi è necessario costruire non 1 filtro, ma diversi, ognuno dei quali è impostato per il proprio modello (piatto, tendenza).
La variante più semplice è 1 filtro che lavora con il trend e un altro con il flat. L'algoritmo del filtro Kalman ha una procedura che permette di determinare quale filtro è migliore ora.
Spero che non sosterrete che ci sono sistemi che funzionano bene in un trend piatto ma falliscono in un trend e viceversa, funzionano bene in un trend ma non in un flat. Quindi il filtro Kalman può dirvi quando è necessario cambiare.
P.S. Proverò ancora a costruire il filtro Kalman, a costruire diversi modelli di movimento e a implementare il TS basato su di essi. Il filtro Kalman ha una caratteristica unica che gli indicatori standard non hanno, è in grado di prevedere + diciamo che costruisco 3 filtri flat, trend, gap. In qualche sezione nessuno di questi filtri funziona, analizzo questa sezione e costruisco il quarto filtro, ecc. Non una ricerca stupida da -100 a +100 (percettore), ma un allenamento significativo del sistema.a Prival
Spero che non stiate preparando un'iniziativa di difesa strategica contro le citazioni come risposta agli avvoltoi imperialisti? :о)))
P.S. Cercherò ancora di costruire un filtro Kalman, costruire diversi modelli di movimento e implementare un TS basato su di essi. Per esempio, costruirò 3 filtri: Flat, Trend, Gap. In qualche sezione nessuno di questi filtri funziona, analizzo questa sezione e costruisco il quarto filtro, ecc. Non una ricerca stupida da -100 a +100 (percettore), ma un apprendimento sensato del sistema.
Mi raccomando: non sforzarti troppo, potresti romperti la mano. All'inizio costruisci solo un filtro, per il piatto o la tendenza. Mentre lo fate, capirete molto del Forex, e sarà più facile andare avanti. È particolarmente importante capire quanto segue: nessun vero trader mira a realizzare un profitto. di qualsiasi situazione. Ognuno trova una lista molto limitata per sé e lavora solo su questi modelli particolari.
Se si riesce a creare un filtro che distingua statisticamente una sola situazione redditizia non troppo rara, diciamo una volta al giorno, allora è una cornucopia che tutti qui sognano.
Prival, l'argomento è interessante, ho conosciuto i tuoi articoli - pensieri sensati (anche se sono convinto che è meglio modellare e filtrare la traiettoria nel sistema di coordinate cartesiane, ma non è rilevante). Tuttavia, una certa somiglianza visiva tra la traiettoria Doppler AFK del bersaglio aereo e il movimento dei prezzi mi sembra casuale e non degna di attenzione, perché la natura dei processi è completamente diversa. Le proprietà dinamiche dell'aereo e le citazioni, ahimè, hanno poco in comune. Come un thread qui ha paragonato il movimento dei prezzi alla traiettoria di volo di una mosca, non di un aereo. Ma anche una mosca non è capace di oche, per esempio.
Allo stesso tempo, se si definisce una regressione lineare del prezzo come un segnale, è possibile "catturare" alcune centinaia di pip in un anno, o anche zero - se il coefficiente della regressione lineare è uguale a zero. Lo stesso si può dire della risonanza stocastica - possiamo rilevare una tendenza lenta a scapito di una ad alta frequenza di maggiore ampiezza, ma cosa possiamo guadagnarci? Detto questo, a volte si verificano movimenti di prezzo di diverse cifre in appena un paio o tre giorni. E ci possono essere decine di questi movimenti in un anno per quasi ogni coppia. E nei piccoli timeframe, ci possono essere centinaia di movimenti di mezza cifra o giù di lì in un anno, e migliaia di movimenti di 20 pip. Quindi la domanda è: abbiamo bisogno di un segnale o di un rumore?
Di tanto in tanto ripeto sul forum la mia tesi che è mia convinzione che non ha senso dividere il prezzo in segnale e rumore. È una serie temporale che descrive un processo non stazionario in un sistema dinamico non lineare super complesso. È uno scalare che osserviamo come misura generalizzata di milioni di parametri primari. Non c'è bisogno di dividerlo in componenti - non ce ne sono. Quindi l'applicazione dei metodi di filtrazione tradizionali (sembrano già discussi su questo forum in varie occasioni) non è adeguata al compito.
Ci sono metodi adeguati? Sì, ci sono. Alla vigilia del campionato su suggerimento di klot e di altri partecipanti al forum mi sono interessato all'intelligenza artificiale. Il termine, sfortunatamente, è stato rifiutato, e alcune pubblicazioni qui sul sito l'hanno anche svalutato ai miei occhi, così per molto tempo mi sono scrollato di dosso la teoria "newfangled". Tuttavia - no, l'anti-pubblicità è anche pubblicità, ad un certo punto la propaganda di Perceptron ha anche giocato un ruolo positivo nell'attirare l'attenzione sul soggetto. Ma dopo aver letto la letteratura, ho visto quanta strada ha fatto la cosiddetta "IA debole" rispetto, per esempio, a trent'anni fa, quando ne ho sentito parlare per la prima volta. Più precisamente, quanto sono indietro.
Ho implementato una semplice griglia, ma gli esempi di altri Expert Advisors, e specialmente l'attuale leader Better, mostrano che è una buona direzione da seguire.
Prival, non voglio confonderti con il tuo piano, ma sono convinto che troverai molto utile in AI anche per la tua attività professionale e costruirai un TS redditizio più velocemente.
Signori, lasciate che vi dia un consiglio. Mi offrite altri modi per costruire il mio TS (dando esempi di AI, reti neurali, ma dal mio punto di vista non li capite pienamente). O forse pensate che ho appena iniziato il Forex (anche se ricordo i tempi in cui lo spread minimo era di 10-15 pip e sembrava una benedizione), o non ho idea dell'IA, delle reti neurali e di dove crescono le gambe :-).
Ora cercherò di aiutarvi a capire cosa voglio fare io e cosa fate voi, se create una "semplice rete addestrata".
Per capire meglio ti do il link, rileggilo e confrontalo con quello che scrivo qui sotto (non riesco a trovare la dichiarazione di klot, purtroppo, forse dice anche lì).
Come trovare una strategia di trading redditizia (' How to find a profitable trading strategy')
Negoziazione automatizzata insolita ("Negoziazione automatizzata insolita")
Ecco una citazione "Se dividiamo gli oggetti in due classi: lunghi e corti, e prendiamo i valori degli indicatori o oscillatori dell'analisi tecnica come segni, allora dobbiamo solo trovare l'equazione del piano e cercare di usarla per l'identificazione. La dichiarazione del problema è chiara.
Questa è la teoria del riconoscimento nella sua forma pura, e i militari la usano perfettamente e da molto tempo (esempi di classi ("amico - alieno", (caccia - vettore, ecc.). Ed ecco un compito più complicato di 4 classi (BMP - APC - modello BMP - modello APC), provate a fare con una linea retta qui :-), dividete tutto in 4 classi con essa.
Le reti neurali, le famigerate IA sono emerse proprio da questa teoria semplicemente le persone sono intrinsecamente pigre e vogliono creare un sistema di nuovo citazione"Quanto è realistico fare trading con successo e comodamente utilizzando la piattaforma di trading MT4, e non troppo gravando te stesso, nel farlo, con meticolose analisi di mercato?". Addestrare un computer a riconoscere un gran numero di classi e caratteristiche è molto difficile, ecco perché sono state create le Reti Neurali (NS). NS hanno avuto un certo successo ma questo non è una panacea, non c'è INTELLETTO lì. La cosa principale in questi compiti, e la più importante, è il partizionamento in classi e la selezione delle caratteristiche per riconoscere queste classi.
Dopo aver letto questo materiale, ho l'impressione che o gli autori non capiscono quello che stanno facendo o ci ingannano sapendolo molto bene. Ecco un frammento di esempio del codice principale.
Se ho creato un algoritmo di combattimento che determina l'"amico o nemico" usando come segno (un indicatore tecnico Accelerazione/Decelerazione (AC)), al muro sarà poco (anche se prendo in considerazione l'accelerazione dell'oggetto 7, 14 e 21 minuti fa). Non cambia l'essenza. E notate, sto parlando solo del compito di dividere in classi e non sto dicendo cosa fare con loro dopo che sono separati. Gli autori del materiale di cui sopra, mescolando tutto in un mazzo (immediatamente nella lotta per comprare o vendere).
Ora vorrei tornare al materiale che ho postato in questo thread e mostrare come dovrebbe essere il TC (naturalmente dal mio punto di vista).
1. Ecco un'immagine, pensateci, forse vi dirà come migliorare le "maglie" che create. Questo è un rivelatore Waldowsky in una foto (logica YES-NO, ne ho parlato qualche pagina fa).
2. Definire chiaramente i segni di riconoscimento (voglio usare come loro modelli di "comportamento" che ho stabilito nel filtro Kalman). Quello che si mette in non so, cercare di osservare almeno una condizione caratteristiche non devono essere correlati (fortemente correlati).
Determinate le classi in cui dividerete il flusso di quotazioni in ingresso (diciamo "tendenza piatta"). E solo dopo il riconoscimento del flusso buttarsi in battaglia, cioè scegliere un sistema di trading che funziona bene nel piatto, l'altro - nella tendenza.
P.S. Ho perso di nuovo mezza giornata, dicendo cose ovvie per me, ma il mio obiettivo non è stato raggiunto :-(. Non ho mai trovato nessuno che voglia davvero aiutarmi a creare il TS. Probabilmente cancellerò questo thread.
Credo che la critica costruttiva abbia lo stesso valore di un eventuale accordo tra le parti in fase di progettazione e di discussione di una possibile strategia. Questo può far risparmiare tempo e fatica. Pertanto, non vedo alcun motivo per essere infastidito - siamo nella stessa squadra e abbiamo un obiettivo comune.
Tu, Prival, hai già notato più volte che l'aereo ha una massa e, quindi, è sempre possibile scegliere una discretezza di divisione di una linea temporale tale che la curva che descrive il movimento dell'aereo nello spazio, tenendo conto di tutte le possibili capriole, sarà liscia. Sovrapporre un'interferenza casuale additiva a questa curva non cambia il quadro - possiamo ricostruire la traiettoria e siamo in grado di prevedere. Lo considero un punto fondamentale che distingue il comportamento del LA dal tipo di prezzo VR. Non c'è una curva liscia nella serie dei prezzi carica di interferenze - ci sono criteri di valutazione che lo dicono con una certa sicurezza.
Questa è una critica da parte mia e tu, finora, non hai risposto in modo costruttivo.