Que faut-il ajouter pour une prise en charge supplémentaire des calculs mathématiques universels dans MQL5 et MQL5 Cloud Network ? - page 6
![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
Voilà le problème, Renat.
MT5 comprend clairement quand un stop loss est activé et quand un take profit est activé. // Cela peut être vu dans les commentaires des commandes et est clair dans la gestion de la plateforme elle-même.
C'est pourquoi nous avons la demande (constante). - Nous aimerions que le drapeau approprié apparaisse dans OnTradeTransaction lors de l'activation d'un SL ou TP.
Mais si cela est impossible (même théoriquement) en raison de l'absence d'une architecture de liaison appropriée, nous ferions mieux de dire simplement que l'architecture de la plate-forme ne nous permet pas de mettre un drapeau dans l'ordre envoyé à cette action pour confirmer s'il s'agit d'un SL ou d'un TP.
Bien que pour vous, il n'existe pas de mot tel que "rien n'est impossible". Vous êtes des méta-citations :)
En d'autres termes, en regardant la structure de la transaction https://www.mql5.com/ru/docs/constants/structures/mqltradetransaction
J'ajouterais un champ TRADE_ACTION
les raisons pour lesquelles la commande a été passée, respectivementSL a déclenché
TP déclenché
Sortie d'une position par Stop Out
et d'autres, s'il y en a // bien que cela puisse être tout ce dont nous avons besoin.
Il y a un point ici, Renat.
MT5 comprend clairement quand le Stop Loss est activé et quand le Take Profit est activé. // Cela peut être vu dans les commentaires de la commande et dans la plateforme elle-même.
C'est ça le problème : il ne comprend pas et ne devrait pas comprendre.
Tout passe par des files d'attente d'exécution, les ordres sont divisés en simples BUY/SELL, avec des passerelles vers les fournisseurs de liquidités et les bourses. Il est impossible de dire comment il sera exécuté (y compris partiellement) dans la réalité. Et si nous proclamons soudainement que nous garantissons l'arrêt des drapeaux, papaklass nous accusera demain dans une juste colère que "ça n'a pas marché pour moi !".
C'est le problème : en réalité, ce n'est pas le cas et ça ne devrait pas l'être.
Tout fonctionne en files d'attente d'exécution, les ordres sont divisés en simples BUY/SELL, et passent par les passerelles vers les fournisseurs de liquidités et les bourses.
Oui, il se divise.
Mais cette action de fractionnement nécessite une action bien spécifique - l'activation du Stop Loss/StackProfit. Et ces actions sont traitées par le serveur de MT , et non par le terminal client.
Même si l'activation des stops n'a pas lieu dans MT, le résultat est toujours la création d'un ordre ou d'un événement réel pour MT5.
Je sais que je ne peux pas entrer dans les entrailles du serveur MT5, mais assurez-vous-en une fois de plus. Est-il possible de notifier l'action sur la base de laquelle la commande est passée ?
Lorsque le serveur (ou la passerelle) active un stoploop/stackprofit/stopout, etc., la réponse est de toute façon un ordre. // Rien ne se passe sans ordre !
Et ici, sur cette commande et mettre le drapeau approprié - la raison de placer cette commande ou l'événement.
Peut-être aurait-il fallu introduire une nouvelle structure, uniquement pour la TradeTransaction ?
Ce n'est pas si nouveau :) c'est très complet.
Il ne manque que deux champs
- identifiant de la position
- motif de la commande
Oui, il se divise.
Mais l'action pour ce fractionnement est très spécifique - activer stoploop/stackprofit. Et cette action est traitée par le serveur MT , et non par le terminal client.
La réponse est simple : il n'y a pas de garantie de signalement à 100%.
Parce qu'il existe de nombreuses sources et initiateurs de déclenchement, et qu'il n'est pas le seul serveur de négociation.
La réponse est simple : il n'y a pas de garantie de signalement à 100%.
Car il y a tellement de sources et de déclencheurs, et ce n'est en aucun cas le seul serveur commercial.
L'activation d'un stop loss est-elle vraiment gérée par plusieurs serveurs commerciaux ?
Il me semble qu'un seul serveur de négociation suffit à cet effet.
Ou dans MT, il peut y avoir des transactions sans ordre si le stop loss est géré par la passerelle ?Pour l'activation, un ordre est créé et la plateforme est notifiée de sa création. // par une passerelle externe
puis elle est versée. et les métiers apparaissent.
Il est compréhensible que la commande ne soit pas remplie, et que le reste soit retiré.
Mais au moment de la création de cet ordre, nous pouvons ajouter à la transaction un drapeau indiquant qu'il s'agit d'un ordre stop loss.
Le plus important est l'événement lui-même, à savoir qu'il s'agit d'un ordre pour un stop loss.
Mais vous le savez bien, je ne discuterai pas. C'est un point très subtil.
papaklass:
Et qui fait toute la conversation ?
Définitivement toi.
Vous essayez de troller. À quoi bon ?
Tenez-vous bien.
Pour notre part, nous réfléchissons à une communication indépendante entre agents sans terminal. Par exemple, l'un des agents peut générer des données initiales et les envoyer aux autres par fordcast.
Sans l'intervention du terminal, c'est bien.
Qui va générer les données pour cet "un des agents" ? Un script ou un indicateur pourra-t-il le faire ?
A quoi sert la communication entre les agents, éclairez les non-initiés si vous le pouvez.
J'ai déjà écrit un script pour tester les capacités de calculs mathématiques, mais certaines fonctions sont manquantes).