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
Bon après-midi. Il existe un phénomène de distorsion des derniers bits d'un double, veuillez indiquer quelles conditions doivent être créées pour qu'une telle distorsion se produise. La distorsion est-elle possible dans les opérations ? Une distorsion est-elle possible lors du stockage d'entiers dans un double ? Pendant les opérations ?
y=sqrt(x);
y=y*y;
Quelle est une variante de la distorsion ?
Veuillez me conseiller. Existe-t-il un moyen de savoir par programme (dans la fonction OnTrade()) si un Stop Loss, Take Profit ou un ordre en attente a été fixé, modifié ou supprimé manuellement (par un terminal)? Et un petit exemple, si ce n'est pas difficile.
Actuellement, les opérations répertoriées sont enregistrées et écrites dans le(s) fichier(s), qui se trouve(nt) dans le répertoire D:\Metatrader 5\logs\. Je ne peux donc pas les lire de manière programmatique.
Veuillez me conseiller. Existe-t-il un moyen de savoir par programme (dans la fonction OnTrade()) si un Stop Loss, Take Profit ou un ordre en attente a été fixé, modifié ou supprimé manuellement (par un terminal)? Et un petit exemple, si ce n'est pas difficile.
Auparavant, la fonction gérait les événements lorsque certaines listes étaient modifiées, il n'y avait pas de paramètres. Si tout reste inchangé, il s'avère que les événements d'établissement, de modification ou de suppression doivent être reçus, que les ordres soient établis manuellement ou non. Est-ce correct ? Si c'est le cas, nous pouvons essayer de trouver le ticket de chaque événement de commerce (si l'événement se réfère à une commande) et si nous découvrons qu'aucun ticket de ce type n'a été mis en place de manière programmatique, nous pouvons suivre son destin. Ça donne quelque chose comme ça.
Oui, tout est correct, mais seulement si les événements sont liés aux transactions, d'après ce que je comprends. J'ai besoin de savoir s'il est possible de suivre les événements de modification de commande en mode manuel de manière programmatique.
Non, non, lisez d'urgence la documentation :) Ou des articles encore meilleurs. La liste des transactions n'est qu'une partie de toutes les listes. Cela signifie que les événements devraient être différents... Cependant, je l'ai lu moi-même il y a longtemps, j'ai peut-être oublié.
L'article"Traitement des événements commerciaux dans l'Expert Advisor avec la fonction OnTrade()" et l'article"Trade Events in MetaTrader 5" de Roche.
Non, non, lisez d'urgence la documentation :) Au moins, cette partie était plus ou moins claire. La liste des transactions n'est qu'une partie de toutes les listes. Les événements doivent donc être différents, eux aussi.
Et encore mieux : il y avait un article sur cette fonction, et un article de Roche sur les événements commerciaux (si je ne me trompe pas dans le titre).
)) Dans OnTrade() je parviens à définir des événements comme ceci :
DEAL_ENTRY_IN, DEAL_ENTRY_OUT, DEAL_ENTRY_INOUT.
Je peux également déterminer si l'un de ces événements était une simple transaction ou un ordre en attente déclenché et quel type d'ordre en attente il s'agissait. Et aussi s'il s'agit d'un nouveau poste ou d'une augmentation/diminution d'un poste déjà existant.
---
Je ne sais pas comment détecter les modifications d'un ordre quelconque. Je n'ai pas non plus vu d'exemples de ce type dans la documentation. J'ai besoin d'un indice. Un simple conseil des développeurs. Cette possibilité existe-t-elle ou non ? Et cette possibilité sera-t-elle un jour mise en œuvre ou non, pour se débarrasser de cette question ou tenter de la résoudre d'une autre manière intelligente. :)
---
Il y a aussi cette section dans la documentation : Types de métiers. Mais ces événements peuvent être identifiés s'ils ont été réalisés de manière programmatique.
...
Article sur cette fonction"Handling trade events in EAs using OnTrade() function".
J'ai trouvé ce que je cherchais dans cet article. Je l'ai lu une fois, mais je l'avais complètement oublié. :)
J'oublie généralement toutes les subtilités au bout d'un mois. C'est pourquoi je ne fais que relire. Je lis des sections du manuel et des articles :)
Voici une autre phrase "...le changement de SL et TP ne change pas ... et même l'événement OnTrade n'est pas généré, nous écrasons juste les champs SL et TP (comme pour une position ouverte)" peut être utile. Cependant, je n'ai pas encore trouvé comment le faire.
Oui, c'est exact, mais seulement si les événements sont liés à des transactions, d'après ce que je comprends. J'ai besoin de savoir si les événements de modification de commande peuvent être suivis de manière programmatique en mode manuel.
J'ai trouvé ce que je cherchais dans cet article. Je l'ai lu une fois, mais je l'ai complètement oublié. :)
Pouvez-vous me dire comment obtenir les cours acheteur et vendeur d'une autre paire de devises, non actuelle pour le moment, dans mt4 il y avait une commande marketinfo, dans mt5 il n'y en a pas.
Je suppose que nous devons passer àSymbolInfoDouble(Symbol(),SYMBOL_ASK) et opérer ici avec la valeurSymbol(), mais je n'arrive pas à trouver comment.