//+------------------------------------------------------------------+ //| SetStop.mq4 | //| Copyright © 2010, Khlystov Vladimir | //| cmillion@narod.ru | //+------------------------------------------------------------------+ #property copyright "Copyright © 2016, Khlystov Vladimir" #property link "cmillion@narod.ru" #property version "1.00" #property strict #property description "советник выставляет стоп лосс и тейк профит у всех позиций в текущем окне, " #property description "если выставлено значение менее STOPLEVEL, то советник не меняет стоп." //-------------------------------------------------------------------- extern int stoploss = 50, //уровень выставления SL, если 0, то SL не изменяется takeprofit = 50; //уровень выставления TP, если 0, то TP не изменяется //-------------------------------------------------------------------- void OnTick() { int tip,Ticket; double SL,TP; double OOP,OSL,OTP; int STOPLEVEL = (int)MarketInfo(Symbol(),MODE_STOPLEVEL); int SPREAD = (int)MarketInfo(Symbol(),MODE_SPREAD); if (stoploss ",SL," TP ",OTP," -> ",TP); else Print(Symbol()," Error SetStop ",GetLastError()," Ticket ",Ticket); } if (tip==OP_SELL || tip==OP_SELLSTOP || tip==OP_SELLLIMIT) { if (takeprofit!=0) TP = NormalizeDouble(OOP - takeprofit*Point,Digits); else TP=OTP; if (stoploss!=0) SL = NormalizeDouble(OOP + (stoploss+SPREAD)* Point,Digits); else SL=OSL; if (OrderModify(Ticket,OOP,SL,TP,0,White)) Print("SetStop ",Ticket," SL ",OSL," -> ",SL," TP ",OTP," -> ",TP); else Print(Symbol()," Error SetStop ",GetLastError()," Ticket ",Ticket); } } } } } } //--------------------------------------------------------------------