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

 

Chi sa come usare SB per creare EA OOP, per favore crei un EA come portafoglio di 20 TS identici. E condividere i risultati delle prestazioni di un tale portafoglio di TS nel Tester.


Per esempio, per me un singolo TS (su ordini pendenti) impiega un secondo per passare. Un portafoglio di 20 di questi scambi richiede > 30 minuti. Cioè il rallentamento non è 20 volte, ma 2000 volte - due ordini di grandezza in più di quanto dovrebbe essere.

Si scopre che il tester non è adatto al trading di portafoglio.

 
fxsaber:

Per farti un esempio, ci metto un secondo a passare un trade (su un ordine pendente). Un portafoglio di 20 di questi TS > 30 minuti. Cioè il rallentamento non è 20 volte, ma 2000 volte - due ordini di grandezza in più di quanto dovrebbe essere.

Si scopre che Tester non è adatto al trading di portafoglio.

Ogni TS su ogni tick percorre ciclicamente tutti gli ordini alla ricerca del proprio?

 
Andrey Khatimlianskii:

Ogni TC su ogni tick esegue un ciclo attraverso tutti gli ordini cercando il proprio?

Sì, ma non è questa la causa del rallentamento. Per esempio, se si esegue in Optimizer, la velocità aumenta esattamente di 10 volte.

 
fxsaber:

Sì, ma non è questa la causa del rallentamento. Per esempio, se lo si esegue nell'ottimizzatore, la velocità aumenta di un fattore 10 esatto.

Allora cosa rallenta? Le parti interne del tester (controllo dell'innesco dell'ordine, del margine, ecc.)?

Ho fatto un unico elenco di ordini e l'accesso ad esso da tutti i TC, ha notevolmente accelerato il lavoro.

 
Andrey Khatimlianskii:

Cosa sta rallentando le cose allora? Interni del tester (controllo dell'attivazione dell'ordine, del margine, ecc.)?

L'ottimizzatore differisce da uno singolo in quanto non c'è un registro per ogni peto. Molto probabilmente, la registrazione crea la maggior parte dei ritardi.

Questo accelererebbe notevolmente il lavoro.

In Terminal un EA dal paniere di 20 EA funziona perfettamente.

 
fxsaber:

Chi sa come usare SB per creare EA OOP, per favore crei un EA come portafoglio di 20 TS identici. E condividere i risultati delle prestazioni di un tale portafoglio di TS nel Tester.


Per esempio, per me un singolo TS (su ordini pendenti) impiega un secondo per passare. Un portafoglio di 20 di questi scambi richiede > 30 minuti. Cioè il rallentamento non è 20 volte, ma 2000 volte - due ordini di grandezza in più di quanto dovrebbe essere.

Si scopre che il tester non è adatto al trading di portafoglio.

Non posso ancora controllare, i computer sono occupati, ma il tempo di testare il portafoglio TS sta sicuramente aumentando

Ho un "affettamento" dei TC in base al tempo di funzionamento dell'EA, il tempo di funzionamento dell'EA raramente si sovrappone - e il compito è quello di valutare un portafoglio già ottimizzato nei TC del tester, se il portafoglio è in perdita - il test è terminato, in generale è possibile lavorare nel tester



c'è il sospetto che gli ordini pendenti aumentino il tempo di test, e sicuramente - il calcolo del margine è un'operazione molto "costosa", il mio profiler mette la maggior parte del tempo sulla chiamata OrderCalcMargin() - è molto probabile che lo stesso controllo avvenga nel tester per gli ordini pendenti


è necessario testare con un test EA per trovare la verità

 
Igor Makanu:

c'è il sospetto che gli ordini pendenti aumentino il tempo di test e sicuramente - il calcolo del margine è un'operazione molto "costosa", il mio profiler mette la maggior parte del tempo nella chiamata diOrderCalcMargin()- è molto probabile che un controllo simile sia eseguito dal tester per gli ordini pendenti

Non uso questa funzione da nessuna parte. E corro in modalità pips, dove il tester stesso ignora il calcolo del margine.

 

cosa potrebbe essere, dove scavare?

test su tutti i simboli nella panoramica del mercato:

tutti gli agenti hanno finito e il timer continua ad andare...

La cosa più strana è che prima che il test iniziasse, ce n'erano 31 nella panoramica, così come il punto di arresto. ma altri 8 si sono aperti da soli, piuttosto strani, non ho mai aperto un trade su di loro, da esotici.

 
Igor Zakharov:

La cosa più strana è che prima che il test iniziasse, ce n'erano 31 nella recensione, così come il punto di rottura. ma altri 8 si sono aperti da soli, abbastanza strano, non ho mai aperto accordi su di loro, da esotici.

Dopo aver riavviato il computer, il numero di aperture è di 42. appaiono dopo aver premuto "start". il test arriva alla fine. vengono aggiunti gli stessi trade (a prima vista, non li ho controllati tutti). il log è lo stesso del solito - collegato, sincronizzato...

 
Igor Zakharov:

Dopo aver riavviato il computer diventano 42. appaiono dopo aver premuto "start". il test arriva alla fine. si aggiungono gli stessi (a prima vista, non li ho controllati tutti). nel log tutto è come al solito - collegato, sincronizzato...

Sono utilizzati per il ricalcolo del profitto o del margine nella valuta del deposito (il tester li aggiunge automaticamente all'apertura della posizione)?

Motivazione: