MetaTrader 5 Strategy Tester: bug, errori, suggerimenti per il miglioramento - pagina 13

 

Confronto delle prestazioni. Preso il TC di combattimento, che consiste in diversi TC indipendenti (diversi per magia).

Misuriamo la velocità di Tester e Virtual a seconda del numero di TC e dell'implementazione sul mercato o dei limiti (ticks) sulle impostazioni di Hedge.


TS si corre su simbolo personalizzato su zecche reali in modalità punti con uno abilitato Agente pieno forza bruta di quattro passaggi, RAM-Drive. Il tempo è preso il più breve dei passaggi.

Numero di zecche MT5-Tester
ordini di mercato
MT5-Tester
limit-orders
MT5-Tester+Virtual
mercato-ordini
MT5-Tester+Virtual
limit-orders
Virtual-Script
ordini di mercato
Virtual-Script
ordini limite
0 00:00.857 00:00.857 00:00.931 00:00.931 00:00.147 00:00.147
1 00:02.689 00:14.677 00:02.728 00:12.053 00:01.886 00:18.826
2 00:06.876 00:42.588 00:06.250 00:38.657 00:06.362 00:55.624
3 00:11.977 01:24.982 00:12.151 01:17.236 00:12.813 01:49.181
4 00:18.925 02:19.222 00:19.649 02:13.381 00:21.891 02:59.191

Virtual-Script sta eseguendo lo script del tester su un grafico. Cioè viene eseguito fuori dall'MT5-Tester come un normale script.


Conclusioni:

  1. Il codice nel terminale è quasi sempre eseguito più lentamente che nell'agente (fino al 50%).
  2. Sui mercati, MT5-Tester non è ora un po' più lento del Virtual add-in.
  3. Sui limiti, MT5-Tester è fino al 15% più lento di Virtual. È comprensibile, quindi va bene.
Il primo punto deve essere affrontato.
 
fxsaber:
4 00:18.925 02:19.222 00:19.649 02:13.381 00:21.891 02:59.191

Perché c'è questa differenza tra marche e limitatori?

 
Andrey Khatimlianskii:

Perché c'è questa differenza tra un mercato e un limite?

L'EA non è mio, quindi non è corretto fare un confronto diretto. Penso che la logica sia significativamente diversa.

E i Limitatori sono un carico maggiore sui controlli di Tester (è ovvio che anche Virtual è sceso). Quindi cedere alla logica del mercato è un obbligo.


Un'altra cosa mi ha lasciato perplesso. Perché Virtual-Script è apparso significativamente più lento di MT5-Tester+Virtual. Nel primo caso si tratta di uno stupido ciclo for-cycle per tick e nient'altro. Si scopre che Terminal è più lento di Agents nell'eseguire il codice.

Profiler mostra delle sciocchezze, purtroppo. Non si può dire da esso perché il risultato è un degrado delle prestazioni.


Lavoro con una serie di strutture in Virtual. Forse sarebbe più veloce se lavorassimo con puntatori a oggetti di classe. Devo provarlo, ma la lista dei compiti importanti continua a crescere.

 

Sui simboli personalizzati in borsa, il take è accettato al last-price ed eseguito al bid/ask.

Per esempio, il take per la posizione BUY è a 1,09801. Un bid/ask/last = 1,09799/1,09802/1,09801. Si innesca, come il prezzo viene toccato, ma si innesca anche al prezzo di offerta, che è peggio dell'ultimo.

Si scopre che la presa si attiva sempre con uno slippage negativo.

 
fxsaber:

Sui simboli personalizzati in borsa, il take è accettato al last-price ed eseguito al bid/ask.

Per esempio, il take per la posizione BUY è a 1,09801. Un bid/ask/last = 1,09799/1,09802/1,09801. Si innesca, come il prezzo viene toccato, ma si innesca anche al prezzo di offerta, che è peggio dell'ultimo.

Si scopre che le prese sono innescate tutto il tempo con slittamento negativo.

Nel simbolo personalizzato sono specificati tre prezzi contemporaneamente? O può succedere che tutti i prezzi siano tradotti anche se il grafico è tracciato da Last? In questo caso, il Bid può essere calcolato anche usando il simbolo non personalizzato ? Sono solo curioso. Se esiste, devo correggere alcuni dei miei codici.

 
Artyom Trishkin:

Questi tre prezzi sono fatti apposta nel simbolo personalizzato?

Su un simbolo di scambio, gli ordini di mercato sono attivati dal flipper. Tutte le posizioni aperte alla fine di un passaggio sono forzatamente chiuse dal Tester con ordini di mercato - sul flipper. E se c'è zero ci sarà un "poker". Prescrivo i flipper come valore medio tra offerta e domanda per evitare la "faccia da poker".

 
Ultimo aggiornamento. Il tester è palesemente storto. Dopo l'ottimizzazione, quando si cerca di eseguire un test con la visualizzazione, la visualizzazione è IN ATTESA. Bisogna riavviare. Ma mentre potevo tollerarlo (usando un linguaggio osceno), a un certo punto il test ha smesso di funzionare del tutto. Si è scoperto che nella finestra "simbolo" sono scomparsi tutti i simboli selezionati nella revisione del mercato. Ecco finito!!! Non c'è aiuto nelle danze con tamburello (e riavviando e anche reinstallando MT5).
 

Faccio molte ottimizzazioni di diversi EA (passano automaticamente attraverso una scaletta). Poi guardo le loro cache.

Noto l'inconveniente attuale

Voglio vedere le cache delle mie ottimizzazioni precedenti, quindi ogni volta devo prima selezionare l'Expert Advisor necessario. E la lista delle ottimizzazioni recenti, condotta nel Tester stesso, non è disponibile.


Sarebbe molto più amichevole, se l'elenco delle ultime ottimizzazioni del tester con i nomi degli EA in esse fossero calati nell'area contrassegnata, come nello screenshot. Avrebbe senso?

 
KENT3004:
Ultimo aggiornamento. Il tester è palesemente storto. Dopo l'ottimizzazione, quando si cerca di eseguire un test con la visualizzazione, la visualizzazione è IN ATTESA. Bisogna riavviare. Ma mentre potevo tollerarlo (usando un linguaggio osceno), a un certo punto il test ha smesso di funzionare del tutto. Si è scoperto che nella finestra "simbolo" sono scomparsi tutti i simboli selezionati nella revisione del mercato. Ecco finito!!! Non c'è aiuto nelle danze con tamburello (e riavviando e anche reinstallando MT5).

Se la reinstallazione del sistema operativo non aiuta, consiglio di cambiare il computer. Beh, o almeno la guarnizione.

 
Alexey Viktorov:

Se la reinstallazione del sistema operativo non aiuta, suggerisco di sostituire il computer. Beh, o almeno una guarnizione.

L'umorismo è apprezzato! Ma il business - come si fa a riportare i personaggi nel tester? Sparizioni e blocchi simili sono confermati da diversi utenti su altri forum.