MT5 et la vitesse en action - page 67

 
fxsaber:

Le problème est formulé très simplement : comment écrire un EA qui ne ralentit pas lorsqu'il attend une file d'attente ? Une boucle infinie est impossible, car le sommeil est un frein. Et le mode asynchrone ne fonctionnera pas du tout. Il ne s'agit pas du tout d'attraper des attentes sous forme de longues millisecondes.

Dans votre cas - changez votre ordinateur pour un plus puissant. Et ensuite vous pouvez arrêter d'utiliser Sleep
 
Anton:

Ne vous trompez pas vous-même et les autres.

Toutes vos déclarations ici décrivent une tâche complètement différente : comment écrire une EA qui ne ralentira pas sur un matériel vieux de 9 ans qui est surchargé jusqu'à ses limites.

Ce fil de discussion et votre participation, en particulier, m'ont aidé à rédiger un tel EE. La charge CPU peut atteindre 10% sur un VPS très faible lorsque plus d'une douzaine d'Expert Advisors sont en cours d'exécution. Un seul clic pour des centaines de positions et d'ordres en attente. CopyTicks sur chaque tick et ainsi de suite. Donc votre reformulation est fausse.


J'ai besoin de créer un EA sur une machine forte avec Idle-CPU qui n'attendra pas dans la file d'attente pendant de longues millisecondes. Malheureusement, vous n'avez pas effectué le test EA sur votre MuscleCar.

 
Slava:
Dans votre cas - vous devrez peut-être changer votre ordinateur pour un plus puissant. Alors vous n'aurez pas besoin d'utiliser le sommeil.

Veuillez nous donner un chiffre de référence sur lequel nous pourrons nous baser pour déterminer si la puissance de la voiture est suffisante ou non.


Veuillez demander à tous les propriétaires de fer à repasser puissant de partager le résultat de ce conseiller sur leur machine. Vous devez attendre une minute ou deux après le démarrage.

 
fxsaber:

C'est pourquoi je pose une question aux propriétaires de MQ-Demo.

Dans ce cas, cette question restera sans réponse. Il s'agit d'un serveur de démonstration.

Encore une fois : dans le terminal, vous obtenez les prix les plus "récents" pour chaque symbole.

Le terminal n'a pas pour mission de fixer ou de modifier l'heure du tic-tac - tel qu'il est venu, tel qu'il est donné. Le terminal n'a pas pour tâche de synchroniser les temps de tic-tac de différents symboles.

Ainsi, votre hypothèse selon laquelle le terminal "ralentit" et envoie les anciens ticks au conseiller expert sur la base du test que vous avez fourni est fausse.

A ce stade, je considère que la question est close. Votre formation n'est pas la tâche principale des développeurs.

 

À mon avis, il est préférable de tester sur une machine lente. Il montrera des problèmes qui passeraient autrement inaperçus sur une machine rapide.

Je vais effectuer le test dans la journée et poster les résultats.

 
Anton:

Dans ce cas, cette question restera sans réponse. Il s'agit d'un serveur de démonstration.

Encore une fois : dans le terminal, vous obtenez les prix les plus "actuels" pour chaque symbole.

Le terminal n'a pas pour mission de fixer ou de modifier l'heure du tic-tac - tel qu'il est venu, tel qu'il est donné. Le terminal n'a pas la tâche de synchroniser les heures de tick pour différents symboles.

Votre démo existe pour le travail technique. Si je passe à un autre serveur, vous m'enverrez au courtier. Pourquoi votre serveur génère-t-il le flux de ticks de telle manière qu'il envoie les anciens ticks ? Si le problème ne se situe pas dans le terminal, il se situe dans la partie serveur. Dans ce cas, le serveur appartient à MQ. Tout courtier n'a donc rien à voir avec cela.

Ainsi, votre hypothèse, basée sur le test que vous avez fourni, selon laquelle le terminal "ralentit" et envoie à l'EA de vieux ticks est fausse.

A ce stade, je considère que la question est close. Votre formation n'est pas la tâche principale des développeurs.

Votre spéculation sur ma supposition est fausse. Pas besoin de lire entre les lignes.


Et pour en venir au fait. La situation réelle sur votre serveur (et les autres). Le dernier tick entrant dans Market Watch a le temps 00:00:00.150, plus tard un tick arrive avec le temps 00:00:00.148. Quand il a été reçu en terminal, depuis combien de temps est-il en vie ?

 
fxsaber:

Veuillez fournir un Benchmark pour vous aider à déterminer si votre machine est assez puissante ou non.


Veuillez demander à tous les propriétaires de matériel puissant de partager les résultats de ce conseiller sur leur machine. Vous devez attendre une minute ou deux après le démarrage.

