Download MetaTrader 5

My EA needs fixing

To add comments, please log in or register
Share links from other resources. Now they have a description.
Jahdee Camble
242
Jahdee Camble 2016.03.18 17:06 
//+------------------------------------------------------------------+
//                        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: 3/18/2016 4:15:04 AM
// 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.01;
extern double StopLoss=20;
extern double TakeProfit=0;
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,PERIOD_M15,14,PRICE_CLOSE,0)<51)) // 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);
     }
     if((iRSI(NULL,PERIOD_M15,14,PRICE_CLOSE,0)>49)) // 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((iRSI(NULL,PERIOD_M15,14,PRICE_CLOSE,0)>49)) //here is your close buy rule
              {
                   OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Red);
              }
            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((iRSI(NULL,PERIOD_M15,14,PRICE_CLOSE,0)<51)) // here is your close sell rule
                {
                   OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Red);
                }
            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);
}
The EA is supposed to enter a long position with a 14 pip stop loss and no take profit when the candle closes and the RSI is 51 and above and close the long position when the candle has closed and the RSI has reach 49 and below. For a short position, the stop loss is 14pips and no take profit. the short position opens when the candle has closed and the RSI is 49 and below and close the short position when the RSI is 51 and above. Also, this is suppose to run on the 15 minute time frame and 15% of my purchase power or i can be able to enter my position size. Thank you for your help
Damian Mateusz Dziadosz
5776
Damian Mateusz Dziadosz 2016.03.18 17:44  
You can try at "Freelance" section if you do not get answers here.
BUDLogic v1.0
37
BUDLogic v1.0 2016.03.19 17:03  
Damian Mateusz Dziadosz:
You can try at "Freelance" section if you do not get answers here.
Try this. Think of the rsi being similar to using bars (candles) in Forex. It has an Open, High, low and Close. Your asking your ea to use the close of the rsi.  When you want to lock in a position greater than or less than a horizontal line (49 rsi). You need to tell it what to do. Previous bar close 1 greater than and the current close 0 bar less than. I'm not a programmer, but I think this will help you. Chris
Files:
TEMP.txt 11 kb
Siti Latifah
6462
Siti Latifah 2016.03.27 05:41  

you can try this


https://www.mql5.com/en/code/13625

RSI EA
RSI EA
  • votes: 35
  • 2015.08.11
  • Siti Latifah
  • www.mql5.com
RSI EA based on overbought and oversold levels.
Khurram Mustafa
28015
Khurram Mustafa 2016.03.27 08:26  
Siti Latifah:

you can try this


https://www.mql5.com/en/code/13625

Advertisement or Marketing is not allowed in forums, Please remove  this or moderator will remove it. take care
Stuart Browne
5816
Stuart Browne 2016.03.27 08:30  
Khurram Mustafa:
Advertisement or Marketing is not allowed in forums, Please remove  this or moderator will remove it. take care
Advertising / linking to commercial products and Market Place products (even free ones) is forbidden. But codebase is fine :)
Khurram Mustafa
28015
Khurram Mustafa 2016.03.27 10:46  
Stuart Browne:
Advertising / linking to commercial products and Market Place products (even free ones) is forbidden. But codebase is fine :)
oh ok ok, thanks thanks Staurt thanks for update :)
To add comments, please log in or register