Можно ли OrderModify() применить несколько раз к одному ордеру?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Parenyothek
15
Parenyothek  


Подскажите пожалуйста, не могу второй раз модифицировать ордер верней он модифицируется но вечно! , а надо потом третий и возможно четвёртый раз. ХЕЛП МИ ПЛИЗ

                                        не могу различить OrderModify() друг от друга , пытался функцию написать под сигнал к модификации тоже не получилось 





if(CountSell() == 0  && (Bid >= PriceX))

     {
      ticket =  OrderSend(Symbol(),OP_SELL, Lots,Bid, Slippage,  0, 0, "TMA Robot", Magic, 0, Red);


      if(ticket > 0)
        {



         if(OrderSelect(ticket, SELECT_BY_TICKET))
            if(!  OrderModify(ticket,Bid, SlSell(), TpSell(), 0,Green))
               Print("Ошибка модификации ордера на продажу 1");

        }
      else
         Print("Ошибка открытия ордера на продажу");

     }

   if(SigyPriceY()==1)
     {
      if(OrderSelect(ticket, SELECT_BY_TICKET))
         if(! OrderModify(ticket,Bid, SlSell(), TpSell(), 0,Green))

            Print("Ошибка модификации ордера на продажу 2");


     }

   GetLastError();

                       Здесь корявая функция

int SigyPriceY()

  {


   int sigy = 0;

     {

      if(NormalizeDouble(Bid*Point,Digits)==NormalizeDouble(PriceY*Point,Digits))


         sigy=1;

      else

         sigy=0;

     }



   return (sigy);

  }

Dmitry Fedoseev
55854
Dmitry Fedoseev  
Можно хоть сколько раз модифицировать. Важно, что бы параметры правильные были. Что бы отличались от имеющихся параметров ордера и что бы были в допустимых пределах по минимальному стопуровню.
Parenyothek
15
Parenyothek  

Вот в том и проблемма что по параметрам OrderModify( ticket, price,tp,sl) я их отличить не могу и вторая модификация постоянно модифицирует! Как правильно их отличать? Ведь OrderModify() сам не может быть переменной!

Renat Akhtyamov
15130
Renat Akhtyamov  
OrderModify - Торговые функции - Справочник MQL4
OrderModify - Торговые функции - Справочник MQL4
  • docs.mql4.com
[in]  Цвет стрелок модификации StopLoss и/или TakeProfit на графике. Если параметр отсутствует, или его значение равно CLR_NONE, то стрелка на графике не отображается. Возвращает true при успешном завершении функции или false в случае ошибки. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError(). Цену открытия и время...
Ihor Herasko
20335
Ihor Herasko  
Parenyothek:

Вот в том и проблемма что по параметрам OrderModify( ticket, price,tp,sl) я их отличить не могу и вторая модификация постоянно модифицирует! Как правильно их отличать? Ведь OrderModify() сам не может быть переменной!

Ордера отличают друг от друга по тикету. Это уникальный идентификатор. Все остальное не уникальное, а, следовательно, по другим параметрам их различать нельзя, могут быть одинаковыми.

Ну а называть OrderModify() переменной - это уж перебор. 

Parenyothek
15
Parenyothek  
Как по тикету? если я модифицирую один и тот же тикет. А вот по "стрелкам" вариант спасибо. А есть ещё варианты?
Renat Akhtyamov
15130
Renat Akhtyamov  

так попробуйте, в обоих случаях

OrderModify(ticket, OrderOpenPrice(), ....

Вы же пытаетесь изменить цену рыночного ордера

К сожалению, так нельзя.

Evgeniy Zhdan
15268
Evgeniy Zhdan  
Вообще не понятен вопрос. Что но вечно?
Как надо, чтоб работало?
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий