Piani di sviluppo per il MetaTrader 5 Strategy Tester - pagina 19

 

Salve.

Suggerisco di aggiungere un'ulteriore modalità di test allo Strategy Tester.

1. Nome: "Con ritiro periodico dei profitti".

2. Attuazione:

2.1 Scegliere un periodo, dopo il quale il profitto sarà ritirato

2.1.1. Settimana, mese, trimestre, opzionale

2.2 Seleziona la percentuale di profitto realizzata durante il periodo da mostrare sul grafico.

2.3 Per distinguere un profitto un colore diverso su un grafico, rispetto alla curva delle perdite.

2.4 Nel report del Backtest aggiungi la colonna che mostra il profitto nella valuta del conto;

3. riassunto

Penso che questa modalità darà una stima applicata della strategia, mostrando non solo che l'EA è redditizio (matematicamente), ma anche se l'EA è in grado diritirare il profitto e qual è la dimensione di questo profitto e come questo volume di ritiro influenzerà la stabilità dell'EA. In realtà, questo è il motivo per cui vengono creati i consulenti, per capire quanto si può guadagnare, non quale curva di profitto verrà mostrata in un certo intervallo di tempo.
 
KoDim:

Salve.

Suggerisco di aggiungere un'ulteriore modalità di test allo Strategy Tester.

1. Nome "Con ritiro periodico dei profitti".

TesterWithdrawal

 
KoDim:

Salve.

Suggerisco di aggiungere un'ulteriore modalità di test allo Strategy Tester.

1. Nome: "Con ritiro periodico dei profitti".

2. Attuazione:

2.1 Scegliere un periodo, dopo il quale il profitto sarà ritirato

2.1.1. Settimana, mese, trimestre, opzionale

2.2 Seleziona la percentuale di profitto realizzata durante il periodo da mostrare sul grafico.

2.3 Per distinguere un profitto un colore diverso su un grafico, rispetto alla curva delle perdite.

2.4 Nel report del Backtest aggiungete la colonna per il profitto nella valuta del conto;

3. riassunto

Penso che questa modalità darà una stima applicata della strategia, mostrando non solo che l'EA è redditizio (matematicamente), ma anche se l'EA è in grado di ritirare il profitto e qual è la dimensione di questo profitto e come questo volume di ritiro influenzerà la stabilità dell'EA. In realtà, questo è il motivo per cui vengono creati i consulenti, per capire quanto si può guadagnare, non quale curva di profitto verrà mostrata in un certo intervallo di tempo.
TesterWithdrawal(), TesterDeposit()
Документация по MQL5: Общие функции / TesterWithdrawal
Документация по MQL5: Общие функции / TesterWithdrawal
  • www.mql5.com
Общие функции / TesterWithdrawal - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Artyom Trishkin:
TesterWithdrawal(), TesterDeposit( )

Artem, grazie per la tua risposta. Non ero a conoscenza di una tale funzione.

Ma sono lontano dall'essere un programmatore, anche se modifico costantemente il mio EA.

Ho fatto questo suggerimento dal punto di vista di un utente MT5 che compra Expert Advisors e determina l'efficienza di un potenziale acquisto.

E dal punto di vista degli sviluppatori di terminali e mercati, ho suggerito che la visualizzazione dell'efficacia pratica dell'EA per i potenziali clienti (non programmatori) migliorerà la valutazione del progetto...

 

Ciao a tutti!

Ci sono piani per aggiungere funzioni come TesterGet...?

Per esempio, TesterGetDouble(TESTER_MAX_DRAWDOWN) sarebbe utile

Si può ottenere tutto senza queste query, ma sarebbe conveniente ottenere questi valori direttamente.

 
https://www.mql5.com/ru/docs/constants/environment_state/statistics
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Статистика тестирования
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Статистика тестирования
  • www.mql5.com
Максимальная просадка баланса в процентах. В процессе торговли баланс может испытать множество просадок, для каждой фиксируется относительное значение просадки в процентах. Возвращается наибольшее значение Максимальная...
 
