Grail_31





//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
// Ãðààëü_31.mq4.
// Èñïîëüçóåòñÿ â êà÷åñòâå ïðèìåðà â ñòàòüå "Ìîé ïåðâûé Ãðààëü".
// Ñåðãåé Êîâàë¸â, Äíåïðîïåòðîâñê, sk@mail.dnepr.net, ICQ 64015987, http://autograf.dp.ua/.
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
//
//
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
extern int    MA1 = 11;                                  // Ïåðèîä 1-é ÌÀ
extern int    MA2 = 23;                                  // Ïåðèîä 2-é ÌÀ
extern double TP =  50;                                  // ÒýéêÏðîôèò îðäåðà
extern double SL =  15;                                  // ÑòîïËîññ îðäåðà
extern double Prots= 0;                                  // Ïðîöåíò îò ñâîáîäíûõ ñðåäñòâ
//--------------------------------------------------------------------------------------------
int
   New_Bar,                                              // 0/1 Ôàêò îáðàçîâàíèÿ íîâîãî áàðà
   Time_0,                                               // Âðåìÿ íà÷àëà íîâîãî áàðà
   ret,                                                  // Íàïðàâëåíèå ïåðåñå÷åíèÿ
   total;                                                // Êðëè÷åñòâî îòêðûòûõ îðäåðîâ
//--------------------------------------------------------------------------------------------
double 
   Lot,                                                  // Êîëè÷åñòâî ëîòîâ
   Pred,                                                 // Ïðåäûäóùåå çíà÷åíèå 1-é ÌÀ (ðîçîâ)
   Tek,                                                  // Òåêóùåå    çíà÷åíèå 1-é ÌÀ (ðîçîâ)
   Golub;                                                // Òåêóùåå    çíà÷åíèå 2-é ÌÀ(ãîëóáàÿ)
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
int init()  
   {
//============================================================================================
   SL = SL*Point;                                        // SL â ïóíêòàõ
   TP = TP*Point;                                        // ÒÐ â ïóíêòàõ
   return;
//============================================================================================
   }  
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
int start()  
   {
//============================================================================================
   total=OrdersTotal();                                  // Îáùåå êîëè÷åñòâî îðäåðîâ
   if (total==2)return;                                  // Óæå îòêðûòû îáà îðäåðà

//----------------------------------------------------------------------------- Íîâûé áàð ----
   New_Bar=0;                                            // Äëÿ íà÷àëà îáíóëèìñÿ
   if (Time_0 != Time[0])                                // Åñëè óæå äðóãîå âðåìÿ íà÷àëà áàðà
      {
      New_Bar= 1;                                        // À âîò è íîâûé áàð
      Time_0 = Time[0];                                  // Çàïîìíèì âðåìÿ íà÷àëà íîâîãî áàðà
      } 
      
//--------------------------------------------------------------------------------------------
   Tek  =iMA(NULL,0, MA1, 0,MODE_LWMA, PRICE_TYPICAL, 0);// Òåêóùåå    çíà÷åíèå 1-é ÌÀ
   Pred =iMA(NULL,0, MA1, 0,MODE_LWMA, PRICE_TYPICAL, 1);// Ïðåäûäóùåå çíà÷åíèå 2-é ÌÀ
   Golub=iMA(NULL,0, MA2, 0,MODE_LWMA, PRICE_TYPICAL, 0);// Òåêóùåå    çíà÷åíèå 2-é ÌÀ
   
//--------------------------------------------------------------------------------------------
   if (Peresechenie()==1 && New_Bar==1) Open_Buy();      // Äâèæåíèå ñíèçó ââåðõ = îòêð. Buy
   if (Peresechenie()==2 && New_Bar==1) Open_Sell();     // Äâèæåíèå ñâåðõó âíèç = îòêð. Sell
   return;
//============================================================================================
   }  
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
int Peresechenie()
   {
   ret=0;                                                // Âîò ãäå ñîáàêà çàðûòà!!:)
//============================================================================================
   if ((Pred<=Golub && Tek> Golub) ||
       (Pred< Golub && Tek>=Golub)  ) ret=1;             // Ïåðåñå÷åíèå ñíèçó ââåðõ       
//--------------------------------------------------------------------------------------------
   if ((Pred>=Golub && Tek< Golub) ||
       (Pred> Golub && Tek<=Golub)  ) ret=2;             // Ïåðåñå÷åíèå ñâåðõó âíèç
//============================================================================================
   return(ret);                                          // Âîçâðàùàåì íàïðàâëåíèå ïåðåñå÷åí.
   }
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
int Open_Buy()  
   {
   if (total==1)
      {
      OrderSelect(0, SELECT_BY_POS);                     // Âûäåëèì îðäåð
      if (OrderType()==0)return;                         // Åñëè îí buy, òî íå îòêðûâàåìñÿ
      }
   OrderSend(Symbol(),0, Lots(), Ask, 0, Ask-SL, Ask+TP, "", 0, 0, Blue);// Îòêðûâàåìñÿ
   return;
   }
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
int Open_Sell() 
   {
   if (total==1)
      {
      OrderSelect(0, SELECT_BY_POS);                     // Âûäåëèì îðäåð
      if (OrderType()==1)return;                         // Åñëè îí sell, òî íå îòêðûâàåìñÿ
      }
   OrderSend(Symbol(),1, Lots(), Bid, 0, Bid+SL, Bid-TP, "", 0, 0, Red);// Îòêðûâàåìñÿ
   return;
   }
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
double Lots()
   {
   Lot = NormalizeDouble( AccountEquity()*Prots/100/1000, 1);// Âû÷èñëÿåì êîëè÷. ëîòîâ  
   if (Lot<0.1)Lot = 0.1;                                // Äëÿ òåñòà íà ïîñòîÿí. ìèíèì. ëîòàõ
   return(Lot);
   }
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
//





Sample





Analysis



Market Information Used:

Series array that contains open time of each bar


Indicator Curves created:


Indicators Used:

Moving average indicator


Custom Indicators Used:

Order Management characteristics:
Checks for the total of open orders

It automatically opens orders when conditions are reached

Other Features:

BackTest : EURUSD on H1

From 2009-11-01 to 2009-11-30 Profit Factor:0.00 Total Net Profit:0.00

BackTest : USDJPY on H1

From 2009-11-01 to 2009-11-30 Profit Factor:0.00 Total Net Profit:0.00

BackTest : USDCHF on H1

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

BackTest : EURUSD on H1

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

BackTest : USDCAD on H1

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

BackTest : EURUSD on H1

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

BackTest : GBPUSD on H1

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

BackTest : USDCAD on H1

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

BackTest : EURUSD on H1

From 2010-03-01 to 2010-03-27 Profit Factor:0.00 Total Net Profit:0.00

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

Request Backtest for Grail_31


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

Pair: Period: