//+------------------------------------------------------------------+ //| Pricetor v2.mq4 | //| Copyright © 2009, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2009, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" extern bool check=false; extern int PeriodP=12; extern double TrailingStop = 35;// расстояние после которого будем устанавливать безубыток extern double X=5;//установка в + 5 пунктов! //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int start() { double P_up0, P_down0, P_up1, P_down1; int cnt, total; P_up0=iCustom(Symbol(),Period(),"Ценовой канал",PeriodP,0,0); P_down0=iCustom(Symbol(),Period(),"Ценовой канал",PeriodP,1,0); P_up1=iCustom(Symbol(),Period(),"Ценовой канал",PeriodP,0,1); P_down1=iCustom(Symbol(),Period(),"Ценовой канал",PeriodP,1,1); for(cnt=OrdersTotal()-1;cnt>=0;cnt--) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if(OrderType()<=OP_SELL && OrderSymbol()==Symbol()) { if(OrderType()==OP_BUY) { if(P_down1>P_down0) { OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); return(0); } if(TrailingStop>0) { if(Bid-OrderOpenPrice()>Point*TrailingStop) { if(OrderStopLoss()0) { if((OrderOpenPrice()-Ask)>(Point*TrailingStop)) { if(NormalizeDouble(OrderStopLoss(),Digits) != NormalizeDouble(OrderOpenPrice()-X*Point,Digits)) { OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-X*Point,OrderTakeProfit(),0,Red); return(0); } } } } } if (check) Order_Open(); return(0); } //+------------------------------------------------------------------+ void Order_Open(){ if (OrdersTotal()<=1) { OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0,"",20080421,0); OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,0,"",20080421,0); } } //+------------------------------------------------------------------+