Monday, July 9, 2018

Simple RSI,SAR,Bollinger Bands,EMA Robot

Step 1.
create Simple RSI,SAR,Bollinger Bands,EMA Robot file in expert folder and

Step 2. copy paste code given below on your SimpleRSI,SAR,Bollinger Bands,EMA Robot file :
//code start
//+------------------------------------------------------------------+
// Simple Moving Average Crossover Robot
//https://forexwithcandlestick.blogspot.com
//
// Disclaimer: This EA is provided to you without any warranty
// Please use first on demo account before live account 
// We WILL not responsible for
// FOR ANY LOSS OF USE, REVENUE OR PROFIT, LOST OR DAMAGED DATA, OR OTHER COMMERCIAL OR
// ECONOMIC LOSS OR FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, STATUTORY, PUNITIVE,
// EXEMPLARY OR CONSEQUENTIAL DAMAGES WHATSOEVER RELATED TO YOUR USE OF THIS EA OR
// FOREXEADVISOR STRATEGY BUILDER    
//  
// USE THIS EA AT YOUR OWN RISK.
// 
// Before adding this expert advisor to a chart, make sure there are NO
// open positions.
// 
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+// Simple RSI,SAR,Bollinger Bands,EMA Robot
//https://forexwithcandlestick.blogspot.com
//
// Disclaimer: This EA is provided to you without any warranty
// or liability obligations to you of any kind.
// We WILL not responsible for
// FOR ANY LOSS OF USE, REVENUE OR PROFIT, LOST OR DAMAGED DATA, OR OTHER COMMERCIAL OR
// ECONOMIC LOSS OR FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, STATUTORY, PUNITIVE,
// EXEMPLARY OR CONSEQUENTIAL DAMAGES WHATSOEVER RELATED TO YOUR USE OF THIS EA OR
// FOREXEADVISOR STRATEGY BUILDER   
// 
// USE THIS EA AT YOUR OWN RISK.
//
// Before adding this expert advisor to a chart, make sure there are NO
// open positions.
//
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//RSI,SAR,Bollinger Bands,EMA Robot
//+------------------------------------------------------------------+


extern int MagicNumber=10001;
extern double Lots =0.01;
extern double StopLoss=100;
extern double TakeProfit=50;
extern int TrailingStop=0;
extern int Slippage=3;
//+------------------------------------------------------------------+
//    expert start function
//+------------------------------------------------------------------+
int start()
{
  double MyPoint=Point;
  if(Digits==3 || Digits==5) MyPoint=Point*10;

  double TheStopLoss=0;
  double TheTakeProfit=0;
  if( TotalOrdersCount()==0 )
  {
     int result=0;
     if((iRSI(NULL,0,14,PRICE_CLOSE,0)>70)||(iSAR(NULL,0,0.02,0.2,0)<Bid)||(iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_LOWER,0)>Ask)||(iMA(NULL,0,10,0,MODE_EMA,PRICE_CLOSE,0)>Ask)) // Here is your open buy rule
     {
        result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,"RSI,SAR,Bollinger Bands,EMA Robot",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((iRSI(NULL,0,14,PRICE_CLOSE,0)<30)||(iSAR(NULL,0,0.02,0.2,0)>Ask)||(iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_UPPER,0)<Bid)||(iMA(NULL,0,20,0,MODE_EMA,PRICE_CLOSE,0)<Bid)) // Here is your open Sell rule
     {
        result=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,"RSI,SAR,Bollinger Bands,EMA Robot",MagicNumber,0,Red);
        if(result>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;cnt<OrdersTotal();cnt++)
     {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if(OrderType()<=OP_SELL && 
         OrderSymbol()==Symbol() &&
         OrderMagicNumber()==MagicNumber
         )
        {
         if(OrderType()==OP_BUY)
           {
            if(TrailingStop>0)
              {               
               if(Bid-OrderOpenPrice()>MyPoint*TrailingStop)
                 {
                  if(OrderStopLoss()<Bid-MyPoint*TrailingStop)
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TrailingStop*MyPoint,OrderTakeProfit(),0,Green);
                     return(0);
                    }
                 }
              }
           }
         else
           {
            if(TrailingStop>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;i<OrdersTotal();i++)
  {
     OrderSelect(i,SELECT_BY_POS ,MODE_TRADES);
     if (OrderMagicNumber()==MagicNumber) result++;

   }
  return (result);
}




//----------------------------------------------------------------------------------------
//code end
Step 3.

Lunch your MT4 and find RSI,SAR,Bollinger Bands,EMA Robot and drag and drop on your favourite currency window 
set your parameter and allow live trading on commen section.

Happy Trading Now 

No comments:

Post a Comment