[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 216
![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
Est-ce possible ? DoC offre de clôturer un ordre à un meilleur prix ???? C'est la première fois que j'entends parler d'une société de courtage aussi négligente.
Le robot n'était pas stupide, par définition il ne peut pas être stupide.
Il faut simplement corriger le code, si tu veux tu peux l'exposer ici et tu peux aider ici, tu peux écrire dans ton message personnel et sûrement aussi tu aideras.
1. Oui, c'est arrivé - c'est clair dans le journal.
2. J'ai utilisé le mot "stupide" dans un sens figuré, c'est-à-dire que quelque chose n'allait pas dans le code.
3. Voici le code de pose de la fermeture :
Mais la pose ne se ferme pas toujours, et ce n'est pas une erreur, c'est considéré comme normal, un message comme celui-ci vient du serveur :
2009.09.08 00:44:42 '64766' : requote 1.51893 / 1.51933 pour l'ordre #11573500 sell 1.80 EURCHF closing at 1.51914
Comme vous le savez, cela signifie que le prix a changé à court terme pendant que la demande de clôture était envoyée au serveur.
Et le serveur propose un nouveau prix de clôture. Le serveur a le temps de répondre - 3 secondes. Et voilà le problème : le serveur refuse de clôturer l'ordre au nouveau prix !
Comment cela se produit n'est pas clair... Aidez-moi à comprendre, s'il vous plaît.
Les gars, veuillez expliquer la signification du point d'exclamation (!ExistPosition).
if(cnt > 0 && !ExistPosition(OP_BUY) && Ask <= prix - PipsForOpenMore * Point)
Les gars, veuillez expliquer la signification du point d'exclamation (!ExistPosition).
if(cnt > 0 && !ExistPosition(OP_BUY) && Ask <= prix - PipsForOpenMore * Point)
La traduction littérale de cette ligne sera
si cnt est SUPÉRIEUR à 0 et que la fonction ExistPosition(OP_BUY) renvoie FALSE et que Ask est INFÉRIEUR ou égal au prix - PipsForOpenMore * Point, alors....
Le " !" est une négation. Si ce n'était pas le cas, la condition if supposerait que la fonction ExistPosition(OP_BUY) devrait renvoyer TRUE.
Bonjour, Pourriez-vous m'indiquer comment attraper et gérer dans un EA le cas de la fermeture d'une transaction au niveau du stoploss ou du takeprofit. >> Merci.
Voulez-vous que quelque chose soit exécuté avant la fermeture sur le stop/profit ?
Voulez-vous que quelque chose soit exécuté avant la fermeture sur le stop/profit ?
Non, juste après la fermeture.
OrdersTotal() - retournera 0 dès que la commande aura été fermée.
En conséquence, si OrdersTotal() renvoie 0, alors vous effectuez le traitement...
C'est le cas lorsqu'un seul ordre est ouvert.
Si vous décrivez votre situation plus en détail, ce que vous voulez faire après la clôture de la commande, alors je serai en mesure de vous donner une meilleure réponse :)
Je ne comprends pas la logique.
Pouvez-vous l'expliquer plus précisément, à partir d'un exemple ?
3. Voici le code pour fermer la position :
Augmentez la valeur du slippage à 50, vous avez 5 chiffres, donc 0,3 pips ne fonctionne pas.
Bonjour, pourriez-vous m'indiquer comment capturer et gérer dans mon EA le cas de la clôture d'une transaction au niveau du Stop Loss ou du Take Profit. >> Merci.
Regardez la dernière commande dans l'historique, déterminez le type de commande.
Par exemple pour une position longue :
Si l'ordre a été clôturé à un prix égal ou inférieur au stop loss, il s'agissait d'un stop loss.
Si le prix est égal ou supérieur à TakeProfit - TakeProfit.