Author: Copyright 04.2015, galladion
Orders Execution
Checks for the total of open ordersIt Closes Orders by itself It automatically opens orders when conditions are reachedIt can change open orders parameters, due to possible stepping strategy
Indicators Used
Moving average indicator
Miscellaneous
It issuies visual alerts to the screen
0 Views
0 Downloads
0 Favorites
musketeer
//+------------------------------------------------------------------+
//|                                                    musketeer.mq4 |
//|                                     Copyright 04.2015, galladion |
//|                                         https://vk.com/id1398982 |
//+------------------------------------------------------------------+
#property copyright "Copyright 04.2015, galladion"
#property link      "https://vk.com/id1398982"
#property version   "1.00"
#property strict
string Symb=Symbol();
bool   Work=true;
string work_msg;
string Global_Close="PClose";
string Global_Prof_flag = "PFlag";
string Global_work_flag = "WFlag_"+SymbolInfoString(Symbol(),SYMBOL_DESCRIPTION);
double work_flag,p_close=0,TP_flag=0,Prof_flag=0;
int Total= 0;
int flag = 0;
extern int Mag_N = 123;
extern int Mag_M = 456;
extern int TP = 15; //TakeProfit
extern int SL = 30; //StopLoss
extern int min_Pr=5; //îæèäàåìûé ïðîôèò ñ îðäåðà
extern int Fast_MA = 12;// ïåðèîä áûñòðîãî ìóâèíãà äëÿ âõîäà
extern int Slow_MA = 60;// ïåðèîä ìåäëåííîãî ìóâèíãà äëÿ âõîäà
extern double min_lot=0.1;// ìèíèìàëüíûé (áàçîâûé) ëîò
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   if(GlobalVariableCheck(Global_work_flag)==true) work_flag=GlobalVariableGet(Global_work_flag);
   if(GlobalVariableCheck(Global_Close)==true) p_close=GlobalVariableGet(Global_Close);
   if(GlobalVariableCheck(Global_Prof_flag)==true) Prof_flag=GlobalVariableGet(Global_Prof_flag);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   if(GlobalVariableSet(Global_work_flag,work_flag)==0) Alert("Îøèáêà çàïèñè ãëîáàëüíîé ïåðåìåííîé");
   if(GlobalVariableSet(Global_Close,p_close)==0) Alert("Îøèáêà çàïèñè ãëîáàëüíîé ïåðåìåííîé");
   if(GlobalVariableSet(Global_Prof_flag,Prof_flag)==0) Alert("Îøèáêà çàïèñè ãëîáàëüíîé ïåðåìåííîé");
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   int
   F_order_all=0;
   string
   Order_Symb[100];
   int k;
   if(GlobalVariableCheck(Global_work_flag) == true) work_flag = GlobalVariableGet(Global_work_flag);
   if(GlobalVariableCheck(Global_Prof_flag) == true) Prof_flag = GlobalVariableGet(Global_Prof_flag);
   bool
   level_tp= false,
   Cls_All =false,
   Ans=false,
   Opn_B =false,
   Opn_S =false;
   double
   Profit_Glob_All=0,
   Pr=0,
   Price[10]={0},
   Lot[10];
   Total=0;
   datetime Ttime[10];
   int
   Tick_Sl=0,
   Tick[10]= {0},
   Tip[10] = {-1},
   Ticket=0;
   double pt_cost=MarketInfo(Symbol(),MODE_TICKVALUE);
   Lot[0]=min_lot;
//---
//---îïðåäåëåíèå êîíòðîëüíûõ òî÷åê
// ïðîñìàòðèâàåì âñå îòêðûòûå îðäåðà
// îòìåòàåì ñòàðòîâûå îðäåðà(ïî ìèí.ëîòó è 1-ìó ìåäæèêó) íå ñîîòâ ñèìâîëó ÷àðòà
// ïî îñòàëüíûì îðäåðàì çàïèñûâàåì èìÿ èíñðóìåíòà â ìàññèâ
// âûáèðàÿ ïðè ýòîì òîëüêî óíèêàëüíûå çàïèñè
// åñëè âñå îðäåðà îòêðûòû ñ ìèí.ëîòîì - îáíóëÿåì ãëîá.ïåðåìåííóþ.
   for(int i=1; i<=OrdersTotal(); i++)
     {
      if(OrderSelect(i-1,SELECT_BY_POS)==true)
        {
         if(OrderMagicNumber()==Mag_N && OrderLots()==min_lot && OrderSymbol()!=Symb)continue;
         for(k=0;k<=F_order_all;k++)
           {
            if(Order_Symb[k]==OrderSymbol()) break;
           }
         if(k>F_order_all)
           {
            Order_Symb[F_order_all]=OrderSymbol();
            F_order_all++;
           }
        }
     }
   if(Prof_flag!=0 && F_order_all==1 && OrderSymbol()==Symb && OrderLots()==min_lot)
     {
      Prof_flag=0;
      if(GlobalVariableSet(Global_Prof_flag,Prof_flag)==0) Alert("Îøèáêà çàïèñè ãëîáàëüíîé ïåðåìåííîé");
     }
//---
// ñòèòàåì ïðîôèò ïî ñâîåìó ñèìâîëó è ñèìâîëàì ñ íåìèíèìàëüíûì ëîòîì
// åñëè ïðîôèò áîëüøå çîëîæåííîé ìèíèìàëüíîé ïðèáûëè - çàêðûâàåì âñå íåñòàíäàðòíûå îðäåðà
   for(int j=F_order_all-1; j>=0; j--)
     {
      for(int i=0; i<=OrdersTotal(); i++)
        {
         if(OrderSelect(i,SELECT_BY_POS)==true)
           {
            if(OrderSymbol()!=Order_Symb[j])continue;
            Profit_Glob_All        +=OrderProfit();
            Profit_Glob_All        +=OrderSwap();
            Profit_Glob_All        +=OrderCommission();
           }
        }
     }
//---
   Profit_Glob_All+=Prof_flag;
   if(Profit_Glob_All>=min_Pr && Prof_flag!=0) Cls_All=true;
//---------------
//---çàêðûòèå îðäåðîâ
// çàêðûòèå íåñò.îðäåðîâ ïðîâîäèòñÿ òîëüêî îäíèì ýêñïåðòîì, äëÿ ýòîãî ââîäèì ãëîá.ïåðåìåííóþ
// åñëè ïî èíñòðóìåíòó îòêðûòî 2 ðàçíîíàïð. îðäåðà - çàêðûâàåì îäèí çà ñ÷åò äðóãîãî
// åñëè îòêðûò òîëüêî 1 îðäåð - òî ïðîñòî çàêðûâàåì
   if(GlobalVariableCheck(Global_Close)==true) p_close=GlobalVariableGet(Global_Close);
   if(Cls_All==true && p_close==0)
     {
      if(GlobalVariableSet(Global_Close,1)==0) Alert("Îøèáêà çàïèñè ãëîáàëüíîé ïåðåìåííîé");
      for(int j=0; j<F_order_all; j++)
        {
         for(int i=0; i<=OrdersTotal(); i++)
           {
            if(OrderSelect(i,SELECT_BY_POS)==true)
              {
               int Order_Tick_1 = OrderTicket();
               int Order_Type_1 = OrderType();
               double Order_Lot_1=OrderLots();
               string Order_Symb_1=OrderSymbol();
               if(Order_Symb_1!=Order_Symb[j])continue;
               while(true)
                 {
                  //--
                  for(int l=0; l<=OrdersTotal(); l++)
                    {
                     if(OrderSelect(l,SELECT_BY_POS)==true)
                       {
                        if(OrderSymbol()!=Order_Symb[j])continue;
                        if(OrderTicket()==Order_Tick_1)continue;
                        RefreshRates();
                        Alert(Symb," Ïîïûòêà çàêðûòü ",Order_Tick_1,"/",OrderTicket()," ",OrderSymbol(),". Îæèäàíèå îòâåòà..");
                        Ans=OrderCloseBy(Order_Tick_1,OrderTicket());
                        if(Ans==true)
                          {
                           Alert(Symb," Çàêðûò îðäåð ",Order_Tick_1,"/",OrderTicket()," ,",OrderSymbol());
                           Order_Tick_1=0;
                          }
                        if(Fun_Error(GetLastError())==1)
                           continue;
                        break;
                       }
                    }
                  if(Order_Tick_1==0)break;
                  if(Order_Tick_1!=0 && Order_Lot_1==min_lot && Order_Symb_1==Symb)break;
                  //--
                  RefreshRates();
                  if(Order_Type_1==0) Pr=MarketInfo(Order_Symb_1,MODE_BID); else Pr=MarketInfo(Order_Symb_1,MODE_ASK);
                  Alert(Symb," Ïîïûòêà çàêðûòü ",Order_Tick_1,". Îæèäàíèå îòâåòà..");
                  Ans=OrderClose(Order_Tick_1,Order_Lot_1,Pr,2);
                  if(Ans==true)
                     Alert(Symb," Çàêðûò îðäåð ",Order_Tick_1," ,",Order_Symb_1);
                  if(Fun_Error(GetLastError())==1)
                     continue;

                  break;
                 }
              }
           }
        }
      if(GlobalVariableSet(Global_Close,0)==0) Alert("Îøèáêà çàïèñè ãëîáàëüíîé ïåðåìåííîé");
      if(GlobalVariableSet(Global_Prof_flag,0)==0) Alert("Îøèáêà çàïèñè ãëîáàëüíîé ïåðåìåííîé");
      return;
     }
//---------------
//---ó÷åò îðäåðîâ
   for(int i=1; i<=OrdersTotal(); i++)
     {
      if(OrderSelect(i-1,SELECT_BY_POS)==true)
        {
         if(OrderSymbol()!=Symb)continue;
         if(OrderMagicNumber()==Mag_M)
           {
            Tick_Sl=OrderTicket();
           }
         if(OrderMagicNumber()!=Mag_N)continue;
         Tick[Total]             =OrderTicket();
         Tip[Total]              =OrderType();
         Price[Total]            =OrderOpenPrice();
         Lot[Total]              =OrderLots();
         Ttime[Total]            =OrderOpenTime();
         Total++;
        }
     }
//---------------
   if(Total==0 && Profit_Glob_All-Prof_flag>=0)
     {
      Prof_flag=0;
      Profit_Glob_All=0;
      if(GlobalVariableSet(Global_Prof_flag,Prof_flag)==0) Alert("Îøèáêà çàïèñè ãëîáàëüíîé ïåðåìåííîé");
     }
//-----ïðîâåðêà íà îøèáêè ðàáîòû ýêñïåðòà
   if(Work==false)
     {
      if(work_flag==0)
        {
         Alert("Êðèòè÷åñêàÿ îøèáêà. Ýêñïåðò íå ðàáîòàåò. ",Symb," ",work_msg);
         work_flag=1;
         if(GlobalVariableSet(Global_work_flag,work_flag)==0) Alert("Îøèáêà çàïèñè ãëîáàëüíîé ïåðåìåííîé");
         ObjectCreate("work_msg",OBJ_LABEL,0,0,0);
         ObjectSet("work_msg",OBJPROP_CORNER,0);
         ObjectSet("work_msg",OBJPROP_XDISTANCE,10);
         ObjectSet("work_msg",OBJPROP_YDISTANCE,10);
         ObjectSetInteger(0,"work_msg",OBJPROP_BACK,false);
         ObjectSetText("work_msg",work_msg,18,"Arial",clrWhiteSmoke);
        }
      return;
     }
//--------------

//----------------------------------------------------------------------------------------------------
//---îðåäåëåíèå òî÷êè îòêðûòèÿ îðäåðîâ
   RefreshRates();
   double Fast_MA_0 = iMA(NULL,0,Fast_MA,0,MODE_EMA,PRICE_OPEN,0);
   double Slow_MA_0 = iMA(NULL,0,Slow_MA,0,MODE_EMA,PRICE_OPEN,0);
   if(Fast_MA_0 > Slow_MA_0)Opn_B=true;
   if(Fast_MA_0 < Slow_MA_0)Opn_S=true;
//--------------
//---------îïðåäåëåíèå ëîòà êîíòðîðäåðà
   Lot[Total]=round(100*((min_lot*TP*pt_cost+fabs(Profit_Glob_All))/(TP*pt_cost)))/100;
//---------------
   Comment(StringFormat("Âûâîäèì äàííûå\nProfit_Glob_All = %0.2f\nProf_flag = %0.2f\nËîò = %0.2f\nTP = %0g\nÑò-òü ïò. = %0.2f",Profit_Glob_All-Prof_flag,Prof_flag,Lot[Total],TP,Lot[0]*MarketInfo(Symbol(),MODE_TICKVALUE)));
