[Archive] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 2. - page 397
![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
Oui, si vous le définissez comme x=0, il ira à zéro ; si vous le définissez comme x :, il n'ira pas à zéro, il augmentera.
C'est le bon chemin à suivre !!!!!
Je suis sûr que c'est réduit à zéro. Merci à tous, c'est un peu hilarant.
Guys une question plus compliquée......
Comment faire pour qu'un EA ferme tous les ordres lorsqu'un profit donné est atteint .... Fermer uniquement les ordres sur un symbole ...
Exemple : EA travaille sur 3 paires montant à fermer tous les ordres sur un symbole 100p ...
Si l'EUR a plus de 100p, il ne fermera que les ordres sur l'EUR alors que d'autres peuvent avoir 200p ...
Si je prends accountbalanse(), alors l'EA ne se fermera que lorsque la somme des trois paires sera supérieure à 100p. Cette option ne fonctionne pas pour moi ! !!!.
Aidez-nous s'il vous plaît.........
Probablement avec
Veuillez me dire ce qui ne va pas dans ce code. Le robot doit fermer un ordre de vente et s'il n'y en a pas, il doit acheter. L'erreur 4105 apparaît, que j'essaie de traiter, mais sans résultat. Peut-être y a-t-il d'autres façons de le traiter ?
PRICECURRENTPPROFIT est le niveau d'achat.
// ROBOT SELLS
// détermine s'il y a des ordres de vente
if (Bid>=PRICECURRENTPPROFIT && PRICECURRENTMPROFIT>0)
{
for(cnt=OrdersTotal();cnt>=0;cnt--)
{OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) ; mode = OrderType() ; if(OrderSymbol() == "EURUSD")
{if(mode == OP_BUY)
{go=OrderClose(OrderTicket(), Lots, Bid, slippage, Green) ;
}
}
} // Si ouvert, fermer
} if(go != true) {Print("Impossible d'ouvrir l'ordre SELL. Erreur N", GetLastError()) ;
switch(GetLastError()) {cas 4105 : OrderSend("EURUSD",OP_SELL,Lots,Bid,2*Point,0,0, "robot vend",MagicNumber,0,Red);break;}
}
Je veux y ajouter quelques fonctions pour qu'il soit ouvert à la vente et à l'achat, mais pour la vente et l'achat, il faut un numéro magique distinct.
Si un ordre Take Profit se déclenche, le robot ferme tous les ordres en cours. Je veux qu'il ferme tous les ordres en cours OP_SELLLIMIT et les laisse inchangés OP_BUYLIMIT, OP_BUY.
J'ai mis votre code, il ne compile pas. Quelle est l'erreur, je ne comprends pas. Mais le plus important, c'est que j'ai encore demandé, il doit y avoir une sorte d'erreur logique, les ordres sont ouverts à chaque tick, il est probable que cette partie ne fonctionne pas, et je ne peux pas le comprendre non plus ?