Ошибка ordermodify error 1, раньше её не было, не знаю что делать?

 

Всем привет! Тема понимаю заезжена, но прошу проявить терпение. Сова уже год, как работает на впс, всё было замечательно. Начал её модифицировать и в Тестере выдаёт постоянно ошибку ordermodify error 1. Я взял с ВПС не тронутую моим гением сову, запустил в тестере и опять та же ошибка. Перерыл интернет и форум, понял что советник жалуется, при модификации ордера, что цена мол такая уже есть, мол чего её менять. Вообщем я в тупике помогите!!!. Вот кусок кода:

// Выставляем новый ордер

  ticket=OrderSend(Symbol(),OP_SELL,Lot,Bid,Slippage,0,0,comment,Magic,0,Red);

  if(ticket<0)

  {  Alert(Symbol(),"  Ошибка продажи"); return; }

  RefreshRates();


  Sum = 0; countt=0;  // Вычисляем усредненную цену открытия ордеров

  for(t=0; t<OrdersTotal(); t++)

    if(OrderSelect(t,SELECT_BY_POS))

    if(OrderMagicNumber() == Magic && OrderSymbol() ==Symbol())

    if(OrderType() == OP_SELL) { Sum+=OrderOpenPrice(); countt++; }

  SredTPSell=NormalizeDouble(Sum/countt-PlusTP*Point, Digits);

  

  for(t=0; t<OrdersTotal(); t++) // Модифицируем ордера, ставим TakeProfit 

    if(OrderSelect(t, SELECT_BY_POS))

    if(OrderMagicNumber() == Magic && OrderSymbol() == Symbol())

    if(OrderType() == OP_SELL)

      Result=OrderModify(OrderTicket(),OrderOpenPrice(),0,SredTPSell,0);

  }

}

  Логика кода следующая: Открываем сделку, в рынке уже минимум одна сделка если добрались до этого места. Складываем цены открытия делим на общее количество сделок, получаем средний ТП SredTPSell Далее в цикле перебираем все сделки sell и изменяем их ТП на SredTPSell.   

 
if ((OrderType() == OP_SELL) && (SredTPSell != OrderTakeProfit()))
  Result=OrderModify(OrderTicket(),OrderOpenPrice(),0,SredTPSell,0);
 
Artem Onopin:

Всем привет! Тема понимаю заезжена, но прошу проявить терпение. Сова уже год, как работает на впс, всё было замечательно. Начал её модифицировать и в Тестере выдаёт постоянно ошибку ordermodify error 1. Я взял с ВПС не тронутую моим гением сову, запустил в тестере и опять та же ошибка. Перерыл интернет и форум, понял что советник жалуется, при модификации ордера, что цена мол такая уже есть, мол чего её менять. Вообщем я в тупике помогите!!!. Вот кусок кода:

...  

Логика кода следующая: Открываем сделку, в рынке уже минимум одна сделка если добрались до этого места. Складываем цены открытия делим на общее количество сделок, получаем средний ТП SredTPSell Далее в цикле перебираем все сделки sell и изменяем их ТП на SredTPSell.   


Ну вот, ответ на ваш вопрос вы уже сами и написали, осталось исправить код. Что именно вам кажется сложным в сравнении ТП ордера с предлагаемым к модификации ТП?

О, пока писал, уже и конкретный код подсказали. Но если вам всё время готовые подсказки давать, так ничего и не выучите.
 
fxsaber:

Спасибо!
Причина обращения: