[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 1099

 
kolyango:

Si un ordre OP_BUY est ouvert et que son Stoploss est 100 pips en dessous de son prix d'ouverture, mais que le prix réel s'est éloigné de 80 pips ou plus du prix de l'ordre ouvert, nous devons déplacer le Stoploss à 50 pips au-dessus du prix d'ouverture de l'ordre. A quoi cela ressemblerait-il ? Je veux dire le code. En fait, comment devons-nous marquer une telle condition ?

Если установленная в ордере цена Stoploss меньше цены откр. ордера, то

если настоящая цена больше или равна 80 п. от цены откр. ордера, то

перемодефицировать ордер и переставить Stoploss на 50 п. больше цены откр. ордера.

Que quelqu'un m'aide à mettre en place une telle condition... ! !!


https://www.mql4.com/ru/search/?keyword=%D1%82%D1%80%D0%B5%D0%B9%D0%BB%D0%B8%D0%BD%D0%B3
 

Qu'est-ce que la polarisation ?

 


Et quelle est la variable prédéfinie pour le prix auquel le StopLoss est fixé sur l'ordre de marché OP_BUY ? S'il y en a un, bien sûr. N'est-ce pas ?

OrderStopLoss()

 
kolyango:

Et quelle est la variable prédéfinie pour le prix auquel le StopLoss est fixé sur un ordre de marché OP_BUY ? S'il y en a un, bien sûr.

https://www.mql5.com/ru/search/
 

Si un ordre OP_BUY est ouvert et que son Stoploss est 100 pips en dessous de son prix d'ouverture, mais que le prix réel s'est éloigné de 80 pips ou plus du prix de l'ordre ouvert, nous devons déplacer le Stoploss à 50 pips au-dessus du prix d'ouverture de l'ordre. A quoi cela ressemblerait-il ? Je veux dire le code. Comment marquer un tel état ?

Après que les commandes aient été essayées :

Если установленная в ордере цена Stoploss меньше цены откр. ордера, то

если настоящая цена больше или равна 80 п. от цены откр. ордера, то

перемодефицировать ордер и переставить Stoploss на 50 п. больше цены откр. ордера.

Que quelqu'un m'aide à mettre en place une telle condition... !

Le début serait probablement comme ceci (1ère condition) ?

if (OrderOpenPrice()>OrderStopLoss())

 
kolyango:

Si un ordre OP_BUY est ouvert et que son Stoploss est 100 pips en dessous de son prix d'ouverture, mais que le prix réel s'est éloigné de 80 pips ou plus du prix de l'ordre ouvert, nous devons déplacer le Stoploss à 50 pips au-dessus du prix d'ouverture de l'ordre. A quoi cela ressemblerait-il ? Je veux dire le code. Comment marquer un tel état ?

Après que les commandes aient été essayées :

Если установленная в ордере цена Stoploss меньше цены откр. ордера, то

если настоящая цена больше или равна 80 п. от цены откр. ордера, то

перемодефицировать ордер и переставить Stoploss на 50 п. больше цены откр. ордера.

Que quelqu'un m'aide à mettre en place une telle condition... !

Le début serait probablement comme ceci (1ère condition) ?

if (OrderOpenPrice()>OrderStopLoss())



if(OrderType==OP_BUY){
if(OrderStopLoss()==0.0 && SL!=0 || OrderTakeProfit()==0.0 && TP !=0)
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-SL*Point,Digits),NormalizeDouble(Bid+TP*Point,Digits),0, Blue) ;
if(NormalizeDouble(Bid-OrderOpenPrice(),Digits)>NormalizeDouble((Trailing+MinProfit)*Point,Digits)){
if(NormalizeDouble(Bid-Trailing*Point,Digits)>OrderStopLoss() || OrderStopLoss()<=0.0)
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-Trailing*Point,Digits),OrderTakeProfit(),0, Ivory) ;

}}

 
DhP:


if(OrderType==OP_BUY){
if(OrderStopLoss()==0.0 && SL!=0 || OrderTakeProfit()==0.0 && TP!=0)
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-SL*Point,Digits),NormalizeDouble(Bid+TP*Point,Digits),0, Blue) ;
si(NormalizeDouble(Bid-OrderOpenPrice(),Digits)>NormalizeDouble((Trailing+MinProfit)*Point,Digits)){
if(NormalizeDouble(Bid-Trailing*Point,Digits)>OrderStopLoss() || OrderStopLoss()<=0.0)
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-Trailing*Point,Digits),OrderTakeProfit(),0, Ivory) ;

}}

Si un ordre OP_BUY est ouvert et que son prix Stoploss est 100 pips en dessous de son prix ouvert et que le prix réel a augmenté de 80 pips ou plus par rapport au prix ouvert, nous devons déplacer notre Stoploss de 50 pips au-dessus du prix ouvert de l'ordre. A quoi cela ressemblerait-il ? Je veux dire le code. Comment marquer un tel état ?

Après que les commandes aient été essayées :



Если установленная в ордере цена Stoploss меньше цены откр. ордера, то

если настоящая цена больше или равна 80 п. от цены откр. ордера, то

перемодефицировать ордер и переставить Stoploss на 50 п. больше цены откр. ордера.

Que quelqu'un m'aide à mettre en place une telle condition... ! !!

Et il modifiera constamment l'ordre en fonction du prix réel et non seulement du StopLoss, mais aussi du TakeProfit ! Ou pas ?


if(OrderType==OP_BUY) // Здесь понятно! Если ордер на покупку
{
if(OrderStopLoss()==0.0 && SL!=0 || OrderTakeProfit()==0.0 && TP!=0) //
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-SL*Point,Digits),NormalizeDouble(Bid+TP*Point,Digits),0, Blue);
if(NormalizeDouble(Bid-OrderOpenPrice(),Digits)>NormalizeDouble((Trailing+MinProfit)*Point,Digits))
{
if(NormalizeDouble(Bid-Trailing*Point,Digits)>OrderStopLoss() || OrderStopLoss()<=0.0)
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-Trailing*Point,Digits),OrderTakeProfit(),0, Ivory);
}
}
Aidez à déchiffrer ce que ce code va faire et dans quelles conditions ?
 
kolyango:

Si un ordre OP_BUY est ouvert et que son Stoploss est 100 pips en dessous de son prix d'ouverture, mais que le prix réel s'est éloigné de 80 pips ou plus du prix de l'ordre ouvert, nous devons déplacer le Stoploss à 50 pips au-dessus du prix d'ouverture de l'ordre. A quoi cela ressemblerait-il ? Je veux dire le code. En fait, comment devons-nous marquer une telle condition ?

Если установленная в ордере цена Stoploss меньше цены откр. ордера, то

если настоящая цена больше или равна 80 п. от цены откр. ордера, то

перемодефицировать ордер и переставить Stoploss на 50 п. больше цены откр. ордера.

Que quelqu'un aide à mettre en place une telle condition... !!!

Je vois que nous ne voulons pas y penser. Mais néanmoins... Jetez un coup d'œil à ce fil de discussion - vous y trouverez de nombreuses fonctions prêtes à l'emploi, en particulier le trailing stop, dont vous avez besoin.

Apprenez à maîtriser le code qui fonctionne déjà - et vous pourrez ensuite l'écrire exactement comme vous le souhaitez...

 
kolyango:

Et il modifiera constamment l'ordre en fonction du prix réel et non seulement du StopLoss, mais aussi du TakeProfit ! Ou pas ?


if(OrderType==OP_BUY)
{
if(OrderStopLoss()==0.0 && SL!=0 || OrderTakeProfit()==0.0 && TP!=0)
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-SL*Point,Digits),NormalizeDouble(Bid+TP*Point,Digits),0, Blue);
if(NormalizeDouble(Bid-OrderOpenPrice(),Digits)>NormalizeDouble((Trailing+MinProfit)*Point,Digits))
{
if(NormalizeDouble(Bid-Trailing*Point,Digits)>OrderStopLoss() || OrderStopLoss()<=0.0)
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-Trailing*Point,Digits),OrderTakeProfit(),0, Ivory);
}
}

Au début, il ne définira que le Stop Loss et le Take Profit.

Ensuite, il parcourt le profit, en commençant par le niveau MinProfit.

 
DhP:

Le Stop Loss et le Take Profit ont déjà été définis ! Si le StopLoss fixé est inférieur au prix d'ouverture de l'ordre, il suffit de déplacer le StopLoss au-dessus du prix d'ouverture de 50 pips (à la perte) si le prix actuel est supérieur ou égal à 80 pips du prix d'ouverture de l'ordre. Et vous n'avez pas besoin de réarranger constamment les StopLoss et TakeProfit !