Rashid Umarov:
https://www.mql5.com/ru/docs/constants/environment_state/statistics


GRAZIE!

 

Signori sviluppatori! Affrontato un problema nel tester, aiutatemi a trovare una soluzione!

Ho un processore a 16 core (32 thread), 64GB di memoria finora. Avevo intenzione di usarlo per l'ottimizzazione su zecche vere. Ma ecco cosa ho scoperto:

1. Ogni agente MT5 alloca un pezzo di memoria separato per se stesso, anche se il test viene eseguito su una coppia e non su diverse. E per esempio, se testiamo sulle croci, carica più major. Di conseguenza, quando si effettua il test su zecche reali per il periodo di 2 anni, ogni agente richiede 7GB di memoria. Sì, vale la pena dire che l'ho provato su un broker popolare, che ha il 70% dei tick che si ripetono (con lo stesso Ask e Bid), poi userò la storia filtrata personalizzata. Quindi, per caricare 64GB di memoria, si può testare solo su 8 agenti. Exit - storia personalizzata con tick ripetuti filtrati, controllo costante della dimensione della memoria e quindi del periodo di test, più 64GB di memoria e test su 16 agenti. È così che funziona? Quindi questo è il mio test per due anni.... cosa succede se prendiamo un periodo più lungo...?!


2. Ho messo un SSD temporaneo da un altro computer EVO 860. Quando si esegue l'ottimizzazione anche di 8 passaggi, gli agenti cercano di accedere all'SSD allo stesso tempo per pomparsi nella cronologia dei tick della RAM. Non viene fornito alcun accodamento, il che causa il "rosso" dell'SSD e i log di MT5 sono pieni di errori:

Ho usato 16GB di memoria con 8 threads e l'unità ha scambiato istantaneamente, non si sono verificati errori del genere, ma è stato impossibile testare in questo modo per molto tempo. Ora il tester non può eseguire i suoi passaggi perché non può scaricare i tick, anche se scrive che non ha abbastanza memoria! Davvero, se stimo che il mio SSD stava spingendo in quel momento fino a 600MB/s, anche 64GB di RAM impiegherebbero più di 100 secondi per riempirsi. Di conseguenza, il vecchio SSD non è affatto adatto, sto aspettando uno più veloce (fino a 3500MB/s), ma anche con esso, se aggiungo altri 64GB, tutta la memoria si riempirà in più di 30 secondi. Cioè gli errori rimarranno.


Quindi, signori sviluppatori. Abbiamo bisogno della vostra attenzione a questo problema, altrimenti l'uso di processori multi-core è estremamente scomodo, e persino inutile! Forse sto facendo qualcosa di sbagliato o ci sono delle opzioni che non conosco? Lo apprezzerei molto!

Se possibile, sarebbe meraviglioso usare la memoria RAM in modo più economico. Anche se solo quando si ottimizza su una coppia di valute! Dopo tutto, se il test viene eseguito su una coppia, sicuramente tutti gli agenti possono accedere a uno stesso spazio di memoria. Perché ognuno di loro dovrebbe produrre delle copie? Allora non ci saranno problemi di carenza di memoria, di velocità di lettura dal disco rigido e il design sarà più economico!

Se non è possibile, è possibile organizzare una sorta di coda per l'accesso degli agenti al disco rigido e (o) aumentare il tempo di attesa della copia, o, se una coppia è testata, fare una copia di blocchi identici da RAM a RAM. Ma ottimizzare l'uso della memoria sarebbe ovviamente molto più efficiente! Ditemi, ci sono miglioramenti simili previsti per la RAM? O non può essere e bisogna aumentare il suo volume?

Grazie!

 
dsfx:

Gli sviluppatori hanno promesso di pensarci dopo il nuovo anno.

 
C'è un modo per assegnare una commissione ai personaggi personalizzati, qualcosa che non riesco a trovare? Il markup non sarà esattamente quello di cui ho bisogno
Motivazione: