exp_Lego_1_original

Author: Seletsky R.V.
Orders Execution
Checks for the total of closed ordersChecks for the total of open ordersIt Closes Orders by itself It automatically opens orders when conditions are reached
Indicators Used
Moving average indicatorStochastic oscillatorBill Williams Awesome oscillatorBill Williams Accelerator/Decelerator oscillatorDeMarker indicatorCommodity channel index
Miscellaneous
It issuies visual alerts to the screen
0 Views
0 Downloads
0 Favorites
exp_Lego_1_original
//+------------------------------------------------------------------+
//|                                                     exp_Lego.mq4 |
//|                      Copyright © 2010, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Seletsky R.V."
#property link      "http://www"

//-------------------------------------------------------------------+
//                                                                   |
//--------------------------------------------------------------- 1--+
extern   string    Áëîê1              =  "----  Âêëþ÷åíèå èíäèêàòîðîâ ---- ";

extern   string   b1                    =  "---- ---- ---- ----Maøêè";
extern bool  otkr_MA    =true;
extern bool  zakr_MA    =true;
extern double MA1           =14;
extern double MA2           =67;

extern double Shift_ma      =1;

extern   string   c1                    =  "---- ---- ---- ----Ñòîõàñòèê";
extern bool   otkr_Stoh   =false;
extern bool   zakr_Stoh   =false;
extern double per_K=5;
extern double per_D=3;
extern double slow=3;
extern double zoneBUY=30;
extern double zoneSELL=70;

extern   string   d1                    =  "---- ---- ---- ----Awesome";
extern bool   otkr_AO   =false;
extern bool   zakr_AO   =false;

extern   string   e1                    =  "---- ---- ---- ----Accelerator";
extern bool   otkr_AC   =false;
extern bool   zakr_AC   =false;

extern   string   f1                    =  "---- ---- ---- ----Demarker";
extern bool   otkr_Dema   =false;
extern bool   zakr_Dema   =false;
extern double DeMa_period=14;
extern double niz_ur=0.3;
extern double verx_ur=0.7;

extern   string   g1                    =  "---- ---- ---- ----CCI";
extern bool   otkr_CCI   =false;
extern bool   zakr_CCI   =false;
extern double CCI_period=14;

extern   string   h1                    =  "---- ---- ---- RSI Slot";

extern   string   j1                    =  "---- ---- ---- MACD Slot";

extern   string   k1                    =  "---- ---- ---- Slot";  // Maybe... Add STANDARD DEVIATION???
extern   string   l1                    =  "---- ---- ---- Slot";
extern   string   m1                    =  "---- ---- ---- Slot";
extern   string   n1                    =  "---- ---- ---- Slot";
extern   string   o1                    =  "---- ---- ---- Slot";
extern   string   p1                    =  "---- ---- ---- Slot";
extern   string    Áëîê2              =  "----  Ïàðàìåòðû òîðãîâëè ---- ";
            
extern double StopLoss    =200;      // SL äëÿ îòêðûâàåìîãî îðäåðà
extern double TakeProfit  =200;      // ÒÐ äëÿ îòêðûâàåìîãî îðäåðà
extern double Lts0        =0.1;     // Æåñòêî çàäàííîå êîëè÷. ëîòîâ
extern double IK          =1;      // Óìíîæåíèå Lts0 * IK åñëè ïîñëåäíèé îðäåð áûë çàêðûò â ìèíóñ

extern bool    SleepBars  =true;    // Ïàóçà ïîñëå çàêðûòèÿ îðäåðå â 2000 ñåêóíä

bool Work=true;                    // Ýêñïåðò áóäåò ðàáîòàòü.
bool OrderSal;
string Symb;                       // Íàçâàíèå ôèíàíñ. èíñòðóìåíòà

//--------------------------------------------------------------- 2 --

