![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
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.
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.
Dans votre cas - vous devrez peut-être changer votre ordinateur pour un plus puissant. Alors vous n'aurez pas besoin d'utiliser le sommeil.
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading
MT5 et la vitesse en action
fxsaber, 2020.11.04 16:21
Malheureusement, vous n'avez pas exécuté l'EA de référence sur votre MuscleCar.
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.
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.
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 ?
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.
Du matériel midiocre et sans charge.
J'invite les autres à partager le résultat de l'exécution de ce script sur leur machine.
Votre script.
Machine.
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.