[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

 

Dans l'EA elle-même, l'ensemble du code est présenté.

Merci beaucoup à tous pour votre aide.

 
Sergstuddek:

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...
 
Roman.:
D'abord, apprenez à insérer le code correctement - via Counter+Alt+M - puis tout le reste...
Вот в этом окошке будет код, если воспользоваться кнопкой SRC на верхней панели
 

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.

 
granit77:



Merci pour votre aide, cela m'a beaucoup aidé.
 
Bonjour. Veuillez aider une personne qui souffre.

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.
int OpenStops()
{
if(OrderSelect(CalculateCurrentOrders1(Symbol()),SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_BUY) // Проверка на то что открытый ордер на покупку
int ticket;
double LotSize=OrderLots(); // Размер лота открытого ордера
double OpenPrice=OrderOpenPrice(); // Цена открытия открытого ордера
ticket=OrderSend(Symbol(),OP_SELLSTOP,LotSize*2,OpenPrice-DS*Point,0,SL*Point,TP*Point,"",MAGIC,0,Red); // Открытие отложки на продажу в противополжну сторону до открытого ордера 
ticket=OrderSend(Symbol(),OP_BUYSTOP,Lot,OpenPrice+TP*Point,0,SL*Point,TP*Point,"",MAGIC,0,Blue); // Открытие отложки на покупку в сторону продолжения до открытого ордера

if(OrderSelect(CalculateCurrentOrders1(Symbol()),SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_SELL) // Проверка на то что открытый ордер на продажу
ticket=OrderSend(Symbol(),OP_SELLSTOP,Lot,OpenPrice-TP*Point,0,SL*Point,TP*Point,"",MAGIC,0,Red); // Открытие отложки на покупку в сторону продолжения до открытого ордера
ticket=OrderSend(Symbol(),OP_BUYSTOP,LotSize*2,OpenPrice+DS*Point,0,SL*Point,TP*Point,"",MAGIC,0,Blue); // Открытие отложки на покупку в противополжну сторону до открытого ордера
}
C'est mieux.
Dossiers :
 
Sergstuddek:

Je ne vois pas le problème des ordres en attente dans le code, je dois juste demander pourquoi.

Dans l'ordre :

if(OrderSelect(CalculateCurrentOrders1(Symbol()),SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_BUY) // Проверка на то что открытый ордер на покупку
int ticket;

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.

 
prom18:

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) ;

 
Sorento:

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 :))

 
Figar0:

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.