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

 

Slava:
В OnInit торговля точно ведётся?

Sì. Ecco un log e uno screenshot

2019.11.01 00:00:00   market sell 2.00 EURUSD (1.11514 / 1.11522)
2019.11.01 00:00:00   deal #2  sell 2.00 EURUSD at 1.11514 done (based on order #2)
2019.11.01 00:00:00   deal performed [#2  sell 2.00 EURUSD at 1.11514]
2019.11.01 00:00:00   order performed sell 2.00 at 1.11514 [#2  sell 2.00 EURUSD at 1.11514]
2019.11.01 00:00:00   market buy 1.00 EURUSD (1.11514 / 1.11522)
2019.11.01 00:00:00   deal #3  buy 1.00 EURUSD at 1.11522 done (based on order #3)
2019.11.01 00:00:00   deal performed [#3  buy 1.00 EURUSD at 1.11522]
2019.11.01 00:00:00   order performed buy 1.00 at 1.11522 [#3  buy 1.00 EURUSD at 1.11522]
2019.11.01 00:00:00   close position #3  buy 1.00 EURUSD by position #2  sell 2.00 EURUSD (1.11514 / 1.11522)
2019.11.01 00:00:00   deal #4  sell 1.00 EURUSD at 1.11514 done (based on order #4)
2019.11.01 00:00:00   deal #5  buy 1.00 EURUSD at 1.11522 done (based on order #4)
 tester stopped because OnInit returns non-zero code


E come pensi di applicare GetLastError con il tuo codice? E un'altra domanda. Siete sicuri dell'ordine di calcolo degli argomenti della funzione?

Stiamo parlando del tester. Perché avete bisogno di GetLastError in questo esempio? E l'ordine non è importante neanche in questo caso.

 


Quando si copia un valore da qui (ed eventualmente da altri posti), l'intero blocco delle impostazioni viene incollato al posto del valore. Mi aspettavo di copiare quello che ho evidenziato)

 

Gli agenti sovraccaricano la memoria quando cercano di passare attraverso il messicano e non fare nulla, e il loro numero di compiti non fa che crescere. I registri mostrano i seguenti errori:

2019.11.02 18:35:19.317 Core 02 USDMXN.m: ticks synchronized already [47 bytes]
2019.11.02 18:35:21.021 Core 01 agent process started on 127.0.0.1:3000
2019.11.02 18:35:21.282 Core 01 connecting to 127.0.0.1:3000
2019.11.02 18:35:21.282 Core 01 connected
2019.11.02 18:35:21.291 Core 01 authorized (agent build 2190)
2019.11.02 18:35:21.291 Core 01 genetic pass (0, 61, 17) started
2019.11.02 18:35:21.335 Core 01 common synchronization completed
2019.11.02 18:35:21.362 Core 01 USDMXN.m: ticks synchronized already [47 bytes]
2019.11.02 18:36:08.980 Core 04 genetic pass (0, 76) tested with error "history processing error (14 USDMXN.m)" in 0:01:36.640
2019.11.02 18:36:08.980 Core 04 genetic pass (0, 76) returned to queue
2019.11.02 18:36:08.980 Core 04 16 rejected passes returned to queue
2019.11.02 18:36:08.980 Core 04 genetic pass (0, 11, 17) started
2019.11.02 18:36:09.081 Core 04 connection closed
2019.11.02 18:36:09.090 Core 04 17 genetic passes returned to queue as not processed
2019.11.02 18:36:19.013 Core 04 agent process started on 127.0.0.1:3003
2019.11.02 18:36:19.202 Core 04 connecting to 127.0.0.1:3003
2019.11.02 18:36:19.202 Core 04 connected
2019.11.02 18:36:19.211 Core 04 authorized (agent build 2190)
2019.11.02 18:36:19.211 Core 04 genetic pass (0, 53, 17) started
2019.11.02 18:36:19.275 Core 04 common synchronization completed
 
fxsaber:

Ora per analizzare la situazione sul pezzo evidenziato


devi muovere il cursore, ricordare la data del pop-up, aprire il grafico di esecuzione, andare al posto richiesto nella Storia del commercio e fare doppio clic sulla linea pertinente nella tabella.


Tutto questo può essere sostituito con un doppio clic sul punto del grafico qui sopra?


Ho postato questo suggerimento un paio di anni fa nel Service Desk.
Se è possibile interagire con il grafico di esecuzione sotto forma di un messaggio pop-up, allora è anche possibile implementare un passaggio alla cronologia con un doppio clic.
 
Mi sono imbattuto in questa reazione di premere il pulsante di avvio del singolo passaggio
2019.11.03 18:25:05.459 Core 1  connecting to 127.0.0.1:3000
2019.11.03 18:25:05.459 Core 1  connected
2019.11.03 18:25:05.468 Core 1  disconnected
2019.11.03 18:25:05.468 Core 1  connection closed

Collegato e poi immediatamente scollegato. Dopo un minuto, era pronto e funzionante. Non c'era nessun visualizzatore.

 
fxsaber:
Ho avuto questa reazione di premere il pulsante Start in un solo passaggio

Collegato e poi immediatamente disconnesso. Dopo un minuto, era pronto e funzionante. Mancava il visualizzatore.

Il tester era andato in tilt

 
fxsaber:

Sì. Ecco un log e uno screenshot


Stiamo parlando del Tester. Perché GetLastError in questo esempio? L'ordine non è importante neanche in questo caso.

Il tester si è fermato perché OnInit restituisce un codice non nullo

Ecco perché non ci sono statistiche.

 
Slava:

L'agente tester è andato in crash

Anche ieri ho avuto un'esecuzione singola sulla 2197, prima ho fatto clic con il tasto destro del mouse sulle esecuzioni singole 10-15 volte dopo l'ottimizzazione, poi qualsiasi esecuzione singola nel registro ha aggiunto la connessione e non ha fatto nient'altro, gli agenti erano in stato di reidi, riavviando il terminale si cura questo

 
Igor Makanu:

Ieri ho anche avuto una corsa singola sulla 2197 che non partiva, prima ho cliccato con il tasto destro attraverso le corse singole 10-15 volte dopo l'ottimizzazione, poi ogni corsa singola ha aggiunto al registro e non ha fatto nient'altro, gli agenti erano in stato reidi, riavviando il terminale si cura questo

Bisogna guardare i registri degli agenti

 
Andrey Pogoreltsev:


Quando si copia un valore da qui (ed eventualmente da altri posti), l'intero blocco delle impostazioni viene incollato al posto del valore. Mi aspettavo di copiare quello che ho evidenziato)

PCM - Copia