//+------------------------------------------------------------------+ //| Libraries.mq4 | //| Copyright 2015, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property library #property copyright "Copyright 2015, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict //+------------------------------------------------------------------+ //| My function | //+------------------------------------------------------------------+ // int MyCalculator(int value,int value2) export // { // return(value+value2); // } //+-------------------------------------------------------------------+ //| Трейлинг стоп | //+-------------------------------------------------------------------+ void Trailing_stop(int Megic,string Symb,int Dist,int Shag,bool Isp_shag,bool Bezubitok) { double dist,shag; if(Digits==3 || Digits==5) {dist=Dist*10*Point; shag=Shag*10*Point;} else if(Digits==2 || Digits==4) {dist=Dist*Point; shag=Shag*Point;} for(int pos=0; posNormalizeDouble(dist,Digits)) OrderModify(OrderTicket(),0,Ask-dist,OrderTakeProfit(),0,CLR_NONE); if(Isp_shag && !Bezubitok && NormalizeDouble(Ask-OrderOpenPrice(),Digits)>=NormalizeDouble(shag,Digits) && NormalizeDouble(Ask-OrderStopLoss(),Digits)>NormalizeDouble(dist,Digits)) OrderModify(OrderTicket(),0,Ask-dist,OrderTakeProfit(),0,CLR_NONE); if(!Isp_shag && Bezubitok && NormalizeDouble(OrderStopLoss(),Digits)NormalizeDouble(dist,Digits)) OrderModify(OrderTicket(),0,Ask-dist,OrderTakeProfit(),0,CLR_NONE); if(Isp_shag && Bezubitok && NormalizeDouble(Ask-OrderOpenPrice(),Digits)>=NormalizeDouble(shag,Digits) && NormalizeDouble(OrderStopLoss(),Digits)NormalizeDouble(dist,Digits)) OrderModify(OrderTicket(),0,Ask-dist,OrderTakeProfit(),0,CLR_NONE); } else if(OrderType()==OP_SELL) { if(!Isp_shag && !Bezubitok && NormalizeDouble(OrderStopLoss()-Bid,Digits)>NormalizeDouble(dist,Digits)) OrderModify(OrderTicket(),0,Bid+dist,OrderTakeProfit(),0,CLR_NONE); if(Isp_shag && !Bezubitok && NormalizeDouble(OrderOpenPrice()-Bid,Digits)>=NormalizeDouble(shag,Digits) && NormalizeDouble(OrderStopLoss()-Bid,Digits)>NormalizeDouble(dist,Digits)) OrderModify(OrderTicket(),0,Bid+dist,OrderTakeProfit(),0,CLR_NONE); if(!Isp_shag && Bezubitok && NormalizeDouble(OrderStopLoss(),Digits)>NormalizeDouble(OrderOpenPrice(),Digits) && NormalizeDouble(OrderStopLoss()-Bid,Digits)>NormalizeDouble(dist,Digits)) OrderModify(OrderTicket(),0,Bid+dist,OrderTakeProfit(),0,CLR_NONE); if(Isp_shag && Bezubitok && NormalizeDouble(Ask-OrderOpenPrice(),Digits)>=NormalizeDouble(shag,Digits) && NormalizeDouble(OrderStopLoss(),Digits)>NormalizeDouble(OrderOpenPrice(),Digits) && NormalizeDouble(OrderStopLoss()-Bid,Digits)>NormalizeDouble(dist,Digits)) OrderModify(OrderTicket(),0,Bid+dist,OrderTakeProfit(),0,CLR_NONE); } } } } //+------------------------------------------------------------------+