MT5 e la velocità in azione - pagina 33

 
Renat Fatkhullin:

Il vostro stato di mercato/trading non cambierà fino a quando non riceverete un dettaglio passo per passo sulla vostra richiesta asincrona dopo un certo tempo, che potete catturare in OnTradeTransaction.

Oppure no, se c'è anche una momentanea perdita di comunicazione con il server commerciale

 
fxsaber:

L'accelerazione è avvenuta, ma purtroppo per qualche motivo l'aggiornamento della cache non è entro un millisecondo, quindi avvisa ad ogni passo in cui la storia viene aggiornata.


Per favore, provatelo su una grande storia.


Suppongo che questo millisecondo sia dovuto all'allocazione di memoria per l'aggiornamento della cache. Nient'altro sembra rallentarlo.

Passa al conteggio dei microsecondi. I millisecondi non sono più appropriati.

 
Renat Fatkhullin:

Passa al conteggio dei microsecondi. I millisecondi non sono più appropriati.

L'ho fatto. Ma questo non rende HistorySelect più veloce, ovviamente.

File:
Benchmark.mqh  3 kb
 
Andrey Khatimlianskii:

Naturalmente, ci deve essere un oggetto snapshot.

Capito.

Forum sul trading, sistemi di trading automatico e test di strategia

Biblioteche: virtuale

fxsaber, 2020.09.24 12:25

L'istantanea ha triplicato la velocità del puro MQL5. Per esempio, in questo caso lo snapshot è tre volte più veloce di Trade\Trade.mqh.

 
fxsaber:

Capito.

Per informazione, la vostra biblioteca non vi aiuterà nel tester.

Il tester non ha cache della storia delle transazioni e ha un proprio motore di accesso diretto senza una sola copia. Dato che c'è un'esecuzione single-threaded, non abbiamo bisogno né di cache né di sincronizzatori.

La velocità di accesso alla storia delle transazioni è sempre stata la più veloce possibile fin dallo sviluppo del tester.

 
Renat Fatkhullin:

Per informazione, la vostra biblioteca non vi aiuterà nel tester.

Le misurazioni di cui sopra sono state fatte per un gran numero di posizioni aperte e ordini in Terminal. La storia è anche nell'istantanea, ma non ho misurato le sue prestazioni.

Sfortunatamente, la performance del tester cade in modo catastrofico quando c'è un gran numero di posizioni/ordini allo stesso tempo. Ecco perché non ho nemmeno pensato di misurarlo. Ma è possibile organizzarlo in qualche modo.

Il Tester non ha cache della storia delle transazioni e ha un proprio motore di accesso diretto senza una singola copia. Poiché si tratta di un'esecuzione a thread singolo, non abbiamo bisogno di cache o sincronizzatori.

La velocità di accesso alla storia delle transazioni è sempre stata la più alta dallo sviluppo del tester.

Dovrò cercarlo sul forum. Ricordo di aver mostrato come l'accesso generico alla storia sia superiore al meccanismo standard del Tester.

 

Il campionamento della storia nel terminale è ancora accelerato, lo sarà nella prossima beta.

Non appena abbiamo finito con il terminale, vi invito a una battaglia di velocità nel tester.

 
Renat Fatkhullin:

Non appena abbiamo finito con il terminale, vi invito a una battaglia di velocità nel tester.

Sfortunatamente, solo lo stile MT5 è possibile da battere. Dal momento che il concetto di MT4 farà a pezzi l'MT5-tester in termini di prestazioni, ma il confronto non sarà allora del tutto corretto.

 
Provate la build 2622, dove hanno migliorato ulteriormente la frequenza di campionamento.
 
Renat Fatkhullin:
Provate la build 2622, dove hanno migliorato ulteriormente la frequenza di campionamento.

Grazie, è migliorato notevolmente. Sfortunatamente, non è possibile cambiare la storia durante il fine settimana, quindi non posso controllare.