[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 50
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
Dans l'EA elle-même, l'ensemble du code est présenté.
Merci beaucoup à tous pour votre aide.
Bonjour. Veuillez aider une personne qui souffre.
Je viens de commencer à apprendre MQL et j'ai décidé d'écrire mon premier conseiller expert.
Je veux expliquer pourquoi il n'ouvre pas les ordres en attente et quel est le problème.
int OpenStops()
{
if(OrderSelect(CalculateCurrentOrders1(Symbol(),SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_BUY) // vérifier si un ordre d'achat est ouvert
int ticket ;
double LotSize=OrderLots() ; // taille du lot de l'ordre ouvert
double OpenPrice=OrderOpenPrice() ; // Prix ouvert de l'ordre d'ouverture
ticket=OrderSend(Symbol(),OP_SELLSTOP,LotSize*2,OpenPrice-DS*Point,0,SL*Point,TP*Point,"",MAGIC,0,Red) ; // Ouvrir un ordre de vente dans la direction opposée avant l'ordre d'ouverture
ticket=OrderSend(Symbol(),OP_BUYSTOP,Lot,OpenPrice+TP*Point,0,SL*Point,TP*Point,"",MAGIC,0,Blue) ; // ouvre une position d'achat pour la suite de l'ordre d'ouverture
if(OrderSelect(CalculateCurrentOrders1(Symbol())SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_SELL) // Vérifie la présence d'un ordre de vente ouvert.
ticket=OrderSend(Symbol(),OP_SELLSTOP,Lot,OpenPrice-TP*Point,0,SL*Point,TP*Point,"",MAGIC,0,Red) ; // ouvre un ordre d'achat en attente
ticket=OrderSend(Symbol(),OP_BUYSTOP,LotSize*2,OpenPrice+DS*Point,0,SL*Point,TP*Point,"",MAGIC,0,Blue) ; // ouvrir un ordre d'achat inversé en attente avant l'ordre d'ouverture
}
D'abord, apprenez à insérer le code correctement - via Counter+Alt+M - puis tout le reste...
D'abord, apprenez à insérer le code correctement - via Counter+Alt+M - puis tout le reste...
Pouvez-vous suggérer un script ou un EA pour afficher des informations à l'écran (spread, niveau de stop, trades ouverts, profit sur les trades, profit pour la journée, etc.) Merci.
Merci pour votre aide, cela m'a beaucoup aidé.
Je viens de commencer à apprendre MQL et j'ai décidé d'écrire mon premier Expert Advisor, mais j'ai un problème
dans le code, les ordres en attente ne s'ouvrent pas, s'il vous plaît dites-moi pourquoi et quel est le problème. C'est mieux.
Je ne vois pas le problème des ordres en attente dans le code, je dois juste demander pourquoi.
Dans l'ordre :
OrderSelect a CalculateCurrentOrders1 hors de la plage, le "POS" maximum serait CalculateCurrentOrders1(Symbol())-1. La construction if elle-même : si la condition est remplie, déclarez-vous une variable "ticket" ? Une accolade est clairement nécessaire quelque part. Je n'arrive même pas à comprendre ce que vous essayez de faire. Vous êtes manifestement au début d'un long chemin, j'aurais pu l'écrire pour vous, mais ce code n'a aucun sens, c'est une "tâche d'apprentissage", alors vous voulez le faire vous-même. Et à juste titre. Si vous avez des questions plus spécifiques, nous nous ferons un plaisir de vous aider.
Je me suis moi-même embrouillé avec vos parenthèses, alors j'ai corrigé le message.
Pouvez-vous suggérer un script ou un EA pour afficher des informations à l'écran (spread, niveau des stops, trades ouverts, profit sur les trades, profit pour aujourd'hui, etc.) Merci.
Tout, à l'exception de l'écran d'affichage, se trouve dans les onglets du terminal. Je doute que le scénario l'affiche plus clairement.
Et le spread en pips peut être affiché sur un graphique grâce à une ligne supplémentaire dans l'EA :
Commentaire((Ask - Bid) / Point) ;
Je suis fier de vous connaître.
ce n'est pas une pitié de prendre le temps de tout mâcher.
Bravo !
Merci !
Moi aussi.
sergeev - respect et respect)))
P.S. Désolé si je suis un peu hors sujet :))
Dans l'ordre :
OrderSelect a CalculateCurrentOrders1 hors de la plage, le "POS" maximum serait CalculateCurrentOrders1(Symbol())-1. La construction if elle-même : si la condition est remplie, déclarez-vous une variable "ticket" ? Une accolade est clairement nécessaire quelque part. Je n'arrive même pas à comprendre ce que vous essayez de faire. Vous êtes manifestement au début d'un long chemin, j'aurais pu l'écrire pour vous, mais ce code n'a aucun sens, c'est une "tâche d'apprentissage", alors vous voulez le faire vous-même. Et à juste titre. Si vous avez des questions plus spécifiques, nous nous ferons un plaisir de vous aider.
Z.I. J'ai moi-même été confondu par vos parenthèses, j'ai corrigé le message.
Merci beaucoup d'avoir souligné mon message.
L'idée est probablement beaucoup plus simple que mon code)))) L'idée de ce code est de fixer les ordres en attente par rapport au dernier ordre ouvert, respectivement par rapport au prix et au volume d'ouverture du dernier ordre ouvert.