//-----------------------------------------------------------
int start()
  {
   int
  
   Total,                           // Êîëè÷åñòâî îðäåðîâ â îêíå 
   Tip=-1,                          // Òèï âûáðàí. îðäåðà (B=0,S=1)
   Ticket;                          // Íîìåð îðäåðà
  
   double
   Lot,                             // Êîëè÷. ëîòîâ â âûáðàí.îðäåðå
   Lts,                             // Êîëè÷. ëîòîâ â îòêðûâ.îðäåðå
   lot,
   Min_Lot,                         // Ìèíèìàëüíîå êîëè÷åñòâî ëîòîâ
   Step,                            // Øàã èçìåíåíèÿ ðàçìåðà ëîòà
   Free,                            // Òåêóùèå ñâîáîäíûå ñðåäñòâà
   One_Lot,                         // Ñòîèìîñòü îäíîãî ëîòà
   Price,                           // Öåíà âûáðàííîãî îðäåðà
   SL,                              // SL âûáðàííîãî îðäåðà 
   TP,                              // TP âûáðàííîãî îðäåðà
   //--
   ma_By,ma_Sell,Stoh_By,Stoh_Sell,AO_By,AO_Sell,AC_By,AC_Sell,Cls_ma_Sell,Cls_ma_By,Cls_Stoh_Sell,Cls_Stoh_By,
   Cls_AO_Sell,Cls_AO_By,Cls_AC_Sell,Cls_AC_By,Dema_By,Cls_Dema_Sell,Dema_Sell,Cls_Dema_By,CCI_By,CCI_Sell,Cls_CCI_Sell,Cls_CCI_By;
   
 bool
   Modific=true,
   Ans  =false,                     // Îòâåò ñåðâåðà ïîñëå çàêðûòèÿ
   Cls_B=false,                     // Êðèòåðèé äëÿ çàêðûòèÿ  Buy
   Cls_S=false,                     // Êðèòåðèé äëÿ çàêðûòèÿ  Sell
   Opn_B=false,                     // Êðèòåðèé äëÿ îòêðûòèÿ  Buy
   Opn_S=false,                     // Êðèòåðèé äëÿ îòêðûòèÿ  Sell
   S_Bar=false;                 // Êðèòåðèé äëÿ Sleep Bar
   
//------------------------------------------------------------------------------ 
   
  
//-------------------- Ïàóçà ïîñëå çàêðûòîãî îðäåðà------------------ 2 -
  
int time0 = 0;                                                  // Îáüÿâëÿåì íåîáõîäèìûå ïåðåìåííûå
for(int t0 = OrdersHistoryTotal();t0>=0;t0--)                   // Ïåðåáèðàåì âñå çàêðûòûå îðäåðà
if(OrderSelect(t0, SELECT_BY_POS,MODE_HISTORY )==true)          // Åñëè îðäåð ñ òàêèì íîìåðîì (i) â ñïèñêå çàêðûòûõ îðäåðîâ åñòü ( íå ïóòàòü ñ òèêåòîì)
    {
      if( iTime(NULL,0,0)-OrderOpenTime() <2000 && SleepBars==true) //Óñëîâèÿ ïàóçû 
                 {                                         
                    S_Bar=true;                                // Äåéñòâèÿ   iTime(NULL,0,1)
                    Alert("Ïåðåêóð.Çà..àëñÿ ÿ");                                           
                 }
      //    return(0); 
           }
//----------------------------------------------------------------------
  
   
//-------------------- Ïðåäâàðèò.îáðàáîòêà-------------------------- 3 -    

   if(Bars<2)                       // Íåäîñòàòî÷íî áàðîâ
     {
      Alert("Íåäîñòàòî÷íî áàðîâ â îêíå. Ýêñïåðò íå ðàáîòàåò.");
      return;                                   // Âûõîä èç start()
     }
   if(Work==false)                              // Êðèòè÷åñêàÿ îøèáêà
     {
      Alert("Êðèòè÷åñêàÿ îøèáêà. Ýêñïåðò íå ðàáîòàåò.");
      return;                                   // Âûõîä èç start()
     }
//------------------------------------------------------------------------------    
     
     
//------------------------------Ó÷¸ò îðäåðîâ--------------------------------- 4 --
Symb=Symbol();                               // Íàçâàíèå ôèí.èíñòð.
   Total=0;                                     // Êîëè÷åñòâî îðäåðîâ
   for(int i=1; i<=OrdersTotal(); i++)          // Öèêë ïåðåáîðà îðäåð
     {
      if (OrderSelect(i-1,SELECT_BY_POS)==true) // Åñëè åñòü ñëåäóþùèé
        {                                       // Àíàëèç îðäåðîâ:
         if (OrderSymbol()!=Symb)continue;      // Íå íàø ôèí. èíñòðóì
         if (OrderType()>1)                     // Ïîïàëñÿ îòëîæåííûé
           {
            Alert("Îáíàðóæåí îòëîæåííûé îðäåð. Ýêñïåðò íå ðàáîòàåò.");
            return;                             // Âûõîä èç start()
           }
         Total++;                               // Ñ÷¸ò÷èê ðûíî÷í. îðä
         if (Total>1)                           // Íå áîëåå îäíîãî îðä --                                 ÎËÎËÎ, íå áîëüøå îäíîãî îðäåðà! Ýòî íàäî áû âûïèëèòü...
           {
            Alert("Íåñêîëüêî ðûíî÷íûõ îðäåðîâ. Ýêñïåðò íå ðàáîòàåò.");
            return;                             // Âûõîä èç start()
           }
         Ticket=OrderTicket();                  // Íîìåð âûáðàíí. îðä.
         Tip   =OrderType();                    // Òèï âûáðàííîãî îðä.
         Price =OrderOpenPrice();               // Öåíà âûáðàíí. îðä.
         SL    =OrderStopLoss();                // SL âûáðàííîãî îðä.
         TP    =OrderTakeProfit();              // TP âûáðàííîãî îðä.
         Lot   =OrderLots();                    // Êîëè÷åñòâî ëîòîâ
        }
     }  
  
 
//---------------------------Òîðãîâûå êðèòåðèè------------------------------------ 5 --
     
//Ìàøêè:------------------------------------
 if(otkr_MA==true)
              {
               if( iMA(NULL,0,MA1,0,MODE_SMA,PRICE_CLOSE,Shift_ma)>iMA(NULL,0,MA2,0,MODE_SMA,PRICE_CLOSE,Shift_ma))
                 {
                  ma_By =true;
                 } 
               if(iMA(NULL,0,MA1,0,MODE_SMA,PRICE_CLOSE,Shift_ma)<iMA(NULL,0,MA2,0,MODE_SMA,PRICE_CLOSE,Shift_ma))
                 {
                  ma_Sell =true;
                 } 
               }
               
 if(zakr_MA==true)
              {
               if( iMA(NULL,0,MA1,0,MODE_SMA,PRICE_CLOSE,Shift_ma)>iMA(NULL,0,MA2,0,MODE_SMA,PRICE_CLOSE,Shift_ma))
                 {
                  Cls_ma_Sell=true;
                 } 
               if(iMA(NULL,0,MA1,0,MODE_SMA,PRICE_CLOSE,Shift_ma)<iMA(NULL,0,MA2,0,MODE_SMA,PRICE_CLOSE,Shift_ma))
                 {
                  Cls_ma_By=true;
                 } 
               }             
//Ñòîõàñòèê:-------------------------------
 if(otkr_Stoh==true)
          {
               if(iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,0,1)>iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,1,1)
                  && iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,1,1)<zoneBUY)
                   {
                   Stoh_By =true;
                   }
              if(iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,0,1)<iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,1,1)
                 && iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,1,1)>zoneSELL)
                  {
                  Stoh_Sell =true;
                  } 
               }      
               
 if(zakr_Stoh==true)
          {
              if(iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,0,1)>iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,1,1)
                 && iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,1,1)<zoneBUY)
                   {
                   Cls_Stoh_Sell=true;
                   }
             if(iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,0,1)<iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,1,1)
                 && iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,1,1)>zoneSELL)
                  {
                  Cls_Stoh_By=true;
                  } 
               }               
