try_enter





//+------------------------------------------------------------------+
//|                                                    try_enter.mq4 |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, maloma"
#include <stdlib.mqh>
#include <stderror.mqh>

//------- Ãëîáàëüíûå ïåðåìåííûå --------------------------------------

//------- Âíåøíèå ïàðàìåòðû -------------------------------
extern double Lots=0.1;
extern int    Porog=20;
extern int    FastEMA=12;
extern int    SlowEMA=26;
extern int    SignalSMA=9;
extern int    SL=0;
extern int    TP=20;
extern int    MagicNumber  = 8833747;

//------- Ïàðàìåòðû -------------------------------
int        Slippage     = 3;
double     MacdBuffer[5000];
double     SignalBuffer[2];
double     HistoBuffer[2];
int        Sig, CBars;

int OpenOrder(string S, int OP)
{
 int cnt=10;
 int res=0;
 if (OP==OP_BUY)
  {
   double Price=MarketInfo(S,MODE_ASK);
   double CTP=Price+TP*Point;
   if (SL!=0) double CSL=Price-SL*Point;
  }
 if (OP==OP_SELL)
  {
   Price=MarketInfo(S,MODE_BID);
   CTP=Price-TP*Point;
   if (SL!=0) CSL=Price+SL*Point;
  }
 while (res==0 && cnt>0)
  {
   res=OrderSend(S,OP,Lots,Price,Slippage,CSL,CTP," try_enter © maloma ",MagicNumber,0,CLR_NONE);
   if (res>0) 
     {
      Comment("                                                                               ");
      Sleep(2000);
     } 
    else 
     {
      int le=GetLastError();
      Comment("                                                                               ");
      Comment("Îøèáêà îòêðûòèÿ îðäåðà #",le," - ",ErrorDescription(le));
      Sleep(6000);
      cnt--;
     }
  }
 if (res==-1) res=0;
 return(res);
}

void start() {
   int limit;
   int counted_bars=IndicatorCounted();
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;
   for(int i=0; i<limit; i++)
      {MacdBuffer[i]=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);/*Print(MacdBuffer[i]);*/}
   SignalBuffer[0]=iMAOnArray(MacdBuffer,Bars,SignalSMA,0,MODE_SMA,0);
   SignalBuffer[1]=iMAOnArray(MacdBuffer,Bars,SignalSMA,0,MODE_SMA,1);
   HistoBuffer[0]=(MacdBuffer[0]-SignalBuffer[0])*10/Point;
   HistoBuffer[1]=(MacdBuffer[1]-SignalBuffer[1])*10/Point;
   if (HistoBuffer[1]<Porog && HistoBuffer[0]>=Porog && CBars!=Bars) {Sig=1; CBars=Bars;}
   if (HistoBuffer[1]>-Porog && HistoBuffer[0]<=-Porog && CBars!=Bars) {Sig=-1; CBars=Bars;}
   if (Sig==1)
    {
     OpenOrder(Symbol(), OP_BUY);
     Sig=0;
    }
   if (Sig==-1)
    {
     OpenOrder(Symbol(), OP_SELL);
     Sig=0;
    }

}
//+------------------------------------------------------------------+



Sample





Analysis



Market Information Used:



Indicator Curves created:


Indicators Used:

Moving average indicator


Custom Indicators Used:

Order Management characteristics:
It automatically opens orders when conditions are reached

Other Features:

BackTest : EURUSD on H1

From 2009-08-01 to 2009-10-01 Profit Factor:1.07 Total Net Profit:5.80

BackTest : EURUSD on H1

From 2009-12-01 to 2010-01-17 Profit Factor:0.27 Total Net Profit:-215.80

BackTest : EURUSD on H1

From 2010-04-01 to 2010-04-30 Profit Factor:0.00 Total Net Profit:0.00

BackTest : EURUSD on H1

From 2010-05-01 to 2010-05-31 Profit Factor:0.00 Total Net Profit:0.00

BackTest : EURUSD on H1

From 2010-06-01 to 2010-06-30 Profit Factor:0.00 Total Net Profit:0.00

BackTest : GBPUSD on H1

From 2010-01-01 to 2010-02-27 Profit Factor:0.07 Total Net Profit:-1064.70

BackTest : USDCAD on H1

From 2009-12-01 to 2010-01-01 Profit Factor:0.21 Total Net Profit:-175.73

BackTest : USDCHF on H1

From 2009-12-01 to 2010-01-01 Profit Factor:0.00 Total Net Profit:0.00

Request Backtest for try_enter


From : (yyyy/mm/dd) To: (yyyy/mm/dd)

Pair: Period: