![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
Si vous exécutez cet EA sur un compte sans positions ou ordres actuels.
puis fermez manuellement la position ouverte par l'EA, il y aura alors trois positions ouvertes sur le hedge (sur la compensation de la position triple volume).
Est-ce le bon comportement ? Je n'ai probablement pas bien compris le terminal. Alors, veuillez clarifier.
Tout d'abord, vous devez lire l'aide.
https://www.mql5.com/ru/docs/event_handlers/ontrade
Veuillez noter :
En termes simples, le gestionnaire OnTrade() peut être appelé pour chaque transaction individuelle. La conséquence de la clôture d'une position peut être l'arrivée de plusieurs transactions distinctes.
Ceci est facilement vérifiable - il suffit d'ajouter Print() à OnTrade() de votre exemple.
De plus, je veux attirer votre attention sur votre test précédent où vous vous attendez en vain à connaître le ticket de commande via OrderSendAsync().
De plus, je veux attirer votre attention sur le fait que, d'après votre test précédent, vous espérez en vain trouver le ticket de commande via OrderSendAsync().
Il semble qu'il n'y en ait nulle part. Seul HistorySelect est en retard dans OnTrade.
Il ne semble pas être là, nulle part. Seuls les décalages de HistorySelect dans OnTrade sont affichés.
La première chose à faire est de lire la fiche d'information.
https://www.mql5.com/ru/docs/event_handlers/ontrade
Veuillez noter :
En termes simples, le gestionnaire OnTrade() peut être appelé pour chaque transaction individuelle. La conséquence de la clôture d'une position peut être l'arrivée de plusieurs transactions distinctes.
Il est facile de le vérifier - il suffit d'ajouter Print() à OnTrade() de votre exemple.
Bien sûr, j'ai fait l'empreinte. La question ne portait pas sur le nombre d'appels OnTrade mais sur le nombre de positions ouvertes.
Après le premier OnTrade, un ordre au marché est placé. Lors du prochain OnTrade, cet ordre de marché ne doit pas permettre l'ouverture d'autres ordres par la condition. Mais dans le OnTrade suivant, la somme de OrdersTotal() + PositionsTotal() est également nulle. Est-ce correct ?
Merci, je n'avais pas vu le morceau de copier-coller.
Il ne semble pas être là, nulle part. Seuls les décalages HistorySelect dans OnTrade sont affichés.
La mise en cache des sélections de commandes est encore améliorée aujourd'hui, elle sera en version bêta dans quelques heures.
La mise en cache des sélections de commandes est encore améliorée aujourd'hui, elle sera en version bêta dans quelques heures.
Voulez-vous dire HistorySelect ? Le lien automatique ne mène pas à OrderSelect.
Savez-vous pourquoi mt5 ne dispose pas de l'onglet "Commissions" ? Ils n'apparaissent qu'après la clôture d'une transaction.
Savez-vous pourquoi mt5 ne dispose pas de l'onglet 'Commissions' ? Ils n'apparaissent qu'après la clôture d'une transaction.
J'ai fait l'impression, bien sûr. La question n'était pas le nombre d'appels OnTrade, mais le nombre de positions ouvertes.
Après le premier OnTrade, un ordre au marché est placé. Lors du prochain OnTrade, cet ordre de marché ne doit pas permettre l'ouverture d'autres ordres par la condition. Mais dans le OnTrade suivant, la somme de OrdersTotal() + PositionsTotal() est également nulle. Est-ce correct ?
Tout est dans l'aide : https://www.mql5.com/ru/docs/trading/ordersendasync
Tout est dans l'aide : https://www.mql5.com/ru/docs/trading/ordersendasync
https://www.mql5.com/ru/docs/constants/tradingconstants/orderproperties#enum_order_state
Chaque ordre a un statut qui décrit son état. Pour obtenir des informations, utilisez la fonctionOrderGetInteger() ouHistoryOrderGetInteger() avec le modificateur ORDER_STATE. Les valeurs valides sont enregistrées dans l'énumération ENUM_ORDER_STATE.
ENUM_ORDER_STATE
Identifiant
Description
ÉTAT_DE_LA_COMMANDE_DÉMARRÉ
Commande dont l'exactitude a été vérifiée, mais qui n'a pas encore été acceptée par le courtier.
L'état de départ ne se produit-il pas après un OrderSendAsync réussi ?