//Awesome:--------------------------------
  if(otkr_AO==true)
        {
              if(iAO(NULL,0,0)>iAO(NULL,0,1))
                  {
                   AO_By =true;
                  }    
              if(iAO(NULL,0,0)<iAO(NULL,0,1))
                  {
                   AO_Sell =true;
                  } 
               } 
               
if(zakr_AO==true)
        {
           if(iAO(NULL,0,0)>iAC(NULL,0,1))
                  {
                   Cls_AO_Sell=true;
                  }    
            if(iAO(NULL,0,0)<iAC(NULL,0,1))
                  {
                   Cls_AO_By=true;
                  } 
               }                
//Accelerator:---------------------------
   if(otkr_AC==true)
               {          
               if (iAC(NULL,0,0)>=0 && iAC(NULL,0,0)>iAC(NULL,0,1) && iAC(NULL,0,1)>iAC(NULL,0,2) || iAC(NULL,0,0)<=0 && iAC(NULL,0,0)>iAC(NULL,0,1) && iAC(NULL,0,1)>iAC(NULL,0,2) && iAC(NULL,0,2)>iAC(NULL,0,3)) 
                  {
                   AC_By =true;
                  }    
               if (iAC(NULL,0,0)<=0 && iAC(NULL,0,0)<iAC(NULL,0,1) && iAC(NULL,0,1)<iAC(NULL,0,2) || iAC(NULL,0,0)>=0 && iAC(NULL,0,0)<iAC(NULL,0,1) && iAC(NULL,0,1)<iAC(NULL,0,2) && iAC(NULL,0,2)<iAC(NULL,0,3)) 
                  {
                   AC_Sell =true;
                  }  
                }   
            
  if(zakr_AC==true)
              {          
              if (iAC(NULL,0,0)>=0 && iAC(NULL,0,0)>iAC(NULL,0,1) && iAC(NULL,0,1)>iAC(NULL,0,2) || iAC(NULL,0,0)<=0 && iAC(NULL,0,0)>iAC(NULL,0,1) && iAC(NULL,0,1)>iAC(NULL,0,2) && iAC(NULL,0,2)>iAC(NULL,0,3)) 
                  {
                    Cls_AC_Sell=true;
                  }    
             if (iAC(NULL,0,0)<=0 && iAC(NULL,0,0)<iAC(NULL,0,1) && iAC(NULL,0,1)<iAC(NULL,0,2) || iAC(NULL,0,0)>=0 && iAC(NULL,0,0)<iAC(NULL,0,1) && iAC(NULL,0,1)<iAC(NULL,0,2) && iAC(NULL,0,2)<iAC(NULL,0,3)) 
                  {
                   Cls_AC_By=true;
                  }  
               }   
 //Demarker:---------------------------- 
 if(otkr_Dema==true) 
             {      
              if (iDeMarker(NULL, 0, DeMa_period, 0)<niz_ur) 
                  {
                   Dema_By =true;
                  }    
             if (iDeMarker(NULL, 0, DeMa_period, 0)>verx_ur) 
                  {
                   Dema_Sell =true;
                  }  
               }
          
 if(zakr_Dema==true) 
              {      
            if (iDeMarker(NULL, 0, DeMa_period, 0)<niz_ur) 
                  {
                   Cls_Dema_Sell=true;
                  }    
            if (iDeMarker(NULL, 0, DeMa_period, 0)>verx_ur) 
                  {
                   Cls_Dema_By=true;
                  }  
               }     
  //CCI:-------------------------------
 if(otkr_CCI==true)
             {      
            if (iCCI(NULL, 0,CCI_period,PRICE_MEDIAN, 1)<-100) 
                  {
                   CCI_By =true;
                  }    
            if (iCCI(NULL, 0,CCI_period,PRICE_MEDIAN,1)>100) 
                  {
                   CCI_Sell =true;
                  } 
               }                   
      
   if(zakr_CCI==true)
               {      
           if (iCCI(NULL, 0,CCI_period,PRICE_MEDIAN, 1)<-100) 
                  {
                   Cls_CCI_Sell=true;
                  }    
           if (iCCI(NULL, 0,CCI_period,PRICE_MEDIAN,1)>100) 
                  {
                   Cls_CCI_By=true;
                  } 
               }                   
                               
                                                                   
