1 minuto OHLC vs ogni tick - risultati opposti - pagina 2

 
laplacianlab:

Sono assolutamente d'accordo con ugo58. Le barre grandi possono attivare l'evento OnTick molte volte, mentre le barre piccole lo attivano molto meno.

Questo può avere un impatto sulla vostra strategia di trading automatico, quindi noi sviluppatori dobbiamo cercare soluzioni che mitigano il fatto che il vostro evento OnTick può essere eseguito molte molte volte per barra.

Penso che quello che ho inviato prima sia solo una soluzione. ugo50 ha proposto un'altra soluzione: eseguire la tua logica OnTick nella barra passata più recente. Comunque, se vuoi eseguire la tua logica OnTick sulla barra corrente forse puoi usare qualcosa di simile a quello che ho inviato prima.

Stiamo cercando di implementare qualcosa come un evento OnBar.

Cosa ne pensate di questo?

laplacianlab:
Forse anche questo link è utile,https://www.mql5.com/en/articles/159

Il codice che hai postato è fondamentalmente lo stesso dell'articolo. Questo non è qualcosa di nuovo ed è l'approccio migliore per un EA che fa trading su barre chiuse.

Anche se non direttamente collegato a questo argomento, questo articolo sarebbe probabilmente interessante per te.

 
michelino:

Sto ottenendo un risultato completamente opposto quando provo su ogni tick o 1min OHLC. l'EA e i parametri di input sono esattamente gli stessi ma nel caso di 1min ohlc ottengo 50000 profitti mentre in ogni tick ottengo -7000 perdite.

questo accade su molte coppie di test su un periodo di 2 anni 0811-0813

qualcuno ha avuto lo stesso problema? Non capisco quale sia il problema e cosa devo fare quando faccio trading con soldi veri.

entrambi i grafici qui sotto

1minuto OHLC

ogni tick

Ciao, anche il numero di trade deve essere molto diverso, vero? Se selezioni ogni tick significa che la tua funzione onTick viene eseguita qualcosa come ogni x secondi. Stessa cosa per me, cattivi risultati.

2013.08.21 08:54:04    Core 1    EURUSD.e,M3: 72488 ticks (6230 bars) 



 
Florew:

Ciao, anche il numero di trade deve essere molto diverso, vero? Se selezioni ogni tick significa che la tua funzione onTick viene eseguita qualcosa come ogni x secondi. Stessa cosa per me, cattivi risultati.



Cerco di spiegare il mio modo.

Il movimento dei prezzi è come un sismografo. Osservato alla sua scala più piccola, è a metà strada tra il caos e l'imprevedibilità, ma man mano che aumentiamo la scala delle nostre osservazioni il prezzo diventa sempre più deterministico. In ogni caso, dobbiamo sempre tenere a mente che le barre dei prezzi sono solo discretizzazioni arbitrarie del movimento dei prezzi.

Questa sarebbe la spiegazione teorica. Cosa ne pensate di questo? Potete confutare se volete.

 
michelino:

qualcuno ha avuto lo stesso problema? Non capisco qual è il problema qui e cosa devo fare quando faccio trading con soldi veri.


Scusate la mia insistenza sulla partecipazione a questo thread, sto solo cercando di aiutare. Si scopre che ora sono coinvolto in una strategia in cui questo problema è molto importante.

In breve, se il percorso che il movimento del prezzo definisce attraverso le barre è molto importante per la vostra strategia, allora la modalità OnTick di MQL5 è essenziale. D'altra parte, se la vostra strategia di trading si muove su una scala più ampia, per così dire, la modalità OnTick potrebbe non essere necessaria. In questo caso non hai bisogno di sprecare le risorse del tuo computer per testare la tua strategia. Dovresti leggere questohttps://www.mql5.com/en/docs/runtime/testing

Detto questo, sarebbe interessante analizzare la tua strategia di trading per scoprire cosa sta succedendo. Cosa costruisce il tuo sistema? Su quale idea si basa? Come l'hai costruito?

Sembra che le parti fondamentali del tuo sistema siano fortemente basate sul breve termine (time frame molto brevi, barre di minuti), in una scala in cui un minuto fa una grande differenza. Dovresti analizzare queste parti.

Saluti!

Documentation on MQL5: MQL5 programs / Testing Trading Strategies
Documentation on MQL5: MQL5 programs / Testing Trading Strategies
  • www.mql5.com
MQL5 programs / Testing Trading Strategies - Documentation on MQL5
 
laplacianlab:

Cerco di spiegare a modo mio.

Il movimento dei prezzi è come un sismografo. Osservato alla sua scala più piccola, è a metà strada tra il caos e l'imprevedibilità, ma man mano che aumentiamo la scala delle nostre osservazioni il prezzo diventa sempre più deterministico. In ogni caso, dobbiamo sempre tenere a mente che le barre dei prezzi sono solo discretizzazioni arbitrarie del movimento dei prezzi.

Questa sarebbe la spiegazione teorica. Cosa ne pensate di questo? Puoi confutare se vuoi.


Non sono esperto del processo di formazione delle candele ma la tua spiegazione sembra corretta dal mio punto di vista.

La mia comprensione è che la simulazione di EA impostata con ogni opzione tick (non 1min OHLC) si comporta più o meno come in condizioni di mercato reale. Beh, tranne se l'EA ha del codice che dice di aspettare la formazione completa della candela 1 min. OHLC, come ho capito che hai menzionato qui. Non sono sicuro che sia il significato del codice, m'I corretto? )


*** EDIT ***


Per voi ragazzi quale precauzione deve essere presa per un EA in condizioni di mercato reale (demo o vero) si comporta come con il 1min. OLHC opzione di simulazione (il più redditizio)?

 
Florew:


Per voi ragazzi quale precauzione deve essere presa per un EA in condizioni di mercato reale (demo o vero) si comporta come il 1min. OLHC (l'opzione di simulazione più redditizia)?

Forse dovreste chiedervi quale simulazione è quella corretta e perché, e poi potete riprodurre i dati simulati nel live trading?
 
RaptorUK:
Forse dovreste chiedervi quale simulazione è quella corretta e perché, e poi potete riprodurre i dati simulati nel live trading?


Sono d'accordo con te. Ho risposto alla prima e alla seconda domanda ma non all'ultima.

In questo articolo non c'è un errore sul numero di punti di supporto per questo primo esempio? Vedo solo un punto di supporto sia per l'ombra di apertura che per quella di chiusura. Si dice tre :/


Se l'ombra viene generata utilizzando tre punti di supporto e i valori interi 3 / 4 la dimensione dell'ombra e 1 / 2 la dimensione dell'ombra sono uguali (questo accade quando la differenza tra Open e Low o Open e High non è maggiore di 2 punti), allora la generazione dell'ombra cambia nel modo seguente:


Se l'ombra viene generata da due punti di supporto, allora i punti di controllo sono disposti nel modo seguente:

 
Florew:

Ciao, anche il numero di trade deve essere molto diverso, vero? Se selezioni ogni tick significa che la tua funzione onTick viene eseguita qualcosa come ogni x secondi. Lo stesso per me, risultati negativi.



non proprio il numero di trade differisce leggermente del 5-10%. ma ho capito perché questo accade dato che l'EA entra a mercato long quando il prezzo è sotto la media mobile di un certo numero di punti (l'opposto per la posizione short) quando fa trading ohlc compra esattamente sul low mentre su ogni tick compra tra low e close quindi prende un sacco di profitto che normalmente non avrebbe.

quindi non c'è modo di riprodurre questa performance purtroppo

 
Florew:


In questo articolo non c'è un errore sul numero di punti di supporto per questo primo esempio? Vedo solo un punto di supporto sia per l'ombra di apertura che per quella di chiusura. Si dice tre :/


Penso che ci sia un disallineamento tra i concetti e la terminologia. Dove vedi l'unico punto di appoggio nelle figure che mandi?

Comunque, penso anche che i dettagli di quell'algoritmo siano troppo per noi, nel senso che non importa come viene costruita la sequenza storica dei tick. È molto buono e interessante accedere a quelle informazioni ma voglio dire che non ci facciamo niente con quello! Possiamo solo essere consapevoli delle insidie dei computer quando si maneggiano cose discrete. C'è sempre un punto in cui si perde un po' di precisione, è la stessa cosa per i valori in virgola mobile. La differenza qui è che abbiamo anche a che fare con il comportamento umano su una scala molto piccola.

A proposito, abbiamo anche discusso il fatto che i dati storici dei broker non sono gli stessi, e che questa differenza diventa più grande nel breve tempo.

Cosa ne pensi di tutto questo? È corretto? Pensi che valga la pena concentrarsi su strategie che dovrebbero funzionare bene nel piccolo periodo?

 

michelino:

quindi non c'è modo di riprodurre questa performance purtroppo


Non sono sicuro di capire il tuo punto. Secondo me deve essere possibile riprodurre una simulazione in modalità OHLC di 1 minuto.

La documentazione dice:

Nella modalità "1 minuto OHLC", la sequenza di tick è costruita solo dai prezzi OHLC delle barre dei minuti, il numero di punti di controllo generati è significativamente ridotto - quindi, anche il tempo di test. Il lancio della funzione OnTick () viene eseguito su tutti i punti di controllo, che sono costruiti dai prezzi delle barre minute OHLC.

Quindi:

Per testare la strategia di trading, abbiamo bisogno di una sequenza di tick, sui quali verrà simulato il lavoro dell'Expert Advisor. Inquesto modo, per ogni barra di minuti, conosciamo i 4 punti di controllo, dove il prezzo è stato sicuramente. Se una barra ha solo 4 tick, allora questa informazione è sufficiente per eseguire un test, ma di solito il volume dei tick è maggiore di 4.

La domanda è: quanti punti di controllo in barre minime OHLC e come modificare la funzione onTick() per lavorare su ognuno di essi?

Secondo il testo in entrambe le citazioni mi sembra di capire che la risposta alla prima domanda è sempre 4, perché se una barra ha più di 4 tick si riduce "significativamente" per accelerare il tempo di test. Per la prossima domanda, la cosa è identificare i 4 punti di controllo delle barre OHLC a 1 minuto in condizioni reali di mercato, poi chiedere a onTick() di lavorare su di essi.