2020.11.04 19:55:49.461	test1 (EURUSD,H1)	Alert: OnBook-lag! - 1002 mcs.
2020.11.04 19:55:49.461	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:55:49.461	test1 (EURUSD,H1)	[0] 1.17269 1.17269     true     494478
2020.11.04 19:55:49.461	test1 (EURUSD,H1)	[1] 1.17269 1.17269    false        297
2020.11.04 19:55:49.461	test1 (EURUSD,H1)	[2] 1.17272 1.17272     true     117109
2020.11.04 19:55:49.461	test1 (EURUSD,H1)	[3] 1.17272 1.17272    false       1002
2020.11.04 19:55:59.922	test1 (EURUSD,H1)	Alert: OnTick-lag! - 2673766 mcs.
2020.11.04 19:55:59.923	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:55:59.923	test1 (EURUSD,H1)	[0] 1.17266 1.17266    false        252
2020.11.04 19:55:59.923	test1 (EURUSD,H1)	[1] 1.17264 1.17264     true      35875
2020.11.04 19:55:59.923	test1 (EURUSD,H1)	[2] 1.17264 1.17264    false        247
2020.11.04 19:55:59.923	test1 (EURUSD,H1)	[3] 1.17264 1.17264     true    2673766
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	Alert: OnTick-lag! - 6478 mcs.
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	[0] 1.17258 1.17258     true      86315
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	[1] 1.17258 1.17258    false        265
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	[2] 1.17260 1.17260    false      42446
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	[3] 1.17260 1.17260     true       6478
...
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	Alert: OnTick-lag! - 15596 mcs.
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	[0] 1.17292 1.17293     true     107565
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	[1] 1.17292 1.17293    false        275
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	[2] 1.17293 1.17293    false     219947
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	[3] 1.17293 1.17293     true      15596
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	Alert: OnTick-lag! - 15784 mcs.
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	[0] 1.17294 1.17294     true      29494
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	[1] 1.17294 1.17294    false        283
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	[2] 1.17296 1.17296    false     549238
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	[3] 1.17296 1.17296     true      15784
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	Alert: OnTick-lag! - 4075 mcs.
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	[0] 1.17297 1.17297     true      21386
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	[1] 1.17297 1.17297    false        325
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	[2] 1.17296 1.17296    false      97215
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	[3] 1.17296 1.17296     true       4075

2020.11.04 12:18:51.145 Terminal        Windows 10 build 19041, AMD Ryzen 5 1600 Six-Core Processor, 12 / 15 Gb memory, 140 / 446 Gb disk, IE 11, UAC, GMT+3
Le matériel semble être plus ou moins puissant...
 



2020.11 . 04  17 : 55 : 08.418 Terminal MetaTrader 5 x64 build 2560 started for MetaQuotes Software Corp. 
2020.11 . 04  17 : 55 : 08.420 Terminal the the the the Windows 10 build 18362 , Intel Core i5- 7400      @ 3.00 GHz, 22 / 31 Gb memory, 29 / 222 Gb disk, IE 11 , UAC, GMT + 1


Du matériel midiocre et sans charge.


Но если Вы хотите сравнить тики, полученный в OnTick и полученный в OnBookEvent, тогда вас ждёт разочарование, так как  Letraitement des événementsest séquentiel, et non parallèle. Ce que l'utilisateur pivomoe a essayé de vous dire
Je pense que ce sera toujours un problème en raison de sa nature constante.
Toutefois, il semble utile de garder un œil sur l'actualité et les nouvelles si vous souhaitez obtenir les dernières nouvelles le plus rapidement possible.
Dossiers :
_20201104.log  199 kb
 
fxsaber:

J'invite les autres à partager le résultat de l'exécution de ce script sur leur machine.

2020.11.04 18:33:01.220 TextCreate (EURUSD,H1)  total 18018475 microseconds (1.802 ms per iteration)
 
fxsaber:

Votre script.


Machine.

Windows 10 build 19042, Intel Core i7-2700 K  @ 3.50 GHz, 7 / 15 Gb memory, 18 / 29 Gb disk

Disque de 29 Go. Vous effectuez vos tests à partir de machines personnelles et je crois comprendre que vous le faites à partir d'un VPS ou d'une machine virtuelle.

Виртуальный хостинг для MetaTrader 5
Виртуальный хостинг для MetaTrader 5
  • www.mql5.com
Виртуальный хостинг для MetaTrader 4/5 является лучшим VPS-решением для Форекса. Оно не требует настройки, дает минимальные задержки до сервера и отличается низкими ценами. Всего за 15 USD в месяц вы получите виртуальную платформу, которая работает круглые сутки, экономит вашу прибыль и даже окупает себя. Создать удаленную копию приложения...