//--------------------------------Îòêðûòèå-----------------------------------------------//
  if (ma_By ==true||otkr_MA==false && Stoh_By ==true||otkr_Stoh==false &&
      AO_By ==true||otkr_AO==false && AC_By ==true||otkr_AC==false && Dema_By ==true||otkr_Dema==false &&
      CCI_By ==true||otkr_CCI==false)    
     {                                          
      Opn_B=true;                               // Êðèòåðèé îòêð. Buy
     }
//---------    
  if (ma_Sell==true||otkr_MA==false && Stoh_Sell ==true||otkr_Stoh==false &&
      AO_Sell ==true||otkr_AO==false && AC_Sell==true||otkr_AC==false && Dema_Sell ==true||otkr_Dema==false &&
      CCI_Sell ==true||otkr_CCI==false) 
     {                                          
      Opn_S=true;                               // Êðèòåðèé îòêð. Sell
     } 
//--------------------------------Çàêðûòèå-----------------------------------------------//
if (  Cls_ma_By==true||zakr_MA==false && Cls_Stoh_By==true||zakr_Stoh==false &&
      Cls_AO_By==true||zakr_AO==false && Cls_AC_By==true||zakr_AC==false && Cls_Dema_By==true||zakr_Dema==false &&    
     Cls_CCI_By==true||zakr_CCI==false)
     {                                          
      Cls_B=true;                               // Êðèòåðèé çàêð. Buy
     }   
 if ( Cls_ma_Sell==true||zakr_MA==false && Cls_Stoh_Sell==true||zakr_Stoh==false &&
      Cls_AO_Sell==true||zakr_AO==false && Cls_AC_Sell==true||zakr_AC==false && Cls_Dema_Sell==true||zakr_Dema==false &&    
     Cls_CCI_Sell==true||zakr_CCI==false)             
     {                                          
      Cls_S=true;                               // Êðèòåðèé çàêð. Sell
     } 
  
  
  
