[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 1099

 
kolyango:

如果一个OP_BUY订单是开放的,它的止损是在其开放价格以下100点,但实际价格已经远离开放订单价格80点或更多,我们必须将止损移动到订单开放价格以上50点。它看起来会如何?我是说代码。事实上,我们应该如何标记这样的条件?

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

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

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

有人帮助实施这样的条件......!


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

什么是极化?

 


在OP_BUY市场订单上设置StopLoss的价格的预定义变量是什么?当然,如果有的话。对吗?

OrderStopLoss()

 
kolyango:

在OP_BUY市场订单上设置StopLoss的预定义价格变量是什么?当然,如果有的话。

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

如果一个OP_BUY订单是开放的,它的止损是在其开放价格以下100点,但实际价格已经远离开放订单价格80点或更多,我们必须将止损移动到订单开放价格 以上50点。它看起来会如何?我是说代码。我们应该如何标记这样的状况?

在命令被试用后。

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

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

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

谁来帮我实现这样的条件......!?

开头可能会是这样的(第一条件)?

if (OrderOpenPrice()>OrderStopLoss())

 
kolyango:

如果一个OP_BUY订单是开放的,它的止损是在其开放价格以下100点,但实际价格已经远离开放订单价格80点或更多,我们必须将止损移动到订单开放价格以上50点。它看起来会如何?我是说代码。我们应该如何标记这样的状况?

在命令被试用后。

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

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

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

谁来帮我实现这样的条件......!?

开头可能会是这样的(第一条件)?

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:


如果(OrderType==OP_BUY){
如果(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)。
如果(NormalizeDouble(Bid-OrderOpenPrice(),Digits)>NormalizeDouble((Trailing+MinProfit)*Point, Digits)){
如果(NormalizeDouble(Bid-Trailing*Point,Digits)>OrderStopLoss() || OrderStopLoss() <=0.0)
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-Trailing*Point,Digits),OrderTakeProfit(),0, Ivory)。

}}

如果一个OP_BUY订单是开放的,其止损价格比其开放价格低100点,而实际价格已经远离开放订单价格80点或更多,我们必须将止损价格比订单开放价格高50点。它看起来会如何?我是说代码。我们应该如何标记这样的状况?

在命令被试用后。



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

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

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

有人帮助实施这样的条件......!

它将根据实际价格和不仅是止损,而且是止盈不断地修改订单!还是不会呢?


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);
}
}
帮助破译这个代码将做什么,在什么条件下?
 
kolyango:

如果一个OP_BUY订单是开放的,它的止损是在其开放价格以下100点,但实际价格已经远离开放订单价格80点或更多,我们必须将止损移动到订单开放价格以上50点。它看起来会如何?我是说代码。实际上,我们应该如何标记这样的条件?

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

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

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

谁来帮助实现这样的条件......!!

我看到我们不愿意考虑这个问题。但尽管如此...看看 这个主题- 你会发现很多现成的功能,特别是你需要的追踪止损。

掌握已经在工作的代码--然后你就可以按照你想要的方式来写它了。

 
kolyango:

它将根据实际价格和不仅是止损,而且是止盈不断地修改订单!还是没有?


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

起初,它只会设置止损和止盈。

然后,它从MinProfit水平开始,对利润进行追踪。

 
DhP:

止损和止盈已经设置好了!如果设定的止损点小于订单的开盘价,那么,如果当前价格与订单的开盘价相差80点以上,你只需要将止损点在开盘价以上移动50点(至亏损处)。而且你不必不断地重新安排StopLoss和TakeProfit!
原因: