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
Peut-être qu'il suffit de faire quelques tests pour que les questions disparaissent ?
Peut-être. J'aimerais avoir plus de temps pour faire les tests moi-même :(
Peut-être qu'il suffit de faire quelques tests pour que les questions disparaissent ?
Les tests ne montrent une différence que la première fois que vous commencez.
Symbol(), les entrées _Symbol sont équivalentes à NULL (où NULL est autorisé à la place du nom du symbole).
Dans ce cas, il n'y a pas de vérification supplémentaire de l'existence du symbole courant, de la présence du symbole courant dans le Market Watch et de l'appel inutile des propriétés du symbole courant, car les propriétés du caractère courant sont mises en cache.
C'est-à-dire que si un paramètre normal de chaîne de caractères est spécifié au lieu de Symbol(), _Symbol ou NULL, alors les vérifications pour le programme complet et les appels de propriétés supplémentaires
Question :
- Le comportement des appels SymbolInfoXXX dans ces deux cas diffère-t-il de plus d'une vérification ?
?
Au fait, d'après les journaux récents de la dernière version de MT5 :
Il s'agissait de 3 EAs planant sur un symbole, chacun sur son propre graphique. Et la demande continue à chaque tic. De tels pics sont bien sûr peu fréquents, mais en fait, une demande de nouveaux ticks provenant du dernier tick a été exécutée 700 ms.
Je surveille depuis environ 12 heures, mais je vois déjà les décalages franchir toutes les limites.
3 EAs, chacun sur son propre graphique, tous sur 1 symbole, demandent les anciens ticks du tick précédent via CopyTicksRange. Et le décalage est de presque 9 secondes. Et il semble que ce ne soit pas la limite. Il est fort probable que le magasin de tics soit une ressource partagée dont l'accès est synchronisé, mais même avec une très mauvaise synchronisation, de tels délais ne devraient pas exister.
Certains diront que c'est un problème ponctuel. Pendant ces 12 heures de surveillance, il y a malheureusement eu plus d'une centaine de sorties d'une seconde. Et cela ne ressemble plus à des explosions ponctuelles. Il semble qu'il y avait souvent plusieurs ticks entrant en même temps, ce qui est la cause de ces pics.
Même si nous fermons les yeux sur le fait que 3 EA se sont battues pour une ressource commune, regardons l'autre contrôle :
Il n'y avait qu'un seul conseiller expert sur le symbole. Et encore une seconde et demie. Ce n'était pas le seul, il y avait d'autres EA sur d'autres symboles, mais n'est-il pas multithread ? Ou bien des tics pour des symboles différents peuvent encore se ralentir mutuellement ?
Il s'agit d'une fonctionnalité de base pour les EA de base. La plateforme se positionne comme une plateforme de trading algorithmique. Cela dit, la fonctionnalité de base soulève de fortes questions. Je vous demande de le réexaminer. Je suis presque sûr qu'il est possible de l'améliorer quelque part. Ou je serais très reconnaissant de pouvoir obtenir les derniers ticks depuis que la fonction a été appelée, comme suggéré ici.
Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading
MT5 et la vitesse en action
fxsaber, 2021.03.01 07:28
Veuillez réfléchir à une telle fonctionnalité.
Le problème de l'obtention de NOUVEAUX ticks sans sauts est maintenant résolu uniquement par CopyTicks*. C'est un mécanisme très lourd pour cette tâche très répandue. C'est comme tirer des oiseaux avec un canon.
D'où les freins, la conservation d'énormes caches, etc.
Minimisation du nombre d'appels à SymbolInfoTick et CopyTicksRange :
Le terminal et la machine (fichier swap désactivé) avec cette charge.
En conséquence, il a été possible de réduire considérablement le nombre de messages de retard (moins d'appels ont été effectués) des fonctions régulières.
Journal de bord pendant 50 minutes :
Ça n'a pas l'air trop mal. Il n'y a pas eu de transactions commerciales. Et eux, je vais voir.
CEPENDANT, le fragment mis en évidence montre que trois EAs (différents personnages) ont été décalés presque simultanément. C'est-à-dire que le décalage est universel pour le terminal.
Symbol(), les entrées _Symbol sont équivalentes à NULL (où NULL est autorisé à la place du nom du symbole).
Dans ce cas, il n'y a pas de vérification supplémentaire de l'existence du symbole courant, de la présence du symbole courant dans le Market Watch et de l'appel inutile des propriétés du symbole courant, car les propriétés du caractère courant sont mises en cache.
En d'autres termes, si vous spécifiez un simple paramètre de type chaîne de caractères au lieu de Symbol(), _Symbol ou NULL, des vérifications sont effectuées pour le programme complet et d'autres propriétés de la requête.
Veuillez expliquer à nouveau, car les utilisateurs du forum interprètent différemment vos propos.
Dans le terminal avec un EA/chart/symbole.
Un tel journal en 15 minutes. Il semble que ce soit une question de lenteur de Windows après tout. Dans ce cas, c'est le cas.
Un exemple clair des freins que provoque Market Watch.
Regardez les valeurs de la colonne Processeur (deuxième à partir de la droite).
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading
Indicateurs : Ping
fxsaber, 2021.03.12 10:56
Je viens de me souvenir de cet excellent indicateur.
C'est une photo de la machine avec un ping nul. Il s'avère que le décalage interne du terminal est en moyenne de ~2ms. Il oscille entre 0 et 9 ms.
Par exemple, le serveur a reçu deux ticks : le premier, puis le second après 10 ms. Ainsi, en terminal, le deuxième tic-tac peut être reçu non pas 10 ms après le premier, mais 10-19 ms après. En moyenne, il est 12 ms plus tard.
Si vous négociez à partir du marché (marges de marché ou ordres en attente au prix actuel), il sera particulièrement difficile à gérer. Il est difficile de dire si les développeurs seront en mesure d'améliorer quoi que ce soit ici.
Si l'on regarde la bourse de Moscou, la situation y est similaire. En fait, en négociant par l'intermédiaire de l'algo MT5, vous êtes presque assuré d'être à la fin de la file d'attente d'exécution, n'ayant pas le temps d'aller chercher les bonnes choses, malheureusement.