Grail_1





//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
// Ãðààëü_1.mq4.
// Èñïîëüçóåòñÿ â êà÷åñòâå ïðèìåðà â ñòàòüå "Ìîé ïåðâûé Ãðààëü".
// Ñåðãåé Êîâàë¸â, Äíåïðîïåòðîâñê, sk@mail.dnepr.net, ICQ 64015987, http://autograf.dp.ua/.
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
extern int     TP = 100;                                 // ÒýéêÏðîôèò îðäåðà
extern int     SL = 100;                                 // ÑòîïËîññ îðäåðà
extern int     lim=   1;                                 // Äèñòàíöèÿ âîçâðàòà êóðñà
extern int     prodvig=3;                                // Äèñòàíöèÿ ïðîäâèæåíèÿ êóðñà
extern double  Prots= 10;                                 // Ïðîöåíò îò ñâîáîäíûõ ñðåäñòâ
//--------------------------------------------------------------------------------------------
int
   total,                                                // Êîëè÷åñòâî ëîòîâ
   bb=0,                                                 // 1 = ôàêò íàëèèÿ îðäåðà Buy
   ss=0;                                                 // 1 = ôàêò íàëèèÿ îðäåðà Sell 
//--------------------------------------------------------------------------------------------
double 
   max,                                                  // Ìàêñèìàëüíàÿ öåíà íà ãîðêå (àáñ)
   min,                                                  // Ìèíèìàëüíàÿ öåíà âî âïàäèíå(àáñ)
   lmax,                                                 // Ïîðîãîâàÿ öåíà, ïîñëå ïðåîäîëåíèÿ
                                                         // êîòîðîé ðàññìàòðèâàåì ïðîäàæó(àáñ)
   lmin,                                                 // Òî æå äëÿ ïîêóïêè
   Lot;                                                  // Êîëè÷åñòâî ëîòîâ
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
int start()
   {   
//============================================================================================
   total=OrdersTotal();                                  // Êîëè÷åñòâî ëîòîâ
   if (total==0)                                         // Åñëè îðäåðîâ íåò, ..
      {
      bb=0;                                              // .. òî íåò áà¸â
      ss=0;                                              // .. òî íåò ñåëîâ
      }
   if (max<Bid) max=Bid;                                 // Ñ÷èòàåì ìàêñèì öåíó íà ãîðêå 
   if (min>Ask) min=Ask;                                 // Ñ÷èòàåì ìèíèì öåíó âî âïàäèíå
//------------------------------------------------------------- Öåíà ðàçâîðà÷èâàåòñÿ âíèç ----
   if (((max-Bid)>=lim*Point)&&(Bid>lmax ))              // Ðàçâîðîò íà âûñîâêîì óðîâíå
      {
      for (int i=total;i>=0;i--)                         // Ïî âñåì îðäåðàì
         {                                               
         if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_BUY)
            {
            OrderClose(OrderTicket(),OrderLots(),Bid,3,CLR_NONE);// Çàêðûâàåì áàé
            bb=0;                                        // Áà¸â áîëüøå íåò
            }
         }   
      Strateg(1);                                        // Îòêðûâàþùàÿ ôóíêöèÿ
      }             
//------------------------------------------------------------ Öåíà ðàçâîðà÷èâàåòñÿ ââåðõ ----
   if (((Ask-min)>=lim*Point)&&(lmin>Ask ))              // Ðàçâîðîò ãëóáîêî âíèçó
      {
      for (i=total;i>=0;i--)                             // Ïî âñåì îðäåðàì
         {
         if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_SELL)
            {         
            OrderClose(OrderTicket(),OrderLots(),Ask,3,CLR_NONE);// Çàêðûâàåì ñåëë   
            ss=0;                                        // Ñåëëîâ áîëüøå íåò
            }
         }
      Strateg(2);                                        // Îòêðûâàþùàÿ ôóíêöèÿ
      }
//============================================================================================
   return;
   } 
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
void Strateg (int vv)                                    // Îòêðûâàþùàÿ ôóíêöèÿ
   {
//============================================================================================
   if (vv==1 && ss==0)                                   // Ñåëëîâàÿ ñèòóàöèÿ è ñåëëîâ íåò
      {
      OrderSend(Symbol(),OP_SELL,Lots(),Bid,3,Bid+SL*Point,Bid-TP*Point,"",0,0,Red);// Îòêð
      ss=1;                                              // Òåïåðü åñòü ñåëë
      }
//--------------------------------------------------------------------------------------------
   if (vv==2 && bb==0)                                   // Áà¸âàÿ ñèòóàöèÿ è áà¸â íåò
      {
      OrderSend(Symbol(),OP_BUY, Lots(),Ask,3,Ask-SL*Point,Ask+TP*Point,"",0,0,Blue);// Îòêð
      bb=1;                                              // Òåïåðü åñòü áàé
      }      
//--------------------------------------------------------------------------------------------
   lmax=Ask+prodvig*Point;                               // Ïåðåîïðåäåëÿåì íîâûå ïîðîãîâûå ..
   lmin=Bid-prodvig*Point;                               // .. óðîâíè äëÿ îòêð è çàêð 
//============================================================================================
   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:



Custom Indicators Used:

Order Management characteristics:
Checks for the total of open orders

It Closes Orders by itself
It automatically opens orders when conditions are reached

Other Features:

BackTest : EURUSD on H1

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

BackTest : EURUSD on H1

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

BackTest : EURUSD on H1

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

BackTest : EURUSD on H1

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

BackTest : EURUSD on H1

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

BackTest : GBPUSD on H1

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

BackTest : GBPUSD on H1

From 2010-01-01 to 2010-04-16 Profit Factor:2.77 Total Net Profit:1000000000.00

BackTest : USDCAD on H1

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

BackTest : USDCAD on H1

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

BackTest : USDCHF on H1

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

BackTest : USDJPY on H1

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

Request Backtest for Grail_1


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

Pair: Period: