Tuesday, August 7, 2018

EMA sell only

//+------------------------------------------------------------------+
//                        DO NOT DELETE THIS HEADER
//             DELETING THIS HEADER IS COPYRIGHT INFRIGMENT
//
//                   Copyright ©2011, ForexEAdvisor.com
//                 ForexEAdvisor Strategy Builder version 0.2
//                        http://www.ForexEAdvisor.com
//
// THIS EA CODE HAS BEEN GENERATED USING FOREXEADVISOR STRATEGY BUILDER 0.2
// on: 8/7/2018 4:19:04 PM
// Disclaimer: This EA is provided to you "AS-IS", and ForexEAdvisor disclaims any warranty
// or liability obligations to you of any kind.
// UNDER NO CIRCUMSTANCES WILL FOREXEADVISOR BE LIABLE TO YOU, OR ANY OTHER PERSON OR ENTITY,
// 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   
// Because software is inherently complex and may not be completely free of errors, you are
// advised to verify this EA. Before using this EA, please read the ForexEAdvisor Strategy Builder
// license for a complete understanding of ForexEAdvisor' disclaimers. 
// USE THIS EA AT YOUR OWN RISK.
// 
// Before adding this expert advisor to a chart, make sure there are NO
// open positions.
//                      DO NOT DELETE THIS HEADER
//             DELETING THIS HEADER IS COPYRIGHT INFRIGMENT
//+------------------------------------------------------------------+


extern int MagicNumber=10001;
extern double Lots =0.04;
extern double StopLoss=0;
extern double TakeProfit=4;
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((iMA(NULL,0,14,0,MODE_EMA,PRICE_CLOSE,0)>Ask)) // Here is your open Sell rule
     {
        result=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,"EA Generator www.ForexEAdvisor.com",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);
}

EMA buy only

//+------------------------------------------------------------------+
//                        DO NOT DELETE THIS HEADER
//             DELETING THIS HEADER IS COPYRIGHT INFRIGMENT
//
//                   Copyright ©2011, ForexEAdvisor.com
//                 ForexEAdvisor Strategy Builder version 0.2
//                        http://www.ForexEAdvisor.com
//
// THIS EA CODE HAS BEEN GENERATED USING FOREXEADVISOR STRATEGY BUILDER 0.2
// on: 8/7/2018 3:49:25 PM
// Disclaimer: This EA is provided to you "AS-IS", and ForexEAdvisor disclaims any warranty
// or liability obligations to you of any kind.
// UNDER NO CIRCUMSTANCES WILL FOREXEADVISOR BE LIABLE TO YOU, OR ANY OTHER PERSON OR ENTITY,
// 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   
// Because software is inherently complex and may not be completely free of errors, you are
// advised to verify this EA. Before using this EA, please read the ForexEAdvisor Strategy Builder
// license for a complete understanding of ForexEAdvisor' disclaimers. 
// USE THIS EA AT YOUR OWN RISK.
// 
// Before adding this expert advisor to a chart, make sure there are NO
// open positions.
//                      DO NOT DELETE THIS HEADER
//             DELETING THIS HEADER IS COPYRIGHT INFRIGMENT
//+------------------------------------------------------------------+


extern int MagicNumber=10001;
extern double Lots =0.04;
extern double StopLoss=0;
extern double TakeProfit=4;
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((iMA(NULL,0,14,0,MODE_EMA,PRICE_CLOSE,0)<Bid)) // Here is your open buy rule
     {
        result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,"EA Generator www.ForexEAdvisor.com",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);
     }
  }
 
  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);
}



Tuesday, July 17, 2018

Get Free Robot For MT4

Why are you search signal or buy signal and waste your time for calculating signal. Just click on the our refferal website banner and join our refferal website.
send me your email id and trade account no at aksharmty@ymail.com. After verified your account in my reffer list, I send you free EA for your MT4.
Just add EA in your MT4 and start your trading automatic. For best result install your MT4 on VPS.
Our forex partner website are ALPARI , INSTAFOREX , FOREX4YOU , WELTRADE



EMA CROSSOVER MOVING AVERAGE ROBOT

//+------------------------------------------------------------------+
//EMA crossover Robot 15 Minutes
//+------------------------------------------------------------------+


extern int MagicNumber=10001;
extern double Lots =0.01;
extern double StopLoss=0;
extern double TakeProfit=5;
extern int TrailingStop=0;
extern int Slippage=3;
//+------------------------------------------------------------------+
//    expert start function
//+------------------------------------------------------------------+
int start()
{
string signal="";
  double MyPoint=Point;
  if(Digits==3 || Digits==5) MyPoint=Point*10;
 //current chart, current period, 20 candles, No shift, simple , close price
double SlowMovingAverage = iMA (NULL,0,20,0,MODE_EMA,PRICE_CLOSE,0);
//current chart, current period, 20 candles, No shift, simple , close price
double LastSlowMovingAverage = iMA (NULL,0,20,0,MODE_EMA,PRICE_CLOSE,1);

//current chart, current period, 10 candles, No shift, simple , close price
double FastMovingAverage = iMA (NULL,0,10,0,MODE_EMA,PRICE_CLOSE,0);
//current chart, current period, 10 candles, No shift, simple , close price
double LastFastMovingAverage = iMA (NULL,0,10,0,MODE_EMA,PRICE_CLOSE,1);
//--------------------------------------------------------------------
 if ((LastFastMovingAverage < LastSlowMovingAverage) && (FastMovingAverage > SlowMovingAverage))
{
//set the signal variable to buy
signal="buy";
}
//if the moving average above the current price
if ((LastFastMovingAverage > LastSlowMovingAverage) && (FastMovingAverage < SlowMovingAverage))
{
//set the signal variable to sell
signal="sell";
}
//chart output for the signal
Comment ("The current signal is :",signal);

 double TheStopLoss=0;
  double TheTakeProfit=0;
  if( TotalOrdersCount()==0 )
  {
     int result=0;
     //if the fast SMA is now above
if ((LastFastMovingAverage < LastSlowMovingAverage) && (FastMovingAverage > SlowMovingAverage)) // Here is your open buy rule
     {
        result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,"EMA crossover Robot 15 Minutes https://forexwithcandlestick.blogspot.com",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 the fast SMA is now above
if ((LastFastMovingAverage > LastSlowMovingAverage) && (FastMovingAverage < SlowMovingAverage)) // Here is your open Sell rule
     {
        result=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,"EMA crossover Robot 15 Minutes https://forexwithcandlestick.blogspot.com ",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);
}

Saturday, July 14, 2018

Simple SMA Robot

Simple SMA robot use only standerd account this EA not work propper on micro/nano account.

//CODE START

extern int MagicNumber=10001;
extern double Lots =0.02;
extern double TakeProfit=5;
//-------------------------------------------
void OnTick()
{
//we create a string variable for signal
string signal="";
//we calculate the moving average  20 candles for the signal
double MyMovingAverage = iMA(_Symbol,_Period,20,0,MODE_SMA,PRICE_CLOSE,0);
//if the moving average is below the candle price
if (MyMovingAverage<Close[0])
{
//set the signal variable to buy
signal="buy";
}
//if the moving average above the current price
if (MyMovingAverage>Close[0])
{
//set the signal variable to sell
signal="sell";
}
//buy 10 microlot
if (MyMovingAverage<Close[0]&& OrdersTotal()==0)
OrderSend(_Symbol,OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*_Point,"SMA ROBOT",MagicNumber,0,Green);
//sell 10 microlot
if (MyMovingAverage>Close[0] && OrdersTotal()==0)
OrderSend (_Symbol,OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*_Point,"SMA RONBOT",MagicNumber,0,Red);
//chart output for the signal
Comment ("The current signal is :",signal);
}


//CODE END

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 

Sunday, July 8, 2018

Parabolic SAR Signal

Step 1.
create ParabolicSARsignal file in expert folder and

Step 2. copy paste code given below on your ParabolicSARsignal file :
//code start

void OnTick()
{
// String variable for the signal
string signal="";
//We calculate the Parabolic SAR Indicator
double MySARValue = iSAR(_Symbol,_Period ,0.02,0.2,0);
// if the Parabolic SAR Value is below the Bid Price
if (MySARValue<Bid)
{//create a buy signal
signal="buy";
}
// if the Parabolic SAR Value is above the Ask Price
if (MySARValue>Ask)
{//create a sell signal
signal="sell";
}
//Output the signal on the chart
Comment("MySARValue : ",MySARValue,"\n","Current Signaal is :",signal);
}

//+------------------------------------------------------------------+
//code end
Step 3.
Now open MT4 and go to :
Insert >> Indicator >> ParabolicSARsignal
Set parameter : Step : 0.02, Maximum : 0.2 , style : Yellow then OK

Step 4.
Now open MT4 and go to :
Charts >> Template >> save template >> save file as tester.tpl.

Step5.
Now open MT4 and go to :
View >> strategy test : 
set your symbol
Use date
Visual Mode
Start

Step6.
View signal on left side on top in your chart.

Bulls Power Signal

Step 1.
create bullspowersignal file in expert folder and

Step 2. copy paste code given below on your bullspowersignal file :
//code start

void OnTick()
{
// String variable for the signal
string signal="";
//We calculate the Bull Power Indicator
double BullsPowerValue = iBullsPower(_Symbol,_Period ,13, PRICE_CLOSE,0);
// if the Bulls Power Value is above 0
if (BullsPowerValue>0)
{//create a buy signal
signal="buy";
}
// if the Bulls Power Value is below 0
if (BullsPowerValue<0)
{//create a sell signal
signal="sell";
}
//Output the signal on the chart
Comment("BullsPowerValue : ",BullsPowerValue,"\n","Current Signaal is :",signal);
}

//+------------------------------------------------------------------+
//code end
Step 3.
Now open MT4 and go to :
Insert >> Indicator >> Bulls Power 
Set parameter : Period : 13 ,  Apply to : close , style : Yellow then OK

Step 4.
Now open MT4 and go to :
Charts >> Template >> save template >> save file as tester.tpl.

Step5.
Now open MT4 and go to :
View >> strategy test : 
set your symbol
Use date
Visual Mode
Start

Step6.
View signal on left side on top in your chart.

Saturday, July 7, 2018

Simple Moving Average Crossover Robot

Step 1.
create Simple Moving Average Crossover Robot file in expert folder and

Step 2. copy paste code given below on your SimpleMovingAverageCrossoverRobot 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.
// 
//+------------------------------------------------------------------+


//+------------------------------------------------------------------+


extern int MagicNumber=10001;
extern double Lots =0.01;
extern double StopLoss=0.00;
extern double TakeProfit=100.00;
extern int TrailingStop=15;
extern int Slippage=3;
//+------------------------------------------------------------------+
//    expert start function
//+------------------------------------------------------------------+
int start()
{
  double MyPoint=Point;
  if(Digits==3 || Digits==5) MyPoint=Point*10;
//current chart, current period, 20 candles, No shift, simple , close price
double SlowMovingAverage = iMA (NULL,0,20,0,MODE_SMA,PRICE_CLOSE,0);
//current chart, current period, 20 candles, No shift, simple , close price
double LastSlowMovingAverage = iMA (NULL,0,20,0,MODE_SMA,PRICE_CLOSE,1);

//current chart, current period, 10 candles, No shift, simple , close price
double FastMovingAverage = iMA (NULL,0,10,0,MODE_SMA,PRICE_CLOSE,0);
//current chart, current period, 10 candles, No shift, simple , close price
double LastFastMovingAverage = iMA (NULL,0,10,0,MODE_SMA,PRICE_CLOSE,1);
//--------------------------------------------------------------------
  double TheStopLoss=0;
  double TheTakeProfit=0;
  if( TotalOrdersCount()==0 ) 
  {
     int result=0;
//if the fast SMA is now above
if ((LastFastMovingAverage < LastSlowMovingAverage) && (FastMovingAverage > SlowMovingAverage))
 {
        result=OrderSend(Symbol(),OP_BUY,AdvancedMM(),Ask,Slippage,0,0,"Simple Moving Average Crossover Robot https://forexwithcandlestick.blogspot.com",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 the fast SMA is now above
if ((LastFastMovingAverage > LastSlowMovingAverage) && (FastMovingAverage < SlowMovingAverage))

{
        result=OrderSend(Symbol(),OP_SELL,AdvancedMM(),Bid,Slippage,0,0,"Simple Moving Average Crossover Robot https://forexwithcandlestick.blogspot.com",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);
}
double AdvancedMM()
{
 int i;
 double AdvancedMMLots = 0;
 bool profit1=false;
 int SystemHistoryOrders=0;
  for( i=0;i<OrdersHistoryTotal();i++)
  {  OrderSelect(i,SELECT_BY_POS ,MODE_HISTORY);
     if (OrderMagicNumber()==MagicNumber) SystemHistoryOrders++;
  }
 bool profit2=false;
 int LO=0;
 if(SystemHistoryOrders<2) return(Lots);
 for( i=OrdersHistoryTotal()-1;i>=0;i--)
  {
     if(OrderSelect(i,SELECT_BY_POS ,MODE_HISTORY))
     if (OrderMagicNumber()==MagicNumber) 
     {
        if(OrderProfit()>=0 && profit1) return(Lots);
        if( LO==0)
        {  if(OrderProfit()>=0) profit1=true;
           if(OrderProfit()<0)  return(OrderLots());
           LO=1;
        }
        if(OrderProfit()>=0 && profit2) return(AdvancedMMLots);
        if(OrderProfit()>=0) profit2=true;
        if(OrderProfit()<0 ) 
        {   profit1=false;
            profit2=false;
            AdvancedMMLots+=OrderLots();
        }
     }
  }
 return(AdvancedMMLots);
}


//----------------------------------------------------------------------------------------
//code end
Step 3.
Now open MT4 and go to :
Insert >> Indicator >> Moving Average 
Set parameter : Period : 10 , shift : 0 , MA Method : Simple , Apply to : close , style : Yellow then OK
repeate again 
Insert >> Indicator >> Moving Average 
Set parameter : Period : 20 , shift : 0 , MA Method : Simple , Apply to : close , style : Red then OK 

Step 4. 
Lunch your MT4 and findSIMPLEMOVINGAVERAGECROSSOVERROBOT and drag and drop on your favourite currency window 
set your parameter and allow live trading on commen section.
Step 5.
Now just watch your robot automatic place order on SIMPLE MOVING AVERAGE CROSSOVER signal.
Happy Trading Now