Dimostrare e spiegare tecnicamente come si ottiene questo risultato.
Non ho l'obiettivo di denigrare MT5. Sto solo facendo un confronto riproducibile. Certamente il tester MT5 è irraggiungibile per alcuni aspetti, ma il tuning MT4 è anche in grado di dare cose che MT5 non ha, ma che sono davvero richieste. Abbiamo visto che un test accurato su tick reali personalizzati su MT4 è vero al 100%. Bene, e la regolazione di tutti i tipi di impostazioni (commissioni, rientri, regole di attivazione degli ordini pendenti, ecc. In generale, ci sono cose che non sono ancora implementate in MT5.
C'è o c'è la prova precisa che le regole di slittamento e di attivazione sono esattamente come funzionano come dichiarato?
Puoi dimostrare e spiegare tecnicamente come un programma esterno può cambiare le condizioni di attivazione degli ordini nel motore del tester MT4? Non per iniezione profonda in questo motore?
C'è un modo per misurare effettivamente quante percentuali sono attribuite in un dato test MT5: Criptare i parametri di prova (risultati) => Inviare al loopback => Decriptare i parametri di prova (risultati)
Se prendiamo 50 ms dal soffitto, otteniamo 260 * 2 * 50 / 1000 = 26 sec. Che non è troppo poco. Sarebbe interessante conoscere le cifre reali.
Renat Fatkhullin: Докажите и объясните технически, как это достигается.
Come si ottiene tecnicamente - non lo so. Provalo - non sono pronto subito (lo farò dopo aver dormito).
C'è o c'è la prova precisa che le regole di slittamento e di attivazione sono esattamente quelle dichiarate?
Puoi dimostrare e spiegare tecnicamente come un programma esterno possa cambiare le condizioni di attivazione degli ordini nel motore del tester MT4? Non per iniezione profonda in questo motore?
Il semplice fatto che lo spread non è stato fissato per anni suggerisce che l'iniezione è profonda. Questa funzione di MT4 è molto popolare su molti forum. L'unica cosa che lo scoraggia è che non è gratis. Ma la prova è completa, quindi tutti possono provarla. In realtà ho installato la prova stessa qualche ora fa per creare questo thread.
Costruttivo può sostenere solo dopo un po' di riposo. In realtà, tutti possono controllare le dichiarazioni già ora, se lo desiderano.
Si può vedere che il selvaggio frena quando Shift = 1. Per esempio, ecco come MT4 affronta uno zero pass
Era diventato inutile aspettare che l'ottimizzazione finisse, così mi sono fermato.
L'esecuzione di un singolo passaggio zero ha mostrato (senza aspettare il completamento) che le prestazioni del tester calavano molto durante l'esecuzione del passaggio.
Ok, ecco i miei risultati sullo stesso (solo server Alpari-MT5-Demo):
Windows 10 Pro, Intel Xeon E5-2690 @ 2.60GHz
1 nucleo: 27 minuti e 55 secondi
2017.05.0805:13:09.636 Tester optimization finished, total passes 2602017.05.0805:13:09.647 Statistics optimization done in 27 minutes 55 seconds
2017.05.0805:13:09.647 Statistics local 260 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)
8 core: 6 minuti e 11 secondi
2017.05.0804:38:18.663 Tester optimization finished, total passes 2602017.05.0804:38:18.674 Statistics optimization done in 6 minutes 11 seconds
2017.05.0804:38:18.674 Statistics local 260 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)
24 core: 3 minuti e 33 secondi
2017.05.0805:17:40.990 Tester optimization finished, total passes 2602017.05.0805:17:41.000 Statistics optimization done in 3 minutes 33 seconds
2017.05.0805:17:41.000 Statistics local 260 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)
Chiaramente non ha senso ottimizzare in un solo core in MT5 e anche su 8 core tutto va molto veloce. Sono sicuro che i tuoi 14 minuti in MT4 sono fatti su una CPU vicina in potenza per core, quindi i tempi possono essere confrontati. Ho anche una frequenza per core di soli 2,6 Ghz.
Perché non c'è una riduzione lineare del tempo? Perché i compiti sono disomogenei a causa del numero di mestieri. Alcuni passaggi hanno 100 scambi (il calcolo richiede un secondo), e alcuni hanno 230.000 scambi (fino a 50 secondi). Poiché la velocità di calcolo è completamente determinata da chi e come sono distribuiti i passaggi più lunghi, il percorso critico nei pacchetti non è molto ridotto.
I vostri ritardi sono puramente dovuti all'inefficiente scansione della cronologia delle transazioni nella versione di rilascio. I casi di rallentamento sono passaggi con 200.000 o più scambi.
L'intero esempio dell'Expert Advisor è scritto in modo che faccia solo una cosa - scansiona l'intera storia dei trade su ogni tick in un modo terribilmente inefficiente. Si tratta di 1,8 milioni di scansioni complete dell'intera storia per un solo passaggio. E per di più, il codice delle selezioni MT5 non è nativo, ma una stampella sotto forma di wrapper stile MT4, che dà ancora più spese.
Come ho mostrato prima, abbiamo riscritto drasticamente il funzionamento e il campionamento delle grandi storie commerciali e ora non c'è differenza nella profondità della storia.
Ho allegato l'ultima build 1598 per controllare, dove tutto gira veloce. Basta sostituire i file nella directory di MetaTrader 5.
L'intero esempio di Expert Advisor è scritto in modo tale da fare solo una cosa: scansiona in modo spaventosamente inefficiente l'intera storia delle transazioni ad ogni tick. Questo è 1,8 milioni di scansioni complete dell'intera storia degli scambi per un solo passaggio. E il codice MT5 non è nativo, ma una stampella sotto forma di wrapper stile MT4, che dà ancora più spese.
Se c'è qualche dubbio che il rallentamento di MT5 sia causato dall'uso di una libreria di terze parti, chi vuole può riscrivere la semplice logica MT4 di questo EA in MQL5 a modo suo e testare l'ipotesi.
Come ho mostrato prima, abbiamo riscritto drasticamente il funzionamento e il campionamento delle grandi storie commerciali e ora non c'è differenza nella profondità della storia.
Ho allegato l'ultima build 1598 per i test, dove tutto funziona rapidamente. Basta cambiare i file nella directory di MetaTrader 5.
Il 1598 funziona molto più velocemente del 1596. E funziona anche in luoghi in cui le funzioni di Storia non sono utilizzate affatto. Apparentemente, il terminale ha causato quelle funzioni lente nelle sue viscere durante la corsa.
Ottimizzare MT4
2017.05.0802:35:33.074 Lucky: optimization started
2017.05.0802:49:51.431 Lucky: optimization finished in 0:14:182017.05.0802:49:51.436 There were 260 passes done during optimization
Ottimizzazione della MT5
2017.05.0807:40:38.429 Tester Experts\MT4Orders\Lucky.ex5 on EURUSD,M1 from2017.04.1000:00 to 2017.04.1600:002017.05.0807:40:38.597 Tester EURUSD: preliminary downloading of history ticks started, it may take quite a long time
2017.05.0807:40:39.600 Tester EURUSD: preliminary downloading of history ticks completed, 100.38 Kb in0:01.170 (85.80 Kb/sec)
2017.05.0807:40:39.600 Tester EURUSD: ticks data begins from2016.11.0100:002017.05.0807:40:39.600 Tester complete optimization started
2017.05.0807:40:39.600 Tester size of initial task batch is2602017.05.0807:40:39.612 Core 1 agent process started
2017.05.0807:40:39.612 Core 1 connecting to 127.0.0.1:30002017.05.0807:40:41.620 Core 1 connected
2017.05.0807:40:41.622 Core 1 authorized (agent build 1598)
2017.05.0807:40:42.771 Core 1 common synchronization completed
2017.05.0807:40:42.797 Core 1 EURUSD: ticks synchronized already [43 bytes]
2017.05.0808:04:54.332 Tester optimization finished, total passes 2602017.05.0808:04:54.342 Statistics optimization done in24 minutes 16 seconds2017.05.0808:04:54.342 Statistics local 260 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)
2017.05.0808:04:54.342 Core 1 connection closed
Ora MT5 è 1,7 volte più lento di MT4.
ZS Non tutte le corse combaciavano perfettamente. Quindi uno dei tre sta sicuramente mentendo (MT4+TDS, MT5, MT4Orders). Noi cercheremo.
Overkill (100.000 dollari all'inizio)
Lei ha una strana nozione di descrizione delle condizioni di prova.
Questo approccio ai dettagli getta una grande ombra su tutte le vostre conclusioni successive.
Questo non funziona ora in MT4.
Ora funziona in MT4.
C'è o c'è la prova precisa che le regole di slittamento e di attivazione sono esattamente come funzionano come dichiarato?
Puoi dimostrare e spiegare tecnicamente come un programma esterno può cambiare le condizioni di attivazione degli ordini nel motore del tester MT4? Non per iniezione profonda in questo motore?
Lei ha una strana nozione di descrizione delle condizioni di prova.
Un tale approccio ai dettagli getta una grande ombra su tutte le vostre conclusioni successive.
Se non vi ho detto qualcosa, non l'ho fatto apposta. Credo di avervi dato tutti i dati prima. Ma lo ripeterò ancora una volta.
Criptare i parametri di prova (risultati) => Inviare al loopback => Decriptare i parametri di prova (risultati)
Se prendiamo 50 ms dal soffitto, otteniamo 260 * 2 * 50 / 1000 = 26 sec.
Che non è troppo poco.
Sarebbe interessante conoscere le cifre reali.
Renat Fatkhullin:
Докажите и объясните технически, как это достигается.
Come si ottiene tecnicamente - non lo so. Provalo - non sono pronto subito (lo farò dopo aver dormito).
C'è o c'è la prova precisa che le regole di slittamento e di attivazione sono esattamente quelle dichiarate?
Puoi dimostrare e spiegare tecnicamente come un programma esterno possa cambiare le condizioni di attivazione degli ordini nel motore del tester MT4? Non per iniezione profonda in questo motore?
Il semplice fatto che lo spread non è stato fissato per anni suggerisce che l'iniezione è profonda. Questa funzione di MT4 è molto popolare su molti forum. L'unica cosa che lo scoraggia è che non è gratis. Ma la prova è completa, quindi tutti possono provarla. In realtà ho installato la prova stessa qualche ora fa per creare questo thread.
Costruttivo può sostenere solo dopo un po' di riposo. In realtà, tutti possono controllare le dichiarazioni già ora, se lo desiderano.
Parametri di ingresso
Potete vedere che ci sono freni selvaggi quando Shift = 1. Per esempio, ecco come MT4 gestisce il passaggio zero
Cioè più di 60 volte più veloce.
SZ
Forum sul trading, sistemi di trading automatico e test di strategia
Bug, bug, domande
fxsaber, 2017.04.26 15:08
Si prega di mostrare la gamma e il passo dei parametri ottimizzati nei log dell'ottimizzatore.
E anche nei log dell'agente tali linee
Accompagnare con informazioni sulla corsa in questione - il nome dell'EA e i suoi parametri di input.
Si può vedere che il selvaggio frena quando Shift = 1. Per esempio, ecco come MT4 affronta uno zero pass
Era diventato inutile aspettare che l'ottimizzazione finisse, così mi sono fermato.
L'esecuzione di un singolo passaggio zero ha mostrato (senza aspettare il completamento) che le prestazioni del tester calavano molto durante l'esecuzione del passaggio.
Le funzioni della storia non sono coinvolte.
Se non l'ho detto bene, non lo pensavo davvero. Credo di avervi dato tutti i dettagli prima. Ma lo dirò di nuovo.
Ok, ecco i miei risultati sullo stesso (solo server Alpari-MT5-Demo):
Chiaramente non ha senso ottimizzare in un solo core in MT5 e anche su 8 core tutto va molto veloce. Sono sicuro che i tuoi 14 minuti in MT4 sono fatti su una CPU vicina in potenza per core, quindi i tempi possono essere confrontati. Ho anche una frequenza per core di soli 2,6 Ghz.
Perché non c'è una riduzione lineare del tempo? Perché i compiti sono disomogenei a causa del numero di mestieri. Alcuni passaggi hanno 100 scambi (il calcolo richiede un secondo), e alcuni hanno 230.000 scambi (fino a 50 secondi). Poiché la velocità di calcolo è completamente determinata da chi e come sono distribuiti i passaggi più lunghi, il percorso critico nei pacchetti non è molto ridotto.
I vostri ritardi sono puramente dovuti all'inefficiente scansione della cronologia delle transazioni nella versione di rilascio. I casi di rallentamento sono passaggi con 200.000 o più scambi.
L'intero esempio dell'Expert Advisor è scritto in modo che faccia solo una cosa - scansiona l'intera storia dei trade su ogni tick in un modo terribilmente inefficiente. Si tratta di 1,8 milioni di scansioni complete dell'intera storia per un solo passaggio. E per di più, il codice delle selezioni MT5 non è nativo, ma una stampella sotto forma di wrapper stile MT4, che dà ancora più spese.
Come ho mostrato prima, abbiamo riscritto drasticamente il funzionamento e il campionamento delle grandi storie commerciali e ora non c'è differenza nella profondità della storia.
Ho allegato l'ultima build 1598 per controllare, dove tutto gira veloce. Basta sostituire i file nella directory di MetaTrader 5.
Ecco il registro dei passaggi:
Un passaggio zero con 216k trade (parametri Shift=1, Limit=5) ha funzionato in 7 secondi.
L'intero esempio di Expert Advisor è scritto in modo tale da fare solo una cosa: scansiona in modo spaventosamente inefficiente l'intera storia delle transazioni ad ogni tick. Questo è 1,8 milioni di scansioni complete dell'intera storia degli scambi per un solo passaggio. E il codice MT5 non è nativo, ma una stampella sotto forma di wrapper stile MT4, che dà ancora più spese.
Forum sul trading, sistemi di trading automatico e test di strategia
MT4-Tester VS MT5-Tester
fxsaber, 2017.05.08 04:03
Le funzioni della storia non sono coinvolte.
Forum sul trading, sistemi di trading automatico e test di strategie di trading
MT4-Tester VS MT5-Tester
fxsaber, 2017.05.08 01:11
Se c'è qualche dubbio che il rallentamento di MT5 sia causato dall'uso di una libreria di terze parti, chi vuole può riscrivere la semplice logica MT4 di questo EA in MQL5 a modo suo e testare l'ipotesi.Come ho mostrato prima, abbiamo riscritto drasticamente il funzionamento e il campionamento delle grandi storie commerciali e ora non c'è differenza nella profondità della storia.
Ho allegato l'ultima build 1598 per i test, dove tutto funziona rapidamente. Basta cambiare i file nella directory di MetaTrader 5.
Il 1598 funziona molto più velocemente del 1596. E funziona anche in luoghi in cui le funzioni di Storia non sono utilizzate affatto. Apparentemente, il terminale ha causato quelle funzioni lente nelle sue viscere durante la corsa.
Ottimizzare MT4
Ottimizzazione della MT5
Ora MT5 è 1,7 volte più lento di MT4.
ZS Non tutte le corse combaciavano perfettamente. Quindi uno dei tre sta sicuramente mentendo (MT4+TDS, MT5, MT4Orders). Noi cercheremo.