Возможно ли?
Спасибо, что отозвались! Ставлю равноудалённый канал по появляющимся вершинам.
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); }
Извините все на скорую руку если подойдет я исправлю ошибку которая выскакивает в тестере,но трал срабатывает...
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); }
О, как быстро! Спасибо! Буду пробовать! Это нужно положить в скрипты?
А это конкретно по теме
Извините все на скорую руку если подойдет я исправлю ошибку которая выскакивает в тестере,но трал срабатывает...
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); }
почему то не становится, я обнавила версию МТ, скомпелировала, молчит! Я всё правильно сделала?
Спасибо! Хотя, мне кажется, что это не совсем то, хотя тоже интересно. Если меня интересует "Всё или не чего"? Допустим, я открываю сделку против тренда, на Н4, там обычно цена так болтается, что трейлинг сработает не успев толком отойти от линии под. Другими словами до противоположной граници ей не добраться!
Здравствуйте, тому кто читает!
Я новенькая на Форексе, по этому не судите строго если что!
У меня такой вопрос: возможно ли сделать советника, который, при приближении цены на задонное кол-во пунктов от уровня поддержки или сопротивления, начинал бы с каждым новым баром двигать тейк и обратный ордер по линии под. или сопр. к тому месту где цена коснётся линии. Если у меня не получилось объяснить внятно: допустим, я построила линию поддержки и поставила тейк поф. и обр. орд. на предпологаемое место касания ценой линии, но цена заболталась в пути и пришла к линии с опозданием на 4 часа. То есть она не коснётся моего тейк и обр.орд. так как, за это потерянное время граница канала оказалась выше. Если бы что то заставляло ордера двигатся по линиям, как по рельсам было бы здорово, не пришлось бы торчать у монитора.
Это возможно?