Il perfetto sistema di trading meccanico. - pagina 4

 
sashken писал (а):
eugenk1 ha scritto:
Finora mi sembra tutto molto più semplice. Dovresti iniziare con un sistema semplice, ingenuo, con un minimo di parametri di tuning, e aggiungervi un blocco di cambiamenti di parametri adattivi in tempo reale...

Ecco, è rimasto ben poco :) Dobbiamo decidere quali dati usare per calcolare i parametri adattivi. Non so nemmeno cosa suggerire :(
Qualcuno ha qualche idea in proposito?

Posso iniziare proponendo il seguente modello di TC:
Prendiamo un semplice Expert Advisor e gli scriviamo un blocco "tester" (il cui compito sarà - una volta al giorno per esempio alle 01:00 GMT di regolare il TS sotto la storia mensile).
 
xeon, il tester può essere fatto funzionare sempre. Naturalmente, dovrebbe essere scritto in C altamente ottimizzato, non in mql4. Ahimè, c'è un'insidia molto seria in tutto questo. Vale a dire, è il periodo di stima e ottimizzazione del sistema. Cioè per quanto tempo per valutare le sue prestazioni? Supponiamo di avere due strategie che competono per il diritto di trading reale. La corrente di successo e la peggiore. Entro un'ora, per esempio, la strategia corrente ha perso soldi, mentre quella di riserva, al contrario, ha avuto successo. La questione è cambiare strategie o non cambiare? Dopo tutto, questo può essere l'inizio di un nuovo trend (da non confondere con il trend/flotation!), o può essere accidentale. Cioè si scopre che un tale tester avrebbe almeno un parametro configurabile (e importante!!!) - il periodo di valutazione e ottimizzazione. Non pensate che io stia dicendo che un tale approccio sia impossibile. Sto solo dicendo che ci sono difficoltà e luoghi oscuri in tutto questo.
 
eugenk1 писал (а):
xeon, il tester può essere fatto funzionare sempre. Naturalmente, dovrebbe essere scritto in C altamente ottimizzato, non in mql4. Ahimè, c'è un'insidia molto seria in tutto questo. Vale a dire, è il periodo di stima e ottimizzazione del sistema. Cioè per quanto tempo per valutare le sue prestazioni? Supponiamo di avere due strategie che competono per il diritto di trading reale. Quello attuale di successo e quello peggiore. Entro un'ora, per esempio, la strategia corrente ha perso soldi, mentre la strategia di riserva al contrario ha avuto successo. La questione è cambiare strategie o non cambiare? Dopo tutto, questo può essere l'inizio di una nuova tendenza (da non confondere con trend/flit !), o accidentale. Cioè si scopre che un tale tester avrebbe almeno un parametro configurabile (e importante!!!) - il periodo di valutazione e ottimizzazione. Non pensate che io stia dicendo che un tale approccio sia impossibile. Sto solo dicendo che ci sono difficoltà e luoghi oscuri in tutto questo.

Dopotutto, proviamo un approccio semplice.
Il compito: è possibile scrivere una funzione che esegue la storia mensile una volta al giorno e imposta il numero ottimale per il parametro stop loss?
E LA COSA PIÙ GRANDE: posso usare questa funzione per controllare il tester? Il tester funzionerà? Risulta che ogni giorno nella modalità test dovrebbe cambiare il parametro di stop per un nuovo giorno? È possibile? Se questo compito è risolto, il resto è una ciliegina come già detto.
 
e se il trailing stop dipende dal matzod, può essere chiamato una sma adattiva?
 
quality писал (а):
eugenk1 ha scritto (a):
xeon, il tester può essere fatto funzionare sempre. Naturalmente dovrebbe essere scritto in C altamente ottimizzato, non in mql4. Ahimè, c'è un'insidia molto seria in tutto questo. Vale a dire, è il periodo di stima e ottimizzazione del sistema. Cioè per quanto tempo per valutare le sue prestazioni? Supponiamo di avere due strategie che competono per il diritto di trading reale. La corrente di successo e la peggiore. Entro un'ora, per esempio, la strategia corrente ha perso soldi, mentre la strategia di riserva al contrario ha avuto successo. La questione è cambiare strategie o non cambiare? Dopo tutto, questo può essere l'inizio di un nuovo trend (da non confondere con il trend/flotation!), o può essere accidentale. Cioè si scopre che un tale tester avrebbe almeno un parametro configurabile (e importante!!!) - il periodo di valutazione e ottimizzazione. Non pensate che io stia dicendo che un tale approccio sia impossibile. Sto solo dicendo che ci sono difficoltà e luoghi oscuri in tutto questo.

Dopotutto, proviamo un approccio semplice.
Il problema: è possibile scrivere una funzione che esegue la storia mensile una volta al giorno e imposta il numero ottimale per il parametro stop loss?
E LA COSA PIU' GRANDE: posso usare questa funzione per controllare il tester? Il tester funzionerà? Risulta che ogni giorno nella modalità test dovrebbe cambiare il parametro di stop per un nuovo giorno? È possibile? Se questo compito è risolto, il resto è una ciliegina come già detto.

Per quanto ne so, è possibile scrivere una tale funzione in mql, ma questo compito non è facile per me, perché sono un "programmatore dilettante" e ho bisogno di tempo per farlo.
 

Gli indicatori autoregolanti sono un vicolo cieco. Cercherò di giustificare la mia opinione.
Ho sviluppato diversi indicatori di questo tipo, ma sembravano essere sensibili alla volatilità delle quotazioni provenienti da diverse società di intermediazione. Cioè, questi indicatori funzionano bene sui dati di una società di brokeraggio e non funzionano affatto sui dati di un'altra. La cosa peggiore è che lavorano con i dati di TC. Per esempio sugli indicatori standard sullo stesso intervallo di quotazioni c'è divergenza in una società di intermediazione e non in un'altra.
La mia ricerca ha mostrato che la volatilità è il fattore principale da considerare in un indicatore di autotuning. Tuttavia, alla fine l'indicatore diventa dipendente dal metodo di filtraggio delle quotazioni in diverse società di brokeraggio e dai cambiamenti di questo metodo (che non è notificato dalle società di brokeraggio).
Qui mi trovo anche di fronte al fatto che non posso "indurire" (come dice sempre Renat) l'autotuning, perché è costante (lineare), e non discreto.

Credo che l'unico modo per evitare il problema della volatilità sia ignorare i valori assoluti degli indicatori e delle quotazioni. Cioè, per prendere una decisione in MTS dovremmo usare la correlazione dei valori in una forma o nell'altra, e questo è di fatto il riconoscimento dei modelli.



 
ArtemRG
esso!
 
ArtemRG:

Gli indicatori autoregolanti sono un vicolo cieco. Cercherò di giustificare la mia opinione.
Ho sviluppato diversi indicatori di questo tipo, ma sembravano essere sensibili alla volatilità delle quotazioni provenienti da diverse società di intermediazione. Cioè, questi indicatori funzionano bene sui dati di una società di brokeraggio e non funzionano affatto sui dati di un'altra. La cosa peggiore è che lavorano con i dati di TC. Per esempio sugli indicatori standard sullo stesso intervallo di quotazioni c'è divergenza in una società di intermediazione e non in un'altra.
La mia ricerca ha mostrato che la volatilità è il fattore principale da considerare in un indicatore di autotuning. Tuttavia, alla fine l'indicatore diventa dipendente dal modo di filtrare le quotazioni in diverse società di intermediazione e dai cambiamenti di questo metodo (che non è notificato dalle società di intermediazione).
Qui mi trovo anche di fronte al fatto che non posso "indurire" (come dice sempre Renat) l'autotuning, perché è costante (lineare), e non discreto.

Credo che l'unico modo per evitare il problema della volatilità sia ignorare i valori assoluti degli indicatori e delle quotazioni. Cioè, per prendere una decisione in MTS dovremmo usare la correlazione dei valori in una forma o nell'altra, e questo è essenzialmente il riconoscimento dei modelli.



Non sono d'accordo con l'affermazione "Gli indicatori di autoregolazione sono un vicolo cieco". Anche se sono d'accordo su altri aspetti. Penso solo che ci possono essere molte soluzioni per gli stessi compiti. Per esempio su una domanda: - "caricare" (ciò di cui parla sempre Renat) l'autotuning. - Ho trovato una soluzione un po' diversa, cioè non caricare i valori dell'indicatore, ma usare dei filtri che riducono il livello di "rumore".
 
Posso darti un piccolo suggerimento? :)

Per qualsiasi sistema, non è il valore del prezzo che conta, ma la velocità di cambiamento del prezzo (a volte solo il segno).
A volte si usa l'accelerazione del prezzo (stimando la forza che agisce sul prezzo, come indicatore principale).
Tutti gli indicatori utilizzati con MTS sono infatti progettati per stimare la velocità.
Diversi indicatori sono semplicemente diverse OPZIONI per stimare la velocità.

1. TUTTI gli oscillatori stimano la velocità, a volte l'accelerazione (come il MACD).

2. TUTTE le medie mobili non sono MAI usate da sole,
solo in confronto ad altre medie mobili (il prezzo è un muving con lunghezza = 1).
Questo confronto delle medie mobili (in realtà confrontando la loro differenza con lo zero) è un oscillatore.

3. Non è il prezzo che deve essere considerato, ma il logaritmo del prezzo.
Nei logaritmi tutto diventa più semplice e corretto.
Per piccoli cambiamenti di prezzo, non ci sarà alcuna differenza tra lavorare con il prezzo e il logaritmo,
Con grandi cambiamenti di prezzo, la differenza sarà significativa.
 
Mak писал (а):
Posso darti un piccolo suggerimento? :)

Per qualsiasi sistema, non sono importanti i valori dei prezzi, ma la velocità di cambiamento dei prezzi (a volte solo il segno).
A volte si usa l'accelerazione del prezzo (stimando la forza che agisce sul prezzo, come indicatore principale).
Tutti gli indicatori utilizzati con MTS sono infatti destinati a stimare la velocità.
Diversi indicatori sono semplicemente diverse OPZIONI per stimare la velocità.

1. TUTTI gli oscillatori stimano la velocità, a volte l'accelerazione (come il MACD).

2. TUTTE le medie mobili non sono MAI usate da sole,
solo in confronto ad altre medie mobili (il prezzo è un muving con lunghezza = 1).
Questo confronto delle medie mobili (in realtà confrontando la loro differenza con lo zero) è un oscillatore.

3. Non è il prezzo che deve essere considerato, ma il logaritmo del prezzo.
Nei logaritmi tutto diventa più semplice e corretto.
Per piccoli cambiamenti di prezzo, non ci sarà alcuna differenza tra lavorare con il prezzo e il logaritmo,
a grandi cambiamenti di prezzo la differenza sarà significativa.

O forse parteciperai anche alla scrittura del codice? :-), con la tua esperienza di programmazione sarebbe molto più veloce!

Motivazione: