Grail_3





//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
// Ãðààëü_3.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
   ret,                                                  // Íàïðàâëåíèå ïåðåñå÷åíèÿ
   total;                                                // Êðëè÷åñòâî îòêðûòûõ îðäåðîâ
//--------------------------------------------------------------------------------------------
double 
   Lot,                                                  // Êîëè÷åñòâî ëîòîâ
   Pred,                                                 // Ïðåäûäóùåå çíà÷åíèå 1-é ÌÀ (ðîçîâ)
   Tek,                                                  // Òåêóùåå    çíà÷åíèå 1-é ÌÀ (ðîçîâ)
   Golub;                                                // Òåêóùåå    çíà÷åíèå 2-é ÌÀ(ãîëóáàÿ)
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
int init()  
   {
//============================================================================================
   SL = SL*Point;                                        // ÑòîïËîññ â ïóíêòàõ
   TP = TP*Point;                                        // ÒýéêÏðîôèò â ïóíêòàõ
   return;
//============================================================================================
   }  
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
int start()  
   {
//============================================================================================
   total=OrdersTotal();                                  // Îáùåå êîëè÷åñòâî îðäåðîâ
   if (total==2)return;                                  // Óæå îòêðûòû îáà îðäåðà
//--------------------------------------------------------------------------------------------
   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) Open_Buy();                    // Äâèæåíèå ñíèçó ââåðõ = îòêð. Buy
   if (Peresechenie()==2) Open_Sell();                   // Äâèæåíèå ñâåðõó âíèç = îòêð. Sell
   return;
//============================================================================================
   }  
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
int Peresechenie()                                       // Ôóíêöèÿ îïðåäåëåíèÿ ïåðåñå÷åíèÿ
   {
//============================================================================================
   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()                                           // Ôóíêöèÿ îòêðûòèÿ 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()                                          // Ôóíêöèÿ îòêðûòèÿ 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);// Âû÷èñëÿåì êîëè÷. ëîòîâ  
   double Min_Lot = MarketInfo(Symbol(), MODE_MINLOT);   // Ìèíèìàëüíî äîïóñòèìàÿ ñòîèì. ëîòîâ
   if (Lot == 0 ) Lot = Min_Lot;                         // Äëÿ òåñòà íà ïîñòîÿí. ìèíèì. ëîòàõ
//============================================================================================
   return(Lot);
   }
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
//





Sample





Analysis



Market Information Used:



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 : 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 : 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_3


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

Pair: Period: