Author: GreenCOD
Price Data Components
Series array that contains open time of each bar
Orders Execution
Checks for the total of open ordersIt automatically opens orders when conditions are reached
0 Views
0 Downloads
0 Favorites
m-NOTR_1
//+------------------------------------------------------------------+
//|                                                     m-NOTR_1.mq4 |
//|                                                         GreenCOD |
//|                                                GreeenCOD@mail.ru |
//|                                                         21.07.10 |
//+------------------------------------------------------------------+

#property copyright "GreenCOD"
#property link      "GreeenCOD@mail.ru"

//~~~~~~~~~~~
// ÇÄÅÑÜ ÓÊÀÇÛÂÅÞÒÑß ÍÀÑÒÐÎÉÊÈ ÎÏÒÈÌÈÇÀÒÎÐÀ
//~~~~~~~~~~~
extern  int ÎÏÒÈÌÈÇÀÖÈß.ÃËÓÁÈÍÀ. = 400; // ÊÎËÈ×ÅÑÒÂÎ(ÃËÓÁÈÍÀ) ÁÀÐΠÄËß ÎÏÒÈÌÈÇÀÖÈÈ
extern  int ×ÈÑËÎ.ÏÀÐÀÌÅÒÐÎÂ. = 200; // ÊÎËÈ×ÅÑÒÂÎ ÏÀÐÀÌÅÒÐΠÄËß ÎÏÒÈÌÈÇÀÖÈÈÒÈ  
//~~~~~~~~~~~
// ÇÄÅÑÜ ÓÊÀÇÛÂÅÞÒÑß ÍÀÑÒÐÎÉÊÈ ÎÏÒÈÌÈÇÈÐÓÅÌÛÕ ÏÀÐÀÌÅÒÐÎÂ
//~~~~~~~~~~~
extern  int ÌÈÍ.ÑÒÎÏ. = 10; // ÌÈÍÈÌÀËÜÍÎÅ ÇÍÀ×ÅÍÈÅ ÑÒÎÏ ËÎÑÑÀ - ÝÒÎ ÄËß 1-ÎÃÎ ÎÏÒÈÌÈÇÀÖÈÐÓÅÌÎÃÎ ÏÎÄÏÀÐÀÌÅÒÐÀ
extern  int ÌÀÊÑ.ÑÒÎÏ. = 200; // ÌÀÊÑÈÌÀËÜÍÎÅ ÇÍÀ×ÅÍÈÅ ÑÒÎÏ ËÎÑÑÀ - ÝÒÎ ÄËß 1-ÎÃÎ ÎÏÒÈÌÈÇÀÖÈÐÓÅÌÎÃÎ ÏÎÄÏÀÐÀÌÅÒÐÀ 
extern  int ÌÈÍ.ÒÅÉÊ. = 10; // ÌÈÍÈÌÀËÜÍÎÅ ÇÍÀ×ÅÍÈÅ ÒÅÉÊ ÏÐÎÔÈÒÀ - ÝÒÎ ÄËß 2-ÎÃÎ ÎÏÒÈÌÈÇÀÖÈÐÓÅÌÎÃÎ ÏÎÄÏÀÐÀÌÅÒÐÀ
extern  int ÌÀÊÑ.ÒÅÉÊ. = 200; // ÌÀÊÑÈÌÀËÜÍÎÅ ÇÍÀ×ÅÍÈÅ ÒÅÉÊ ÏÐÎÔÈÒÀ - ÝÒÎ ÄËß 2-ÎÃÎ ÎÏÒÈÌÈÇÀÖÈÐÓÅÌÎÃÎ ÏÎÄÏÀÐÀÌÅÒÐÀ
//~~~~~~~~~~~
// ÇÄÅÑÜ ÓÊÀÇÛÂÅÞÒÑß ÎÃÐÀÍÈ×ÅÍÈß ÎÏÒÈÌÈÇÀÖÈÈ, Ò.Å. ÏÀÐÀÌÅÒÐ ÄÎÏÓÑÊÀÅÒÑß ÒÎËÜÊÎ ÏÐÈ ÓÄÎÂËÅÒÂÎÐÅÍÈÈ ÝÒÈÕ ÓÑËÎÂÈÉ
//~~~~~~~~~~~
extern  double ÊÐÈÒÅÐÈÉ.ÏÐÈÁÛËÜ. = 0; // ÌÈÍÈÌÀËÜÍÀß ×ÈÑÒÀß ÏÐÈÁÛËÜ
extern  int ÊÐÈÒÅÐÈÉ.ÌÈÍ.ÑÄÅËÎÊ. = 20; // ÌÈÍÈÌÀËÜÍÎÅ ÊÎËÈ×ÅÑÒÂÎ ÑÄÅËÎÊ 
extern  int ÊÐÈÒÅÐÈÉ.ÌÈÍ.ÏÐÎÖ.ÏÐÎÔÈÒ. = 95; // ÌÈÍÈÌÀËÜÍÛÉ % ÏÐÎÔÈÒÀ
extern  int ÊÐÈÒÅÐÈÉ.ÌÈÍ.ÏÐÎÖ.ÏÐÈÁ.ÑÄÅËÎÊ. = 95; // ÌÈÍÈÌÀËÜÍÛÉ % ÏÐÈÁÛËÜÍÛÕ ÑÄÅËÎÊ  
//~~~~~~~~~~~
// ÇÄÅÑÜ ÓÊÀÇÛÂÅÞÒÑß ÒÎÐÃÎÂÛÅ ÓÑËÎÂÈß
//~~~~~~~~~~~
extern  double ËÎÒ. = 0.1;// ÐÀÇÌÅÐ ËÎÒÀ  
extern  int SLIPAGE. = 2;// ÐÀÇÌÅÐ ÏÐÎÑÊÀËÜÇÛÂÀÍÈß 
//~~~~~~~~~~~

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
int  _Magic_b = 1;
int  _Magic_s = 2;
//~~~
double ÎÏÒÈÌÈÇ_ÏÀÐÀÌÅÒÐÛ [][4];
double ÊÐÈÒÅÐÈÈ [5][6];
//~~~
double ÏÎÊÀÇÀÒÅËÈ_ÎÏÒÈÌÈÇ [][30];
double ÊÐÈÒÅÐÈÉ_ÎÏÒÈÌÈÇ [];
//~~~
double _Open_1;
double _Ñòîï_1;
double _Òåéê_1;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

//===========================================
int init()
//===========================================
{
 //<<<<<<<<<<<<<<
 MathSrand(GetTickCount());
 //---
 ÊÐÈÒÅÐÈÈ [1][1] = ÊÐÈÒÅÐÈÉ.ÏÐÈÁÛËÜ.;//ÌÈÍ ×ÈÑÒÀß ÏÐÈÁÛËÜ
 ÊÐÈÒÅÐÈÈ [1][2] = ÊÐÈÒÅÐÈÉ.ÌÈÍ.ÑÄÅËÎÊ.;//ÌÈÍ âñåãî ñäåëîê
 ÊÐÈÒÅÐÈÈ [1][3] = ÊÐÈÒÅÐÈÉ.ÌÈÍ.ÏÐÎÖ.ÏÐÎÔÈÒ.;//ÌÈÍ % ïðîôèòà
 ÊÐÈÒÅÐÈÈ [1][4] = ÊÐÈÒÅÐÈÉ.ÌÈÍ.ÏÐÎÖ.ÏÐÈÁ.ÑÄÅËÎÊ.;//ÌÈÍ % ïðîöåíò ïðèáûëüíûõ ñäåëîê
 //--- 
 ArrayResize(ÎÏÒÈÌÈÇ_ÏÀÐÀÌÅÒÐÛ, ×ÈÑËÎ.ÏÀÐÀÌÅÒÐÎÂ. + 1);
 //---
 ArrayResize(ÏÎÊÀÇÀÒÅËÈ_ÎÏÒÈÌÈÇ, ×ÈÑËÎ.ÏÀÐÀÌÅÒÐÎÂ. + 1);
 //~~~~
 ArrayResize(ÊÐÈÒÅÐÈÉ_ÎÏÒÈÌÈÇ, ×ÈÑËÎ.ÏÀÐÀÌÅÒÐÎÂ. + 1);
 
 //*******************************
 // ÊÎÐÐÅÊÒÈÐÓÞ ÏÎ ÇÍÀÊÀÌ ÑÒÎÏÛ
 //*******************************1
 if(Digits==5 || Digits==3) 
 {
  ÌÈÍ.ÑÒÎÏ. = ÌÈÍ.ÑÒÎÏ. * 10; 
  ÌÀÊÑ.ÑÒÎÏ.= ÌÀÊÑ.ÑÒÎÏ.* 10;
  ÌÈÍ.ÒÅÉÊ. = ÌÈÍ.ÒÅÉÊ. * 10; 
  ÌÀÊÑ.ÒÅÉÊ.= ÌÀÊÑ.ÒÅÉÊ.* 10;   
 }
 //*******************************1 

 //*******************************
 // ÊÎÐÐÅÊÒÈÐÓÞ ÏÎ ÇÍÀÊÀÌ SLIPAGE.
 //*******************************1
 if(Digits==5 || Digits==3) 
 SLIPAGE. = SLIPAGE.*10; 
 else 
 SLIPAGE. = SLIPAGE.;
 //*******************************1
 //>>>>>>>>>>>>>>
}
//===========================================

//000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

//===========================================
int start()
//===========================================
{
 //<<<<<<<<<<<<<<
 ÏÐÀÊÒÈÊÀ();
 //>>>>>>>>>>>>>>
}
//===========================================

//000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

//===========================================
int deinit()
//===========================================
{
 //<<<<<<<<<<<<<<
 
 //>>>>>>>>>>>>>>
}
//===========================================

//000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

//===========================================
int ÏÐÀÊÒÈÊÀ()
//===========================================
{
 //<<<<<<<<<<<<<<

 //*************************
 // ÎÒÊÐÛÂÀÞ ÏÐÈ ÎÒÑÓÒÑÒÂÈÈ
 //*************************1
 if(NEW_BAR(0))
 if(!SEARCH_ORDRS(_Magic_b) && !SEARCH_ORDRS(_Magic_s))
 {
  //******************************************
  // ÃÅÍÅÐÈÐÓÞ ÂÕÎÄÍÛÅ ÏÀÐÀÌÅÒÐÛ
  //******************************************2
  for(int b1=1;b1<=×ÈÑËÎ.ÏÀÐÀÌÅÒÐÎÂ.;b1++)
  {
   ÎÏÒÈÌÈÇ_ÏÀÐÀÌÅÒÐÛ [b1][1] = RAND_int(ÌÈÍ.ÑÒÎÏ., ÌÀÊÑ.ÑÒÎÏ.);
   ÎÏÒÈÌÈÇ_ÏÀÐÀÌÅÒÐÛ [b1][2] = RAND_int(ÌÈÍ.ÒÅÉÊ., ÌÀÊÑ.ÒÅÉÊ.);
   ÎÏÒÈÌÈÇ_ÏÀÐÀÌÅÒÐÛ [b1][3] = RAND_int(0, 1);
  }
  //******************************************2
  
  //******************************************
  // ÎÏÒÈÌÈÇÈÐÓÞ
  //******************************************2
  int Àêòóàëüíûé_ïàðàìåòð = ÎÏÒÈÌÈÇÀÖÈß(0, ÎÏÒÈÌÈÇÀÖÈß.ÃËÓÁÈÍÀ., ÎÏÒÈÌÈÇ_ÏÀÐÀÌÅÒÐÛ, ×ÈÑËÎ.ÏÀÐÀÌÅÒÐÎÂ., ÊÐÈÒÅÐÈÈ);
  //******************************************2

  //******************************************
  // ÄÓÌÀÞ È ÄÅËÀÞ Â ÇÀÂÈÑÈÌÎÑÒÈ ÎÒ ÑÈÒÓÀÖÈÈ
  //******************************************2
  if(Àêòóàëüíûé_ïàðàìåòð != 0)
  {
   double Ñòîï = ÎÏÒÈÌÈÇ_ÏÀÐÀÌÅÒÐÛ [Àêòóàëüíûé_ïàðàìåòð][1];
   double Òåéê = ÎÏÒÈÌÈÇ_ÏÀÐÀÌÅÒÐÛ [Àêòóàëüíûé_ïàðàìåòð][2];
   //---
   if(ÎÏÒÈÌÈÇ_ÏÀÐÀÌÅÒÐÛ [Àêòóàëüíûé_ïàðàìåòð][3] == OP_BUY)
   {
    BUY(ËÎÒ., SLIPAGE., Ñòîï, Òåéê, _Magic_b);
    //---
    _Ñòîï_1 = Open [0] - Ñòîï*Point;
    _Òåéê_1 = Open [0] + Òåéê*Point;
   }
   //---
   if(ÎÏÒÈÌÈÇ_ÏÀÐÀÌÅÒÐÛ [Àêòóàëüíûé_ïàðàìåòð][3] == OP_SELL)
   {
    SELL(ËÎÒ., SLIPAGE., Ñòîï, Òåéê, _Magic_s);
    //---
    _Ñòîï_1 = Open [0] + Ñòîï*Point;
    _Òåéê_1 = Open [0] - Òåéê*Point;
   }
  }
  //******************************************2
 }
 //*************************1
 
 //>>>>>>>>>>>>>>
}
//===========================================

//000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

//**************************************************************
// ÑËÓ×ÀÉÍÎÅ ×ÈÑËÎ ÎÏÐÅÄÅËÅÍÍÎÃÎ ÄÈÀÏÀÇÎÍÀ(ÎÃÐÀÍÈ×ÅÍ 4 ÖÈÔÐÀÌÈ!)
//*************************************************************1
//=============================
int RAND_int(int MIN, int MAX)
//=============================
{
 return(MathRand() / 32768.0 * (MAX - MIN + 1) + MIN);
}
//=============================
//*************************************************************1

//000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

//**************************************************************
// ÎÏÒÈÌÈÇÀÖÈß
//*************************************************************1
//========================================================================================================
int ÎÏÒÈÌÈÇÀÖÈß(int íà÷àëî,int ãëóáèíà,double& ïàðàìåòðû [][],int ÷èñëî_ïàðàìåòðîâ,double êðèòåðèè [][])
//========================================================================================================
{
 int    Ëó÷øèé_ïàðàìåòð      = 0;
 double Êðèòåðèé_ïàðàìåòðà_1 = 0;
 //---
 int ×èñëî_ïðûáûëüíûõ_ñäåëîê = 0;
 int ×èñëî_óáûòî÷íûõ_ñäåëîê  = 0;
 //---
 double Îáùàÿ_ïðûáûëü = 0.0;
 double Îáùèé_óáûòîê  = 0.0;
 //---
 double Îòêðûò_öåíà = 0.0;
 double Îòêðûò_ñòîï = 0.0;
 double Îòêðûò_òåéê = 0.0;
 int    Îòêðûòî = 0;
 //---
 bool Ïðîâåðÿòü_ñòîï;
 bool Ïðîâåðÿòü_òåéê; 
 //---
 int  Ïîñëåäíåå_ñîáûòèå = 0;
 
 //******************************************
 // ÏÐÎÃÎÍ ÂÑÅÕ ÏÀÐÀÌÅÒÐÎÂ
 //******************************************1
 for(int b1=1;b1<=÷èñëî_ïàðàìåòðîâ;b1++)
 {
  //*********************
  // ÃÎÒÎÂËÞ ÏÎÊÀÇÀÒÅËÈ
  //*********************2
  ×èñëî_ïðûáûëüíûõ_ñäåëîê = 0;
  ×èñëî_óáûòî÷íûõ_ñäåëîê  = 0;
  //---
  Îáùàÿ_ïðûáûëü = 0.0;
  Îáùèé_óáûòîê  = 0.0;
  //---
  Îòêðûòî = 0;
  //---
  Ïîñëåäíåå_ñîáûòèå = 0;
  //*********************2
  
  //*********************
  // ÏÐÃÎÍßÞ
  //*********************2
  for(int b2=íà÷àëî;b2<íà÷àëî+ãëóáèíà;b2++)
  {
   //*********************
   // ÎÒÊÐÛÂÀÞ
   //*********************3
   if(Îòêðûòî == 0)
   {
    if(ïàðàìåòðû [b1][3] == OP_BUY)
    {
     Îòêðûò_öåíà = Open [b2];
     //---
     Îòêðûò_ñòîï = Îòêðûò_öåíà + ïàðàìåòðû [b1][1]*Point;
     Îòêðûò_òåéê = Îòêðûò_öåíà - ïàðàìåòðû [b1][2]*Point;
     Îòêðûòî = 1;
    }
    //---
    if(ïàðàìåòðû [b1][3] == OP_SELL)
    {
     Îòêðûò_öåíà = Open [b2];
     //---
     Îòêðûò_ñòîï = Îòêðûò_öåíà - ïàðàìåòðû [b1][1]*Point;
     Îòêðûò_òåéê = Îòêðûò_öåíà + ïàðàìåòðû [b1][2]*Point;
     Îòêðûòî = 1;
    }
   }
   //*********************3
   
   //*********************
   // ÏÐÎÂÅÐßÞ ÎÒÊÐÛÒÛÅ
   //*********************3
   if(Îòêðûòî == 1)
   {
    if(ïàðàìåòðû [b1][3] == OP_BUY)
    {
     Ïðîâåðÿòü_òåéê = true;
     
     //*********************
     // ÑÒÎÏ
     //*********************4
     if(High [b2] >= Îòêðûò_ñòîï)
     {
      ×èñëî_óáûòî÷íûõ_ñäåëîê ++;
      //---
      Îáùèé_óáûòîê += MathAbs(Îòêðûò_öåíà - Îòêðûò_ñòîï) / Point;
      //---
      Îòêðûòî = 0;
      //---
      Ïðîâåðÿòü_òåéê = false;
     } 
     //*********************4  
     
     //*********************
     // ÒÅÉÊ
     //*********************4
     if(Ïðîâåðÿòü_òåéê)
     {
      if(Low [b2] <= Îòêðûò_òåéê)
      //if(Open [b2] <= Îòêðûò_òåéê)
      {
       ×èñëî_ïðûáûëüíûõ_ñäåëîê ++;
       //---
       Îáùàÿ_ïðûáûëü += MathAbs(Îòêðûò_òåéê-Îòêðûò_öåíà) / Point;
       //---
       Îòêðûòî = 0;
      }
     } 
     //*********************4
    }
    //---
    if(ïàðàìåòðû [b1][3] == OP_SELL)
    {
     Ïðîâåðÿòü_òåéê = true;
     
     //*********************
     // ÑÒÎÏ
     //*********************4
     if(Low [b2] <= Îòêðûò_ñòîï)
     //if(Open [b2] <= Îòêðûò_ñòîï)
     {
      ×èñëî_óáûòî÷íûõ_ñäåëîê ++;
      //---
      Îáùèé_óáûòîê += MathAbs(Îòêðûò_ñòîï - Îòêðûò_öåíà) / Point;
      //---
      Îòêðûòî = 0;
      //---
      Ïðîâåðÿòü_òåéê = false;
     } 
     //*********************4
     
     //*********************
     // ÒÅÉÊ
     //*********************4
     if(Ïðîâåðÿòü_òåéê)
     {
      if(High [b2] >= Îòêðûò_òåéê)
      //if(Open [b2] >= Îòêðûò_òåéê)
      {
       ×èñëî_ïðûáûëüíûõ_ñäåëîê ++;
       //---
       Îáùàÿ_ïðûáûëü += MathAbs(Îòêðûò_öåíà - Îòêðûò_òåéê) / Point;
       //---
       Îòêðûòî = 0;
      }
     } 
     //*********************4
    } 
   }
   //*********************3
  }
  //*********************2
  
  b2 --;
  
  //************************
  // ÊÎÍÅÖ ÏÐÎÂÅÐßÞ ÎÒÊÐÛÒÛÅ
  //************************2
  if(Îòêðûòî == 1)
  {
   if(ïàðàìåòðû [b1][3] == OP_BUY)
   { 
    //*********************
    // ÏÐÈÁÛËÜ
    //*********************3
    if(Close [b2] <= Îòêðûò_öåíà)
    {
     ×èñëî_ïðûáûëüíûõ_ñäåëîê ++;
     //---
     Îáùàÿ_ïðûáûëü += MathAbs(Close [b2] - Îòêðûò_öåíà) / Point;
     //---
     Îòêðûòî = 0;
    }
    //*********************3
     
    //*********************
    // ÓÁÛÒÎÊ
    //*********************3
    if(Close [b2] > Îòêðûò_öåíà)
    {
     ×èñëî_óáûòî÷íûõ_ñäåëîê ++;
     //---
     Îáùèé_óáûòîê += MathAbs(Close [b2] - Îòêðûò_öåíà) / Point;
     //---
     Îòêðûòî = 0;
    } 
    //*********************3
   }
   //---
   if(ïàðàìåòðû [b1][3] == OP_SELL)
   {
    //*********************
    // ÏÐÈÁÛËÜ
    //*********************3
    if(Close [b2] >= Îòêðûò_öåíà)
    {
     ×èñëî_ïðûáûëüíûõ_ñäåëîê ++;
     //---
     Îáùàÿ_ïðûáûëü += MathAbs(Close [b2] - Îòêðûò_öåíà) / Point;
     //---
     Îòêðûòî = 0;
    }
    //*********************3
     
    //*********************
    // ÓÁÛÒÎÊ
    //*********************3
    if(Close [b2] < Îòêðûò_öåíà)
    {
     ×èñëî_óáûòî÷íûõ_ñäåëîê ++;
     //---
     Îáùèé_óáûòîê += MathAbs(Close [b2] - Îòêðûò_öåíà) / Point;
     //---
     Îòêðûòî = 0;
    } 
    //*********************3
   } 
  }
  //************************2
  
  //********************************
  // ÑÍÈÌÀÞ È ÇÀÏÎÌÈÍÀÞ ÏÎÊÀÇÀÒÅËÈ
  //********************************2
  ÏÎÊÀÇÀÒÅËÈ_ÎÏÒÈÌÈÇ [b1][1] = ×èñëî_ïðûáûëüíûõ_ñäåëîê;
  ÏÎÊÀÇÀÒÅËÈ_ÎÏÒÈÌÈÇ [b1][2] = ×èñëî_óáûòî÷íûõ_ñäåëîê;
  //---
  ÏÎÊÀÇÀÒÅËÈ_ÎÏÒÈÌÈÇ [b1][3] = Îáùàÿ_ïðûáûëü;
  ÏÎÊÀÇÀÒÅËÈ_ÎÏÒÈÌÈÇ [b1][4] = Îáùèé_óáûòîê;
  //---
  ÏÎÊÀÇÀÒÅËÈ_ÎÏÒÈÌÈÇ [b1][5] = ×èñëî_ïðûáûëüíûõ_ñäåëîê + ×èñëî_óáûòî÷íûõ_ñäåëîê;//âñåãî ñäåëîê
  //---
  if(Îáùàÿ_ïðûáûëü+Îáùèé_óáûòîê != 0 )
  ÏÎÊÀÇÀÒÅËÈ_ÎÏÒÈÌÈÇ [b1][6] = Îáùàÿ_ïðûáûëü / ((Îáùàÿ_ïðûáûëü + Îáùèé_óáûòîê) / 100.0);//% ïðîôèòà
  //---
  if(ÏÎÊÀÇÀÒÅËÈ_ÎÏÒÈÌÈÇ [b1][5] != 0 )
  ÏÎÊÀÇÀÒÅËÈ_ÎÏÒÈÌÈÇ [b1][7] = ×èñëî_ïðûáûëüíûõ_ñäåëîê / ((×èñëî_ïðûáûëüíûõ_ñäåëîê + ×èñëî_óáûòî÷íûõ_ñäåëîê) / 100.0);//% ïðèáûëüíûõ ñäåëîê
  //---
  ÊÐÈÒÅÐÈÉ_ÎÏÒÈÌÈÇ [b1] = Îáùàÿ_ïðûáûëü - Îáùèé_óáûòîê;
  //********************************2
 }
 //******************************************1
 
 //*********************************
 // ÂÛÁÈÐÀÞ ÑÀÌÛÉ ËÓרÈÉ ÐÅÇÓÄÜÒÀÒ
 //*********************************1
 for(b1=1;b1<=÷èñëî_ïàðàìåòðîâ;b1++)
 {
  if(ÊÐÈÒÅÐÈÉ_ÎÏÒÈÌÈÇ [b1]      >= êðèòåðèè [1][1])
  if(ÏÎÊÀÇÀÒÅËÈ_ÎÏÒÈÌÈÇ [b1][5] >= êðèòåðèè [1][2])
  if(ÏÎÊÀÇÀÒÅËÈ_ÎÏÒÈÌÈÇ [b1][6] >= êðèòåðèè [1][3])
  if(ÏÎÊÀÇÀÒÅËÈ_ÎÏÒÈÌÈÇ [b1][7] >= êðèòåðèè [1][4])
  {
   if(ÊÐÈÒÅÐÈÉ_ÎÏÒÈÌÈÇ [b1] > Êðèòåðèé_ïàðàìåòðà_1)
   {
    Êðèòåðèé_ïàðàìåòðà_1 = ÊÐÈÒÅÐÈÉ_ÎÏÒÈÌÈÇ [b1];
    //---
    Ëó÷øèé_ïàðàìåòð = b1;
   }
  }
 }
 //*********************************1
 
 //*********************************
 // ÃÎÒÎÂÎ
 //*********************************1
 return( Ëó÷øèé_ïàðàìåòð );
 //*********************************1
}
//=================================================================================
//*************************************************************1

//000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

//*************************************
//  ÅÑÒÜ ÎÒÊÐÛÒÛÅ ÎÐÄÅÐÀ ïî çàä MAGIC? 
//************************************1
//================================
bool SEARCH_ORDRS(int ìàãèê)  
//================================
{ 
 if(OrdersTotal()>0)
 {
  for(int i=0; i<OrdersTotal(); i++) 
  {
   if(OrderSelect(i,SELECT_BY_POS, MODE_TRADES)) 
   {
    if( OrderSymbol()==Symbol() && OrderMagicNumber()==ìàãèê) 
    {
     return(TRUE);//ÅÑÒÜ... 
    }
   }
  }
 } 
 else 
 return(false);//ÍÅÒ...
}
//================================
//************************************1

//00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
            
//*****************
//  ÎÒÊÐÛÒÈÅ BUY 
//****************1
//======================================================================================================================+
bool BUY(double ëîò,int ñëèïàã,int ñòîï,int òåéê,int ìàãèê,color öâåò = Blue)  
//======================================================================================================================+
{ 
 double MinLot = MarketInfo(Symbol(),MODE_MINLOT);
 double MaxLot = MarketInfo(Symbol(),MODE_MAXLOT);
 //---
 if(ëîò > MaxLot)
 {
  Print("!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-! ÎØÈÁÊÀ ÎÒÊÐÛÒÈß BUY = ÁÎËÜØÎÉ ËÎÒ !-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!");
  return(false);
 }
 //---
 if(ëîò < MinLot)
 {
  Print("!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-! ÎØÈÁÊÀ ÎÒÊÐÛÒÈß BUY = ÌÀËÅÍÜÊÈÉ ËÎÒ !-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!");
  return(false);
 }
 //---
 double ñòîïLEVEL = MarketInfo(Symbol(),MODE_STOPLEVEL);
 double ñòîï_1 = 0;
 //---
 if( ñòîï >= ñòîïLEVEL )
 ñòîï_1 = NormalizeDouble(Bid - ñòîï*Point,Digits);
 //---
 if( ñòîï < ñòîïLEVEL && ñòîï != 0.0 )
 {
  Print("!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-! ÎØÈÁÊÀ ÎÒÊÐÛÒÈß BUY = ÌÀËÅÍÜÊÈÉ ÑÒÎÏ !-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!");
  return(false);
 }
 //---
 double òåéê_1 = 0;
 //---
 if( òåéê >= ñòîïLEVEL )
 òåéê_1 = NormalizeDouble(Bid + òåéê*Point,Digits);
 //---
 if( òåéê < ñòîïLEVEL && òåéê != 0.0 )
 {
  Print("!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-! ÎØÈÁÊÀ ÎÒÊÐÛÒÈß BUY = ÌÀËÅÍÜÊÈÉ ÒÅÉÊ !-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!");
  return;
 }
 //---
 int Ticket = OrderSend(Symbol(),OP_BUY,ëîò,Ask,ñëèïàã, ñòîï_1 ,òåéê_1 ,"",ìàãèê,0,öâåò);
 //---        
 if( Ticket >= 0 )
 {             
  Print("ÊÓÏÈË");
  return(true);
 } 
 else
 {
  Print("!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-! ÎØÈÁÊÀ ÎÒÊÐÛÒÈß BUY = "+GetLastError()+" !-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!");
  return(false);
 } 
}
//======================================================================================================================+
//****************1

//00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
        
//****************
//  ÎÒÊÐÛÒÈÅ SELL 
//***************1
//=============================================================================+
bool SELL(double ëîò,int ñëèïàã,int ñòîï,int òåéê,int ìàãèê,color öâåò = Red) 
//=============================================================================+
{ 
 double minLot = MarketInfo(Symbol(), MODE_MINLOT);
 double maxLot = MarketInfo(Symbol(), MODE_MAXLOT);
 //---
 if(ëîò > maxLot)
 {
  Print("!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-! ÎØÈÁÊÀ ÎÒÊÐÛÒÈß SELL = ÁÎËÜØÎÉ ËÎÒ !-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!");
  return(false);
 }
 //---
 if(ëîò < minLot)
 {
  Print("!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-! ÎØÈÁÊÀ ÎÒÊÐÛÒÈß SELL = ÌÀËÅÍÜÊÈÉ ËÎÒ !-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!");
  return(false);
 }
 //--- 
 int ñòîïLEVEL = MarketInfo(Symbol(),MODE_STOPLEVEL);
 //---
 double ñòîï_1 = 0;
 //---
 if( ñòîï >= ñòîïLEVEL )
 ñòîï_1=NormalizeDouble(Ask+ñòîï*Point , Digits);
 //---
 if( ñòîï < ñòîïLEVEL && ñòîï != 0 )
 {
  Print("!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-! ÎØÈÁÊÀ ÎÒÊÐÛÒÈß SELL = ÌÀËÅÍÜÊÈÉ ÑÒÎÏ !-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!");
  return(false);
 }
 //---
 double òåéê_1 = 0;
 //---
 if( òåéê >= ñòîïLEVEL )
 òåéê_1 = NormalizeDouble(Ask-òåéê*Point,Digits);
 //---
 if( òåéê < ñòîïLEVEL && òåéê != 0 )
 {
  Print("!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-! ÎØÈÁÊÀ ÎÒÊÐÛÒÈß SELL = ÌÀËÅÍÜÊÈÉ ÒÅÉÊ !-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!");
  return(false);
 }
 //----
 int Ticket = OrderSend(Symbol(),OP_SELL,ëîò,Bid,ñëèïàã, ñòîï_1 ,òåéê_1 ,"",ìàãèê,0,öâåò);
 //----        
 if( Ticket >= 0 )
 {           
  Print("ÏÐÎÄÀË");
  return(true);
 } 
 else
 {
  Print("!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-! ÎØÈÁÊÀ ÎÒÊÐÛÒÈß SELL = "+GetLastError()+" !-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!"); 
  return(false);
 } 
}
//============================================================================================================================+
//***************1

//00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

datetime New_Time[1441];

//*******************
//  ËÎÂËß ÍÎÂÎÃÎ ÁÀÐÀ
//******************1
//=========================
bool NEW_BAR(int period)                   // Ô-èÿ îáíàðóæåíèÿ ..
//=========================
{                                             // .. íîâîãî áàðà
 if(New_Time[period]!=iTime(NULL,period,0))   // Ñðàâíèâàåì âðåìÿ
 {
  New_Time[period]=iTime(NULL,period,0);      // Òåïåðü âðåìÿ òàêîå
  return(true);                               // Ïîéìàëñÿ íîâûé áàð
 }
 else
 return(false);
}
//=========================
//******************1

//00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---