#property link "http://scoala-forex.blogspot.com/" extern int MagicNumber=99999; extern double Lots =0.01; extern double StopLoss=0; extern double TakeProfit=0; extern int TrailingStop=30; extern int Slippage=3; extern int BreakEven=0; extern int OpenTrades=1; datetime prevTime; int start() { if(BreakEven>0)MoveBreakEven(); double MyPoint=Point; if(Digits==3 || Digits==5) MyPoint=Point*10; double TheStopLoss=0; double TheTakeProfit=0; if (prevTime==Time[0]) return(0); prevTime=Time[0]; if( TotalOrdersCount()iMA(NULL,0,800,0,MODE_SMA,PRICE_CLOSE,0))&&(Close[0]>Close[1])&&*/(Close[0]>iMA(NULL,0,200,0,MODE_SMA,PRICE_CLOSE,0))&&(iRSI(NULL,0,14,PRICE_CLOSE,0)>50)&&(iStochastic(NULL,0,14,3,7,MODE_SMA,1,MODE_SIGNAL,0)<20)&&(iStochastic(NULL,0,14,3,7,MODE_SMA,1,MODE_MAIN,0)<20)&&(iStochastic(NULL,0,14,3,7,MODE_SMA,1,MODE_MAIN,0)>iStochastic(NULL,0,14,3,7,MODE_SMA,1,MODE_SIGNAL,0))/*&&(iCCI(NULL,0,14,PRICE_CLOSE,0)>0)*/) // Here is your open buy rule { result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,"EA M5 Hybrid",MagicNumber,0,Blue); if(result>0) { TheStopLoss=0; TheTakeProfit=0; if(TakeProfit>0) TheTakeProfit=Ask+TakeProfit*MyPoint; if(StopLoss>0) TheStopLoss=Ask-StopLoss*MyPoint; OrderSelect(result,SELECT_BY_TICKET); OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(TheStopLoss,Digits),NormalizeDouble(TheTakeProfit,Digits),0,Green); } return(0); } if(/*(Close[1]80)&&(iStochastic(NULL,0,14,3,7,MODE_SMA,1,MODE_MAIN,0)>80)&&(iStochastic(NULL,0,14,3,7,MODE_SMA,1,MODE_MAIN,0)0) { TheStopLoss=0; TheTakeProfit=0; if(TakeProfit>0) TheTakeProfit=Bid-TakeProfit*MyPoint; if(StopLoss>0) TheStopLoss=Bid+StopLoss*MyPoint; OrderSelect(result,SELECT_BY_TICKET); OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(TheStopLoss,Digits),NormalizeDouble(TheTakeProfit,Digits),0,Green); } return(0); } } for(int cnt=0;cnt0) { if(Bid-OrderOpenPrice()>MyPoint*TrailingStop) { if(OrderStopLoss()0) { if((OrderOpenPrice()-Ask)>(MyPoint*TrailingStop)) { if((OrderStopLoss()>(Ask+MyPoint*TrailingStop)) || (OrderStopLoss()==0)) { OrderModify(OrderTicket(),OrderOpenPrice(),Ask+MyPoint*TrailingStop,OrderTakeProfit(),0,Red); return(0); } } } } } } return(0); } int TotalOrdersCount() { int result=0; for(int i=0;i0) { if(NormalizeDouble((Bid-OrderOpenPrice()),Digits)>BreakEven*Point) { if(NormalizeDouble((OrderStopLoss()-OrderOpenPrice()),Digits)<0) { OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(OrderOpenPrice()+0*Point,Digits),OrderTakeProfit(),0,Blue); return(0); } } } } else { if(BreakEven>0) { if(NormalizeDouble((OrderOpenPrice()-Ask),Digits)>BreakEven*Point) { if(NormalizeDouble((OrderOpenPrice()-OrderStopLoss()),Digits)<0) { OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(OrderOpenPrice()-0*Point,Digits),OrderTakeProfit(),0,Red); return(0); } } } } } } }