//-----------------------------Çàêðûòèå îðäåðîâ---------------------------------- 6 --
  
   while(true)                                  // Öèêë çàêðûòèÿ îðä.
     {
      if (Tip==0 && Cls_B==true)                // Îòêðûò îðäåð Buy..Óñëîâèÿ çàêðûòèÿ Buy
        {                                       //è åñòü êðèòåðèé çàêð
         Alert("Ïîïûòêà çàêðûòü Buy ",Ticket,". Îæèäàíèå îòâåòà..");
         RefreshRates();                        // Îáíîâëåíèå äàííûõ
         Ans=OrderClose(Ticket,Lot,Bid,2);      // Çàêðûòèå Buy
         if (Ans==true)                         // Ïîëó÷èëîñü :)
           {
            Alert ("Çàêðûò îðäåð Buy ",Ticket);
            
            break;                              // Âûõîä èç öèêëà çàêð
           }
         if (Fun_Error(GetLastError())==1)      // Îáðàáîòêà îøèáîê
            continue;                           // Ïîâòîðíàÿ ïîïûòêà
         return;                                // Âûõîä èç start()
        }

      if (Tip==1 && Cls_S==true)                // Îòêðûò îðäåð Sell..Óñëîâèÿ çàêðûòèÿ Sell
        {                                       // è åñòü êðèòåðèé çàêð
         Alert("Ïîïûòêà çàêðûòü Sell ",Ticket,". Îæèäàíèå îòâåòà..");
         RefreshRates();                        // Îáíîâëåíèå äàííûõ
         Ans=OrderClose(Ticket,Lot,Ask,2);      // Çàêðûòèå Sell
         if (Ans==true)                         // Ïîëó÷èëîñü :)
           {
            Alert ("Çàêðûò îðäåð Sell ",Ticket);
            
            break;                              // Âûõîä èç öèêëà çàêð
           }
         if (Fun_Error(GetLastError())==1)      // Îáðàáîòêà îøèáîê
            continue;                           // Ïîâòîðíàÿ ïîïûòêà
         return;                                // Âûõîä èç start()
        }
      break;                                    // Âûõîä èç while
     }
    
 
//-----------------------------Ñòîèìîñòü îðäåðîâ---------------------------------- 7 --
   
RefreshRates();                              // Îáíîâëåíèå äàííûõ   
 
    int time = 0;double profit = 0;           //îáüÿâëÿåì íåîáõîäèìûå íàì ïåðåìåííûå êóäà ìû ïîëîæèì èíòåðåñóþùèå íàñ õàðàêòåðèñòèêè îðäåðà

for(int t = OrdersHistoryTotal();t>=0;t--)   // Ïåðåáèðàåì âñå çàêðûòûå îðäåðà
{
  if(OrderSelect(t,SELECT_BY_POS,MODE_HISTORY))//åñëè îðäåð ñ òàêèì íîìåðîì (i) â ñïèñêå çàêðûòûõ îðäåðîâ åñòü ( íå ïóòàòü ñ òèêåòîì)
  {
    if(OrderSymbol() == Symbol())       //åñëè âûáðàííûé îðäåð áûë îòêðûò ïî íàøåé âàëþòíîé ïàðå
    {
      if(time<OrderCloseTime())        //(ñðàâíèâàåì åãî ñ õðàíÿùèìñÿ â ïåðîåìåííîé time)
       
      {
        time=OrderCloseTime();          //åñëè âðåìÿ çàêðûòèÿ îðäåðà áîëüøå - ëîæèì åãî â ïåðåìåííóþ
        profit=OrderProfit();          //è çàîäíî çàïîìèíàåì ïðèáûëü îðäåðà
        lot   =OrderLots();                    // Êîëè÷åñòâî ëîòîâ
        
  
      }
    }
  }
}

if(profit == 0)  {Lts=Lts0;}     //äåéñòâèÿ åñëè èñòîðèÿ ÷èñòà         
if(profit >= 0)  {Lts=Lts0;}     //äåéñòâèÿ åñëè ïîñëåäíèé îðäåð áûë ïðèáûëüíûì, èëè íóëåâû
if(profit <  0)  {Lts=lot*IK;}   //äåéñòâèÿ åñëè ïîñëåäíèé îðäåð áûë óáûòî÷íûì

    
         if (Lts*One_Lot > Free)                      // Ëîò äîðîæå ñâîáîäí.     
         {     
          Alert(" Íå õâàòàåò äåíåã íà ", Lts," ëîòîâ");      
          return;                                   // Âûõîä èç start()     
          }
   
//------------------------------------------------------------------------------ 


//------------------------------Îòêðûòèå îðäåðîâ--------------------------------- 8 --

   while(true)                                  // Öèêë îòêðûòèÿ îðä.
   
     {
      if (Total==0 && Opn_B==true && Cls_B==false)              // Îòêðûòûõ îðä. íåò +
        {                                       // êðèòåðèé îòêð. Buy
         RefreshRates();                        // Îáíîâëåíèå äàííûõ
         SL=Bid - New_Stop(StopLoss)*Point;     // Âû÷èñëåíèå SL îòêð.
         TP=Bid + New_Stop(TakeProfit)*Point;   // Âû÷èñëåíèå TP îòêð.
         Alert("Ïîïûòêà îòêðûòü Buy. Îæèäàíèå îòâåòà..");
         Ticket=OrderSend(Symb,OP_BUY,Lts,Ask,3,SL,TP);//Îòêðûòèå Buy
         if (Ticket > 0)                        // Ïîëó÷èëîñü :)
           {
            Alert ("Îòêðûò îðäåð Buy ",Ticket);
            return;                             // Âûõîä èç start()
           }
         if (Fun_Error(GetLastError())==1)      // Îáðàáîòêà îøèáîê
            continue;                           // Ïîâòîðíàÿ ïîïûòêà
         return;                                // Âûõîä èç start()
        }
      if (Total==0 && Opn_S==true && Cls_S==false)              // Îòêðûòûõ îðä. íåò +
        {                                       // êðèòåðèé îòêð. Sell
         RefreshRates();                        // Îáíîâëåíèå äàííûõ
         SL=Ask + New_Stop(StopLoss)*Point;     // Âû÷èñëåíèå SL îòêð.
         TP=Ask - New_Stop(TakeProfit)*Point;   // Âû÷èñëåíèå TP îòêð.
         Alert("Ïîïûòêà îòêðûòü Sell. Îæèäàíèå îòâåòà..");
         Ticket=OrderSend(Symb,OP_SELL,Lts,Bid,3,SL,TP);//Îòêðûòèå Sel
         if (Ticket > 0)                        // Ïîëó÷èëîñü :)
           {
            Alert ("Îòêðûò îðäåð Sell ",Ticket);
            return;                             // Âûõîä èç start()
           }
         if (Fun_Error(GetLastError())==1)      // Îáðàáîòêà îøèáîê
            continue;                           // Ïîâòîðíàÿ ïîïûòêà
         return;                                // Âûõîä èç start()
        }
      break;                                    // Âûõîä èç while
     }
   return;                                      // Âûõîä èç start()
  }
  
