Возможно ли?

 

Здравствуйте, тому кто читает!

Я новенькая на Форексе, по этому не судите строго если что!

У меня такой вопрос: возможно ли сделать советника, который, при приближении цены на задонное кол-во пунктов от уровня поддержки или сопротивления, начинал бы с каждым новым баром двигать тейк и обратный ордер по линии под. или сопр. к тому месту где цена коснётся линии. Если у меня не получилось объяснить внятно: допустим, я построила линию поддержки и поставила тейк поф. и обр. орд. на предпологаемое место касания ценой линии, но цена заболталась в пути и пришла к линии с опозданием на 4 часа. То есть она не коснётся моего тейк и обр.орд. так как, за это потерянное время граница канала оказалась выше. Если бы что то заставляло ордера двигатся по линиям, как по рельсам было бы здорово, не пришлось бы торчать у монитора. 

Это возможно?

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

Может эта статья будет Вам полезна.

 
Извините все на скорую руку если подойдет я исправлю ошибку которая выскакивает в тестере,но трал срабатывает...
void start()
     {
     Mod(20,0,0,10);
     }
 
void Mod(int step,int period,int shift,int bars)
        {
       double price_up = High[iHighest(NULL,0,MODE_HIGH,bars,0)];
       double price_dw = Low[iLowest(NULL,0,MODE_LOW,bars,0)]; 
       int cnt = OrdersTotal();
       for (int i=0; i<cnt; i++) {
       if (!(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))) continue;
       if (OrderSymbol() != Symbol()) continue;
       if (OrderType() == OP_BUY) {
       if (Bid-OrderOpenPrice() > step*Point ) {
       if (OrderStopLoss() < Bid-step*Point) {
          OrderModify(OrderTicket(), OrderOpenPrice(), price_dw, price_up, 0, Blue);
        }
      }
    }
    
        if (OrderType() == OP_SELL) {
        if (OrderOpenPrice()-Ask > step*Point ) {
        if (OrderStopLoss() > Ask+step*Point || OrderStopLoss() == 0 ) {
          OrderModify(OrderTicket(), OrderOpenPrice(), price_up, price_dw, 0, Blue);
        }
      }
    }
  }
   return(0);
}
 
Xupypr:

Может эта статья будет Вам полезна.

Очень интересная статья, Спасибо большое!

 
skywoker:
Извините все на скорую руку если подойдет я исправлю ошибку которая выскакивает в тестере,но трал срабатывает...
void start()      {      Mod(20,0,0,10);      }   void Mod(int step,int period,int shift,int bars)         {        double price_up = High[iHighest(NULL,0,MODE_HIGH,bars,0)];        double price_dw = Low[iLowest(NULL,0,MODE_LOW,bars,0)];         int cnt = OrdersTotal();        for (int i=0; i<cnt; i++) {        if (!(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))) continue;        if (OrderSymbol() != Symbol()) continue;        if (OrderType() == OP_BUY) {        if (Bid-OrderOpenPrice() > step*Point ) {        if (OrderStopLoss() < Bid-step*Point) {           OrderModify(OrderTicket(), OrderOpenPrice(), price_dw, price_up, 0, Blue);         }       }     }              if (OrderType() == OP_SELL) {         if (OrderOpenPrice()-Ask > step*Point ) {         if (OrderStopLoss() > Ask+step*Point || OrderStopLoss() == 0 ) {           OrderModify(OrderTicket(), OrderOpenPrice(), price_up, price_dw, 0, Blue);         }       }     }   }    return(0); }

О, как быстро! Спасибо!  Буду пробовать! Это нужно положить в скрипты?

 


А это конкретно по теме

'TRAYLER+'

 
skywoker:
Извините все на скорую руку если подойдет я исправлю ошибку которая выскакивает в тестере,но трал срабатывает...
void start()      {      Mod(20,0,0,10);      }   void Mod(int step,int period,int shift,int bars)         {        double price_up = High[iHighest(NULL,0,MODE_HIGH,bars,0)];        double price_dw = Low[iLowest(NULL,0,MODE_LOW,bars,0)];         int cnt = OrdersTotal();        for (int i=0; i<cnt; i++) {        if (!(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))) continue;        if (OrderSymbol() != Symbol()) continue;        if (OrderType() == OP_BUY) {        if (Bid-OrderOpenPrice() > step*Point ) {        if (OrderStopLoss() < Bid-step*Point) {           OrderModify(OrderTicket(), OrderOpenPrice(), price_dw, price_up, 0, Blue);         }       }     }              if (OrderType() == OP_SELL) {         if (OrderOpenPrice()-Ask > step*Point ) {         if (OrderStopLoss() > Ask+step*Point || OrderStopLoss() == 0 ) {           OrderModify(OrderTicket(), OrderOpenPrice(), price_up, price_dw, 0, Blue);         }       }     }   }    return(0); }

почему то не становится, я обнавила версию МТ, скомпелировала, молчит! Я всё правильно сделала?

 
Korey:


А это конкретно по теме

'TRAYLER+'


Спасибо!  Хотя, мне кажется, что это не совсем то, хотя тоже интересно.  Если меня интересует "Всё или не чего"? Допустим, я открываю сделку против тренда, на Н4, там обычно цена так болтается, что трейлинг сработает не успев толком отойти от линии под. Другими словами до противоположной граници ей не добраться!

 
этот трал просто пододвигает стоп и профит к границам канала но нужен и сам ордер... в том виде котором скрипт сейчас он будет работать если вы заключите сделку в ручную или вы можете добавить его в тело своего советника