//---îïðåäåëåíèå òî÷êè âõîäà íà îòêðûòèå îáðàòíîãî îðäåðà
   if(Total==1 && Tick_Sl==0)
     {
      if(Tip[0]==0 && Opn_S!=true
         && Bid<Price[0]-SL*Point)
        {Opn_S=true;level_tp=true;}
      if(Tip[0]==1 && Opn_B!=true
         && Ask>Price[0]+SL*Point)
        {Opn_B=true;level_tp=true;}
     }
//---------------
//---îòêðûòèå îáðàòíîãî îðäåðà
   while(level_tp)//åñëè level_tp==true
     {
      RefreshRates();
      if(Opn_B==true && Tip[Total-1]==1)
        {
         Alert("Ïîïûòêà îòêðûòü îáð. Buy ",Symb," - ",Lot[0],". Îæèäàíèå îòâåòà..");
         Ticket=OrderSend(Symb,OP_BUY,Lot[0],Ask,2,0,0,NULL,Mag_M);
         if(Ticket>0)
           {
            Alert("Îòêðûò îáð. îðäåð Buy ",Ticket," ,",Symb);
            while(true)
              {
               bool res=OrderModify(Tick[Total-1],Price[Total-1],0,0,0,CLR_NONE);
               if(res)
                 {
                  Alert("Îðäåð óñïåøíî ìîäèôèöèðîâàí ",Symb,".");
                  TP_flag=Price[Total-1]-TP*Point;
                  level_tp=false;
                  return;
                 }
               if(Fun_Error(GetLastError())==1)continue;
               Alert("Îøèáêà ìîäèôèêàöèè îðäåðà ",Symb,". Êîä îøèáêè=",GetLastError());
               return;
              }
           }
         if(Fun_Error(GetLastError())==1)continue;
         Alert("Îøèáêà îòêð. îáð. Buy ",Symb," - ",Lot[0],"!!!");
         return;
        }
      if(Opn_S==true && Tip[Total-1]==0)
        {
         Alert("Ïîïûòêà îòêðûòü îáð. Sell ",Symb," - ",Lot[0],". Îæèäàíèå îòâåòà..");
         Ticket=OrderSend(Symb,OP_SELL,Lot[0],Bid,2,0,0,NULL,Mag_M);//Îòêðûòèå Sell         
         if(Ticket>0) // Ïîëó÷èëîñü :)           
           {
            Alert("Îòêðûò îáð. îðäåð Sell ",Ticket," ,",Symb);
            while(true)
              {
               bool res=OrderModify(Tick[Total-1],Price[Total-1],0,0,0,CLR_NONE);
               if(res)
                 {
                  Alert("Îðäåð óñïåøíî ìîäèôèöèðîâàí ",Symb,".");
                  TP_flag=Price[Total-1]+TP*Point;
                  level_tp=false;
                  return;
                 }
               if(Fun_Error(GetLastError())==1)continue;
               Alert("Îøèáêà ìîäèôèêàöèè îðäåðà ",Symb,". Êîä îøèáêè=",GetLastError());
               return;
              }
           }
         if(Fun_Error(GetLastError())==1)continue;
         Alert("Îøèáêà îòêð. îáð. Sell ",Symb," - ",Lot[0],"!!!");
         return;
        }
     }
//---------------
//----------------------------------------------------------------------------------------

//---öèêë îòêðûòèÿ îðäåðîâ
   while(true)
     {
      //---------îòêðûòèå íà÷àëüíîãî/êîíòð. îðäåðà
      RefreshRates();
      if(Opn_B==true)
        {
         if(Total==0) Alert("Ïîïûòêà îòêðûòü íà÷. Buy ",Symb,". Îæèäàíèå îòâåòà..");
         else if(Tip[Total-1]==1 || (TP_flag!=0 && Tip[Total-1]==0 && Bid>=TP_flag)) Alert("Ïîïûòêà îòêðûòü êîíòð. Buy ",Symb,". Îæèäàíèå îòâåòà..");
         else return;
         Ticket=OrderSend(Symb,OP_BUY,Lot[Total],Ask,2,0,Ask+TP*Point,NULL,Mag_N);
         if(Ticket>0)
           {
            if(Total==0)
              {
               Alert("Îòêðûò íà÷. îðäåð Buy ",Ticket," ,",Symb);
               return;
              }
            else
              {
               Alert("Îòêðûò êîíòð. îðäåð Buy ",Ticket," ,",Symb);
               if(Tick_Sl==0) flag=1; else flag=2;
               //               ord_op=Ask;ord_tp=AV/Point;
               break;
              }
           }
         if(Fun_Error(GetLastError())==1)
            continue;
        }
      if(Opn_S==true)
        {
         if(Total==0) Alert("Ïîïûòêà íà÷. îòêðûòü Sell ",Symb,". Îæèäàíèå îòâåòà..");
         else if(Tip[Total-1]==0 || (TP_flag!=0 && Tip[Total-1]==1 && Ask<=TP_flag)) Alert("Ïîïûòêà êîíòð. îòêðûòü Sell ",Symb,". Îæèäàíèå îòâåòà..");
         else return;
         Ticket=OrderSend(Symb,OP_SELL,Lot[Total],Bid,2,0,Bid-TP*Point,NULL,Mag_N);
         if(Ticket>0)
           {
            if(Total==0)
              {
               Alert("Îòêðûò íà÷. îðäåð Sell ",Ticket," ,",Symb);
               return;
              }
            else
              {
               Alert("Îòêðûò êîíòð. îðäåð Sell ",Ticket," ,",Symb);
               if(Tick_Sl==0) flag=1; else flag=2;
               break;
              }
           }
         if(Fun_Error(GetLastError())==1)
            continue;
        }
      //---
      break;
     }
//---------------
//---çàêðûòèå îðäåðîâ
   while(true)
     {
      //---------------
      if(flag==1)
        {
         for(int n=0;n<Total;n++)
           {
            while(true)
              {
               RefreshRates();
               if(Tip[n]==0) Pr=Bid; else Pr=Ask;
               Alert("Ïîïûòêà çàêðûòü ",Tick[n],". Îæèäàíèå îòâåòà..");
               Ans=OrderClose(Tick[n],Lot[n],Pr,2);
               if(Ans==true)
                 {
                  Alert("Çàêðûò îðäåð ",Tick[n]," ,",Symb);
                  if(OrderSelect(Tick[n],SELECT_BY_TICKET)==true)
                    {
                     Prof_flag += OrderProfit();
                     Prof_flag += OrderSwap();
                     Prof_flag += OrderCommission();
                    }
                  else Alert("OrderSelect() âåðíóë îøèáêó - ",GetLastError());
                 }
               if(Fun_Error(GetLastError())==1)
                  continue;
               break;
              }
           }
         flag=0;
         if(GlobalVariableSet(Global_Prof_flag,Prof_flag)==0) Alert("Îøèáêà çàïèñè ãëîáàëüíîé ïåðåìåííîé");
         return;
        }
      if(flag==2)
        {
         RefreshRates();
         Alert("Ïîïûòêà çàêðûòü ",Tick[0],". Îæèäàíèå îòâåòà..");
         Ans=OrderCloseBy(Tick[0],Tick_Sl);
         if(Ans==true)
           {
            Alert("Çàêðûò îðäåð ",Tick[0]," ,",Symb);
            if(OrderSelect(Tick[0],SELECT_BY_TICKET)==true)
              {
               Prof_flag += OrderProfit();
               Prof_flag += OrderSwap();
               Prof_flag += OrderCommission();
              }
            else Alert("OrderSelect() âåðíóë îøèáêó - ",GetLastError());
            if(OrderSelect(Tick_Sl,SELECT_BY_TICKET)==true)
              {
               Prof_flag += OrderProfit();
               Prof_flag += OrderSwap();
               Prof_flag += OrderCommission();
              }
            else Alert("OrderSelect() âåðíóë îøèáêó - ",GetLastError());
            flag=0;TP_flag=0;
           }
         if(Fun_Error(GetLastError())==1)
            continue;
         if(GlobalVariableSet(Global_Prof_flag,Prof_flag)==0) Alert("Îøèáêà çàïèñè ãëîáàëüíîé ïåðåìåííîé");
         return;
        }
      break;
     }
//---------------

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

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