[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 67

 
//+------------------------------------------------------
   for (i=0; i<OrdersTotal(); i++)
   {
      OrderSelect(i, SELECT_BY_POS );
      if (OrderSymbol() == Symbol())
      if (OrderMagicNumber() == 1000 && OrderType() == OP_BUY  && Bid-OrderOpenPrice() > 30*Point)
            OrderModify(OrderTicket(), OrderOpenPrice(), Bid-15*Point, OrderTakeProfit(), 0);
      if (OrderMagicNumber() == 2000 && OrderType() == OP_SELL && OrderOpenPrice()-Ask > 30*Point)
            OrderModify(OrderTicket(), OrderOpenPrice(), Ask+15*Point, OrderTakeProfit(), 0);
   }

   return(0);
//+------------------------------------------------------
 
MaxZ:
забыли проверку, что SL можно двигать только в одну сторону ;)
 
ilunga:
забыли проверку, что SL можно двигать только в одну сторону ;)

А пускай двигается в обе! :)))))

Пример, как огромный, сложно читаемый код можно оптимизировать до десяти строчек...

Хотя:

//+------------------------------------------------------
   for (i=0; i<OrdersTotal(); i++)
   {
      OrderSelect(i, SELECT_BY_POS );
      if (OrderSymbol() == Symbol())
      if (OrderMagicNumber() == 1000 && OrderType() == OP_BUY  && Bid-OrderOpenPrice() > 30*Point && Bid-OrderStopLoss() > 15*Point)
            OrderModify(OrderTicket(), OrderOpenPrice(), Bid-15*Point, OrderTakeProfit(), 0);
      if (OrderMagicNumber() == 2000 && OrderType() == OP_SELL && OrderOpenPrice()-Ask > 30*Point && OrderStopLoss()-Ask > 15*Point)
            OrderModify(OrderTicket(), OrderOpenPrice(), Ask+15*Point, OrderTakeProfit(), 0);
   }

   return(0);
//+------------------------------------------------------

p.s.: Я таким Tralling'ом никогда бы не воспользовался, но он соответствует логике Dimka-novitsek.

 
Dimka-novitsek:
Добрый день! Я что-то не пойму. Я решил себе прикрутить советнику трейлинг-стоп, а он все пишет ашибка 130. Ничего не магу понять, и вчера не мог.

Ваш советник открывает больше, чем одну позицию BUY или больше, чем одну позицию SELL?
 
Спасибо!
 
Да, поз много,но они бай и селл стопі,но они отложеные ордера,бай и селл стопы. Кагда цена пересекает ордер, он срабатывает, затем цена проходит еще 30 пунктов, потом срабатывает условие
f (price-OrderOpenPrice( )>30*Point)
 

Чтоб стоп не шол назад, я ввел пирименную, обьявив ее выше старта JUNpomnim, а пирименная JUN это разница между ценой и местом открытия ордера.Должно работать.

Щас, я всматрюсь в вылаженый тут код.

Спасибо!!!!

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

 
Щас, я как-то увижу ашибку.Номер ее.
 
Перенесено:
tymoxa75 11.08.2011 13:45

Всем привет меня зовут Игорь я увас новенький и сразу прошу о помощи.

Я работаю с советником ilan=1.6 и поставил 19 вот вопрос.На демке и работает все клас идет в прыбыль на реале какбы тоже самое но потихоньку идет в низ хотел проверить на тест а на тест незапускается как на демке так и на реале,пожалуйста подскажите как исправить. И ище при большой просадке хотел закрыть ордер а мне пишет торги закриты

 
Модефицирует, но не каждый ордер, закрытый по профиту, а седьмой, шестнадцатый, девяднадцатый, двадцать четвертый, тридцать второй-когда захочет!!!