Движение стопа

 
как для текущего ордера проверить исполнялся ли OrderModify или нет?
 
Что Вы под этим подразумеваете? Модификация параметров ордера не оставляет явных следов, то есть, если Вы не знали исходное состояние ордера(SL и/или TP), то не сможете проверить изменение.
 
вот это и имею ввиду,спасибо за ответ
 
Rosh писал (а):
Что Вы под этим подразумеваете? Модификация параметров ордера не оставляет явных следов, то есть, если Вы не знали исходное состояние ордера(SL и/или TP), то не сможете проверить изменение.


А заглянуть в журнал нельзя ? Конечно , проводить такую проверку на каждом тике накладно, но, например, раз в день ?

Или лучше сохранять параметры ордера для сравнения ?

Хотя, результаты такой проверки малоинформативны, разве что, получить точное время модификации.

 
суть задачи остоновить модификацию если стоп в безубыточное положение залез я остонавливаю сравнивая цену открытия и текущую, просто хотелось попроще
 
Сделай доп.переменую и присваивай ей значение true, когда сделал модификацию ордера. Всё.
 
вот похоже то что нужно попробую
 
skywoker:
суть задачи остоновить модификацию если стоп в безубыточное положение залез

Аргументы:
StopLossLHonlyProfit - bool флаг, тянуть ли только один раз.
StopLossLHpips - на сколько пипсов ушло в безубыток движение.
Тогда:

         if (OrderType() == OP_BUY) // открыта длинная позиция
         {
            RefreshRates();
 
            new_stoploss = ???; // calc s/l
            if (new_stoploss > OrderStopLoss())
            {
               if (
                     (StopLossLHonlyProfit
                     && (new_stoploss > (OrderOpenPrice() + ((spread + StopLossLHpips) * Point) )))
                     || (!StopLossLHonlyProfit)
                  )
               {
                  // modify s/l
                  if (!OrderModify(OrderTicket(), OrderOpenPrice(), 
                     new_stoploss,
                     OrderTakeProfit(),
                     0))
                     PrintErrMessage("OrderModify() FAILED ");
               }
            }
         }
 
         if (OrderType() == OP_SELL) // открыта короткая позиция
         {
            RefreshRates();
 
            new_stoploss = ???; // calc s/l
 
            if (new_stoploss < OrderStopLoss())
            {
               if (
                     (StopLossLHonlyProfit
                     && (new_stoploss < (OrderOpenPrice() - ((spread + StopLossLHpips) * Point) )))
                     || (!StopLossLHonlyProfit)
                  )
               {
                  // modify s/l
                  if (!OrderModify(OrderTicket(), OrderOpenPrice(), 
                     new_stoploss,
                     OrderTakeProfit(),
                     0))
                     PrintErrMessage("OrderModify() FAILED ");
               }
            }
         }
      }
Как-то так.
 
chv, PrintErrMessage()???
Типа, любопытно... :-)
 
голову сломал уже не выходит ниче покажете в примере как остонавить движение после 12 пунктов прохождения цены в нужном направлении
Файлы:
 
KimIV:
chv, PrintErrMessage()???
Типа, любопытно... :-)
Благодарю... нашёл здесь Существует ли библиотека для MQL4 по линейной алгебре?
Причина обращения: