Discussione sull’articolo "Controllo dello Slope della Curva di Saldo Durante il Lavoro di un Expert Advisor" - pagina 4
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
solandr:
Ho condotto il seguente esperimento. Ho impostato il contatore per attivare un lotto ridotto per ogni coppia di valute. E ho testato tutte le combinazioni di test su M1 OHLC. Ecco il risultato.
35 0 0 - test solo sulla prima coppia
0 36 0 - test solo sulla seconda coppia
0 0 0 168 - test solo sulla terza coppia.
36 35 0 0 - test sulla prima e sulla seconda coppia
0 35 162 - test sulla seconda e terza coppia
35 35 166 - test su tutte e tre le coppie
Anche se dovrebbe essere 35 36 168 quando si esegue il test su tutte e tre le coppie.
Domani proverò ad eseguire l'EA su tutti i tick per un confronto.
Se ho capito bene, il numero di operazioni è diverso? Quindi come può influire la dimensione del lotto?
Se ho capito bene, il numero di transazioni è diverso? Quindi come può influire la dimensione del lotto?
No, il numero totale di operazioni su 3 coppie di valute nello stesso momento corrisponde alla somma delle operazioni in corse separate.
I risultati mostrano il numero di ordini aperti con un lotto ridotto.
Sto ancora utilizzando l'Expert Advisor. Sto cercando di capire cosa modifica i risultati della corsa totale. Scriverò un messaggio più tardi.
No, il numero totale di operazioni su 3 coppie di valute allo stesso tempo corrisponde alla somma delle operazioni in corse separate.
I risultati mostrano il numero di ordini aperti con un lotto ridotto.
Sto ancora utilizzando l'Expert Advisor. Sto cercando di capire che cosa cambia i risultati nel corso dell'esecuzione totale. Scriverò un messaggio più tardi.
Probabilmente, a causa di alcune condizioni mutevoli, il profitto/perdita per le operazioni cambia leggermente da una corsa all'altra - di conseguenza, in alcuni punti della curva di equilibrio può verificarsi (o meno) il cambio di lotto.
La situazione è la seguente.
Forse a causa di alcune condizioni mutevoli, il profitto/perdita per le operazioni cambia leggermente da un'esecuzione all'altra; di conseguenza, la commutazione dei lotti può verificarsi (o meno) in alcuni punti della curva di equilibrio.
Qualcosa del genere.
In linea di principio, l'idea è buona. Con MT4 utilizzo addirittura un programma speciale, Spread Changer, che consente di impostare arbitrariamente lo spread per i test e i risultati non fluttuano.
Non ho ancora trovato un programma simile per la MT5 (forse non l'ho cercato bene). Sarebbe bello se nelle future versioni del terminale gli sviluppatori inserissero tale funzione nel tester per coloro che la desiderano.
In linea di principio, l'idea è buona. Con MT4 utilizzo addirittura un programma speciale, Spread Changer, che consente di impostare arbitrariamente lo spread per i test. e i risultati non fluttuano.
Non ho ancora trovato un programma simile per la MT5 (forse non l'ho cercato bene). Sarebbe bello se nelle prossime versioni del terminale gli sviluppatori inserissero una funzione del genere nel tester per coloro che lo desiderano.
Ho eseguito l'EA su tutti i tick. Ho ottenuto i seguenti risultati:
Con la gestione dell'equilibrio disabilitata profitto sulle corse:
0 0 0 0 0 6702,44 prima coppia
0 0 0 0 0 5735,78 seconda coppia
0 0 0 0 0 3461,48 terza coppia
0 0 0 0 15901,66 tutte e tre le coppie - Avrebbe dovuto essere 15899,7. La differenza è di 1,96.
Con la gestione dei lotti attivata, il profitto è stato ottenuto in base alle corse:
35 0 0 = 6550,94
0 36 0 = 6956,95
0 0 184 = 3386.44
35 36 179 = 15991,56 - Avrebbe dovuto essere 16894,33. La differenza è di 902,77
Come si può vedere, anche con l'autobilanciamento disabilitato c'è una differenza, ma di solito è microscopica. Quando il controllo dei lotti è abilitato, la differenza è piuttosto evidente, pari al 5,3% (a causa del diverso numero di inneschi del lotto ridotto). Come ottimizzare i parametri in questo caso? Quale via d'uscita si può inventare?
Ogni esecuzione su tutti i tick richiede circa 20-30 minuti.
Ho intenzione di organizzare un esperimento di questo tipo. Prendere un semplice Expert Advisor, aggiungervi un sistema di controllo del lotto e vedere la differenza di esecuzione.
A proposito, quando compilo il file mqh dall'articolo, ottengo questi messaggi:
possibile perdita di dati dovuta alla conversione di tipo BalanceSlopeControl.mqh 117 25
possibile perdita di dati dovuta alla conversione di tipo BalanceSlopeControl.mqh 118 21
dichiarazione di 'current_slope' nasconde la dichiarazione del membro alla riga 682 BalanceSlopeControl.mqh 909 9
0 errori, 3 avvisi 1 4
Li ho corretti all'inizio. I primi due - ho specificato il tipo di conversione. E ho corretto il terzo messaggio correggendo il nome di ccurrent_slope nella riga 909 e la corrispondente correzione in double TBalanceSlopeControl::CalcTradeLots( double _min_lots, double _max_lots ).
Forse è qui che è sepolto il cane? In ogni caso, sarebbe possibile pubblicare il file corretto dall'autore stesso, poiché le mie modifiche potrebbero essere ideologicamente sbagliate.
Ho eseguito l'EA su tutti i tick. Ho ottenuto i seguenti risultati:
...
Come potete vedere, quando l'autobilanciamento è disabilitato, c'è anche una differenza, ma di solito è microscopica.
Ottenere risultati identici in tutte le modalità quando si esegue il test su qualsiasi simbolo.
A tale scopo, lavorare per tick di tutti i simboli o per timer e controllare la comparsa di una nuova barra su tutti gli strumenti.
L'equilibrio non deve divergere di un centesimo.
A proposito, quando compilo il file mqh dall'articolo, ottengo questi messaggi:
possibile perdita di dati dovuta alla conversione di tipo BalanceSlopeControl.mqh 117 25
possibile perdita di dati dovuta alla conversione di tipo BalanceSlopeControl.mqh 118 21
dichiarazione di 'current_slope' nasconde la dichiarazione del membro alla riga 682 BalanceSlopeControl.mqh 909 9
0 errori, 3 avvisi 1 4
Li ho corretti all'inizio. I primi due - ho specificato il tipo di conversione. Ho corretto il terzo messaggio correggendo il nome di ccurrent_slope alla riga 909 e correggendolo ulteriormente in double TBalanceSlopeControl::CalcTradeLots( double _min_lots, double _max_lots ).
Forse è qui che è sepolto il cane? In ogni caso, sarebbe possibile pubblicare il file corretto dall'autore stesso, poiché le mie modifiche potrebbero essere ideologicamente sbagliate.
Non è probabile. Ricordo che c'è qualcosa che regola, ma cosa - non lo ricordo))) Ecco il mio file attuale.
Non credo che sia così. Ricordo che c'è qualcosa che regola, ma cosa - non lo ricordo))) Ecco il mio file attuale.
Grazie per la nuova versione del file!
Confrontando il contenuto del file con quello dell'articolo si notano alcune differenze nel nuovo file alle righe 37, 115, 116, 907, 966.
Vediamo quanto queste modifiche possono influire sull'Expert Advisor.