//------------------------------------------------------------------------------   

//--------------------------Ô-èÿ îáðàáîò îøèáîê------------------------------------ 10 --
int Fun_Error(int Error)                      
  {
   switch(Error)
     {                                          // Ïðåîäîëèìûå îøèáêè            
      case  4: Alert("Òîðãîâûé ñåðâåð çàíÿò. Ïðîáóåì åù¸ ðàç..");
         Sleep(3000);                           // Ïðîñòîå ðåøåíèå
         return(1);                             // Âûõîä èç ôóíêöèè
      case 130:Alert("Íåïðàâèëüíûå ñòîïû");
         while(RefreshRates()==false)           // Äî íîâîãî òèêà
            Sleep(1);                            // Çàäåðæêà â öèêëå
         return(1);                             // Âûõîä èç ôóíêöèè   
      case 135:Alert("Öåíà èçìåíèëàñü. Ïðîáóåì åù¸ ðàç..");
         RefreshRates();                        // Îáíîâèì äàííûå
         return(1);                             // Âûõîä èç ôóíêöèè
      case 136:Alert("Íåò öåí. Æä¸ì íîâûé òèê..");
         while(RefreshRates()==false)           // Äî íîâîãî òèêà
            Sleep(1);                           // Çàäåðæêà â öèêëå
         return(1);                             // Âûõîä èç ôóíêöèè
      case 137:Alert("Áðîêåð çàíÿò. Ïðîáóåì åù¸ ðàç..");
         Sleep(3000);                           // Ïðîñòîå ðåøåíèå
         return(1);                             // Âûõîä èç ôóíêöèè
      case 146:Alert("Ïîäñèñòåìà òîðãîâëè çàíÿòà. Ïðîáóåì åù¸..");
         Sleep(500);                            // Ïðîñòîå ðåøåíèå
         return(1);                             // Âûõîä èç ôóíêöèè
         // Êðèòè÷åñêèå îøèáêè
      case  2: Alert("Îáùàÿ îøèáêà.");
         return(0);                             // Âûõîä èç ôóíêöèè
      case  5: Alert("Ñòàðàÿ âåðñèÿ òåðìèíàëà.");
         Work=false;                            // Áîëüøå íå ðàáîòàòü
         return(0);                             // Âûõîä èç ôóíêöèè
      case 64: Alert("Ñ÷åò çàáëîêèðîâàí.");
         Work=false;                            // Áîëüøå íå ðàáîòàòü
         return(0);                             // Âûõîä èç ôóíêöèè
      case 133:Alert("Òîðãîâëÿ çàïðåùåíà.");
         return(0);                             // Âûõîä èç ôóíêöèè
      case 134:Alert("Íåäîñòàòî÷íî äåíåã äëÿ ñîâåðøåíèÿ îïåðàöèè.");
         return(0);                             // Âûõîä èç ôóíêöèè
      default: Alert("Âîçíèêëà îøèáêà ",Error); // Äðóãèå âàðèàíòû   
         return(0);                             // Âûõîä èç ôóíêöèè
     }
  }
//-------------------------------------------------------------- 11 --

int New_Stop(int Parametr)                      // Ïðîâåðêà ñòîï-ïðèê.
  {
   int Min_Dist=MarketInfo(Symb,MODE_STOPLEVEL);// Ìèíèì. äèñòàíöèÿ
   if (Parametr<Min_Dist)                       // Åñëè ìåíüøå äîïóñò.
     {
      Parametr=Min_Dist;                        // Óñòàíîâèì äîïóñò.
      Alert("Óâåëè÷åíà äèñòàíöèÿ ñòîï-ïðèêàçà.");
     }
   return(Parametr);                            // Âîçâðàò çíà÷åíèÿ
  }
//---------------------------

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