MT5 et la vitesse en action - page 33

 
Renat Fatkhullin:

L'état de votre marché/négoce ne changera pas jusqu'à ce que vous receviez, après un certain temps, le détail de votre demande asynchrone, que vous pouvez attraper dans OnTradeTransaction.

Ou pas, s'il y a une perte de communication, même momentanée, avec le serveur commercial.

 
fxsaber:

L'accélération s'est produite, mais malheureusement, pour une raison quelconque, la mise à jour du cache n'est pas effectuée en une milliseconde, ce qui entraîne une alerte à chaque étape où l'historique est mis à jour.


Veuillez l'essayer sur une grande histoire.


Je suppose que cette milliseconde est due à l'allocation de mémoire pour la mise à jour du cache. Rien d'autre ne semble le ralentir.

Passez au comptage des microsecondes. Les millisecondes ne sont plus appropriées.

 
Renat Fatkhullin:

Passez au comptage des microsecondes. Les millisecondes ne sont plus appropriées.

Je l'ai fait. Mais cela ne rend pas HistorySelect plus rapide, bien sûr.

Dossiers :
Benchmark.mqh  3 kb
 
Andrey Khatimlianskii:

Bien sûr, il doit y avoir un objet instantané.

Je l'ai.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Bibliothèques : virtuelles

fxsaber, 2020.09.24 12:25

L'instantané a triplé la vitesse du MQL5 pur. Par exemple, dans ce cas, l'instantané est trois fois plus rapide que Trade\Trade.mqh.

 
fxsaber:

Je l'ai.

Pour information, votre bibliothèque ne sera pas utile dans le testeur.

Le testeur n'a pas de caches de l'historique des transactions et il dispose de son propre moteur d'accès direct sans copie unique. Puisqu'il y a une exécution monofilaire, nous n'avons besoin ni de caches ni de synchroniseurs.

La vitesse d'accès à l'historique des transactions a toujours été la plus rapide possible depuis le développement du testeur.

 
Renat Fatkhullin:

Pour information, votre bibliothèque ne sera pas utile dans le testeur.

Les mesures ci-dessus ont été effectuées pour un grand nombre de positions ouvertes et d'ordres dans le Terminal. L'historique est également dans le snapshot, mais je n'ai pas mesuré ses performances.

Malheureusement, les performances du testeur chutent de façon catastrophique lorsqu'il y a un grand nombre de positions/ordres en même temps. C'est pourquoi je n'ai même pas pensé à le mesurer. Mais il est possible de l'organiser d'une manière ou d'une autre.

Tester n'a pas de cache de l'historique des transactions et dispose de son propre moteur d'accès direct sans aucune copie. Comme il s'agit d'une exécution monofilaire, nous n'avons pas besoin de caches ou de synchroniseurs.

La vitesse d'accès à l'historique des transactions a toujours été la plus élevée depuis le développement du testeur.

Je vais devoir le chercher sur le forum. Je me souviens avoir montré comment l'accès générique à l'historique est supérieur au mécanisme régulier dans le Testeur.

 

L'échantillonnage de l'historique dans le terminal est encore accéléré, il le sera dans la prochaine bêta.

Dès que nous aurons terminé avec le terminal, je vous invite à une bataille de vitesse dans le testeur.

 
Renat Fatkhullin:

Dès que nous en aurons terminé avec le terminal, je vous invite à une bataille de vitesse dans le testeur.

Malheureusement, seul le style MT5 est possible à battre. Puisque le concept de style MT4 déchirera le testeur MT5 en termes de performance, mais la comparaison ne sera pas tout à fait correcte alors.

 
Essayez la version 2622, où le taux d'échantillonnage a encore été amélioré.
 
Renat Fatkhullin:
Essayez la version 2622, où le taux d'échantillonnage a encore été amélioré.

Merci, ça s'est nettement amélioré. Malheureusement, il n'est pas possible de changer l'histoire pendant le week-end, donc je ne peux pas vérifier.