romanovseo_v5

Author: ������� �������
Orders Execution
Checks for the total of open ordersIt automatically opens orders when conditions are reachedIt Closes Orders by itself It can change open orders parameters, due to possible stepping strategy
Indicators Used
Moving average indicatorMACD HistogramRelative strength indexMovement directional index
0 Views
0 Downloads
0 Favorites
romanovseo_v5
//+------------------------------------------------------------------+
//|                                                romanovseo v2.mq4 |
//|                                                  Àëåêàåé Ðîìàíîâ |
//|                                                  seolink@list.ru |
//+------------------------------------------------------------------+
#property copyright "Àëåêñåé Ðîìàíîâ"
#property link      "seolink@list.ru"

extern string s1                    = "Moving Average";
extern int    ma_period1            = 150;
extern int    ma_period2            = 50;
extern int    ma_period3            = 4;
extern int    ma_method             = MODE_SMA;

extern string s2                    = "RSI";
extern bool   rsi_on_of             = true;
extern int    rsi_period            = 14;
extern double rsi_level_up          = 60.0;
extern double rsi_level_dn          = 40.0;

extern string s3                    = "ADX";
extern bool   adx_on_of             = true;
extern int    adx_period            = 14;
extern double adx_level             = 20.0;

extern string s4                    = "MACD";
extern bool   macd_on_of           = true;
extern bool   macd_trend           = true;
extern int    macd1_fast_ema_period = 8;
extern int    macd1_slow_ema_period = 17;

extern int    macd2_fast_ema_period = 12;
extern int    macd2_slow_ema_period = 26;

extern double macd_level_up        = 0.0025;
extern double macd_level_dn        = -0.0025;

extern string s6               ="-==-";
extern int    Magic            = 23012011;
extern double Lot              = 0.0;
extern int    StopLoss         = 500;
extern int    ZeroProfit       = 200;
extern int    Spred            = 3;
extern double Risk             = 2.0;
extern int    Slip             = 30;

extern string s7               = "Òàéìåð";
extern bool   Timer            = false;   // true - òàéìåð âêëþ÷åí, false - íåò
extern string OnTradePeriod    = "08:00";
extern string EndTradePeriod   = "22:00";

extern string s8            = "Íàñòðîéêè òðåéëèíã ñòîï-ëîññà"; 
extern bool   UseTrail             = false;   //Òrue - òðåèëèíã ñòîï-ëîññà âêëþ÷åí, false - âûêëþ÷åí
extern int    TrailStart                = 300;      //Âåëè÷èíà òðåèëèíã-ñòîïà â ïóíêòàõ 
extern int    Trail                = 200;      //Âåëè÷èíà òðåèëèíã-ñòîïà â ïóíêòàõ



//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   if(Total()==0&&TradeTimer()==true)OrderOpen(GetSignal());
   else
   {
   Zero();
   if(UseTrail)TrailingStop();
   CloseOrder();
   }
//----
   return(0);
  }
//+------------------------------------------------------------------+
int GetSignal()
{
 if(buy())return(OP_BUY);
 if(sel())return(OP_SELL);
 return(-1);
}
bool buy()
{
 if(MA()!=OP_BUY) return(false);
 if(macd_on_of==true && MACD()!=OP_BUY)return(false);
 if(rsi_on_of==true && RSI()!=OP_BUY)return(false);
 if(adx_on_of==true && ADX()==false)return(false);
 
 return(true);
}
bool sel()
{
 if(MA()!=OP_SELL) return(false);
 if(macd_on_of==true && MACD()!=OP_SELL)return(false);
 if(rsi_on_of==true && RSI()!=OP_SELL)return(false);
 if(adx_on_of==true && ADX()==false)return(false);
 
 return(true);
}
int MA()
{
   double MA1 = iMA(Symbol(),0,ma_period1,0,ma_method,PRICE_CLOSE,0);
   double MA2 = iMA(Symbol(),0,ma_period2,0,ma_method,PRICE_CLOSE,0);
   double MA3 = iMA(Symbol(),0,ma_period3,0,ma_method,PRICE_CLOSE,0);
   
   if(Close[0]>MA1&&MA2>MA1&&MA3>MA2)return(OP_BUY);
   if(Close[0]<MA1&&MA2<MA1&&MA3<MA2)return(OP_SELL);
   
   return(-1);
}
int MACD()
{
 double MACD1 = iMACD(Symbol(),0,macd1_fast_ema_period,macd1_slow_ema_period,9,PRICE_CLOSE,MODE_MAIN,0); 
 double MACD2 = iMACD(Symbol(),0,macd1_fast_ema_period,macd1_slow_ema_period,9,PRICE_CLOSE,MODE_MAIN,1); 
 
 double MACD3 = iMACD(Symbol(),0,macd2_fast_ema_period,macd2_slow_ema_period,9,PRICE_CLOSE,MODE_MAIN,0); 
 double MACD4 = iMACD(Symbol(),0,macd2_fast_ema_period,macd2_slow_ema_period,9,PRICE_CLOSE,MODE_MAIN,1); 
 
 if(macd_trend)
 {
 if(MACD1>macd_level_up&&MACD1>MACD2)return(OP_BUY);
 if(MACD3<macd_level_dn&&MACD3<MACD4)return(OP_SELL);
 }
 else
 {
 if(MACD1>macd_level_up)return(OP_BUY);
 if(MACD3<macd_level_dn)return(OP_SELL);
 }
 
 return(-1);
}
int RSI()
{
 double RSI = iRSI(Symbol(),0,rsi_period,PRICE_CLOSE,0);
 
 if(RSI>rsi_level_up)return(OP_BUY);
 if(RSI<rsi_level_dn)return(OP_SELL);
 
 return(-1);
}
bool ADX()
{
 double ADX = iADX(Symbol(),0,adx_period,PRICE_CLOSE,MODE_MAIN,0); 
 
 if(ADX>adx_level)return(true);
 
 return(false);
}
int Total()
  {
   int cmd;
   int total=OrdersTotal();
   for(int i=0;i<total;i++)
     {
      if(OrderSelect(i,SELECT_BY_POS))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_BUY || OrderType()==OP_SELL)
              {
               cmd++;
              }
           }
        }
     }
   return(cmd);
  }
  void OrderOpen(int type)
  {
   int t=-1;
   int stoplevel;
   double price;
   double sl;
   double SL;
   double Lots;

   if(type==OP_BUY || type==OP_SELL)
     {
         if(type==OP_BUY)
           {
            RefreshRates();
            stoplevel=MarketInfo(Symbol(),MODE_STOPLEVEL);
            price=NormalizeDouble(Ask,Digits);
            SL = ((price-iMA(Symbol(),0,ma_period1,0,MODE_SMA,PRICE_CLOSE,0))/Point)+StopLoss;
            if(SL>=stoplevel) {sl=NormalizeDouble(Bid -(SL*Point),Digits);Lots = LotPercent(SL);}
            if(SL<stoplevel)  {sl=NormalizeDouble(Bid -(stoplevel*Point),Digits);Lots = LotPercent(stoplevel);}

            if(AccountFreeMarginCheck(Symbol(),OP_BUY,Lots)<0)return;

           }
         if(type==OP_SELL)
           {
            RefreshRates();
            stoplevel=MarketInfo(Symbol(),MODE_STOPLEVEL);
            price=NormalizeDouble(Bid,Digits);
            SL = ((iMA(Symbol(),0,ma_period1,0,MODE_SMA,PRICE_CLOSE,0)-price)/Point)+StopLoss;
            if(SL>=stoplevel) {sl=NormalizeDouble(Ask+(SL*Point),Digits);Lots = LotPercent(SL);}
            if(SL<stoplevel)  {sl=NormalizeDouble(Ask+(stoplevel*Point),Digits);Lots = LotPercent(stoplevel);}

            if(AccountFreeMarginCheck(Symbol(),OP_SELL,Lots)<0)return;
           }
         t=OrderSend(Symbol(),type,Lots,price,Slip,sl,0,NULL,Magic);
         if(t<0)ErrorBlock(GetLastError());

     }
  }
  double LotPercent(double sl)
  {
   double vol=0.0;
   double MinLot = MarketInfo(Symbol(),MODE_MINLOT);
   double MaxLot = MarketInfo(Symbol(),MODE_MAXLOT);

   if(Lot==0.0)vol=(AccountFreeMargin()*Risk)/(sl*MarketInfo(Symbol(),MODE_TICKVALUE)*100.0);
   else vol=Lot;

   if(vol < MinLot)vol = MinLot;
   if(vol > MaxLot)vol = MaxLot;

   return(NormalizeDouble(vol,Okr()));
  }
  int Okr()
  {
   double LotsStep=MarketInfo(Symbol(),MODE_LOTSTEP);
   if(LotsStep==0.01)return(2);
   if(LotsStep==0.1)return(1);
   if(LotsStep==1.0)return(0);
   return(0);
  }
  bool TradeTimer()
  {
   if(Timer==true)
     {
      datetime date=TimeCurrent();
      datetime ty=TimeYear(date);
      datetime tm=TimeMonth(date);
      datetime td1=TimeDay(date);
      datetime td2;

      datetime d1  = StrToTime (ty+"."+tm+"."+td1+" "+OnTradePeriod);
      datetime d2  = StrToTime (ty+"."+tm+"."+td1+" "+EndTradePeriod);

      if(d1>d2 && date>=d1)
        {
         td2=TimeDay(date)+1;
         d1  = StrToTime (ty+"."+tm+"."+td1+" "+OnTradePeriod);
         d2  = StrToTime (ty+"."+tm+"."+td2+" "+EndTradePeriod);
        }
      else if(d1>d2 && date<=d2)
        {
         td2=TimeDay(date)-1;
         d1  = StrToTime (ty+"."+tm+"."+td2+" "+OnTradePeriod);
         d2  = StrToTime (ty+"."+tm+"."+td1+" "+EndTradePeriod);
        }
      if(date>=d1 && date<=d2)return(true);
      else return(false);
     }
   return(true);
  }
  void CloseOrder()
 {
   int digit;
   double price;
   bool res;
   double MA2 = iMA(Symbol(),0,ma_period2,0,ma_method,PRICE_CLOSE,0);
   double MA3 = iMA(Symbol(),0,ma_period3,0,ma_method,PRICE_CLOSE,0);
   
   double MACD1 = iMACD(Symbol(),0,macd1_fast_ema_period,macd1_slow_ema_period,9,PRICE_CLOSE,MODE_MAIN,0); 
   double MACD3 = iMACD(Symbol(),0,macd2_fast_ema_period,macd2_slow_ema_period,9,PRICE_CLOSE,MODE_MAIN,0); 
 
   
   int total=OrdersTotal();
   
   for(int i=total-1; i>=0; i--)
   {
    if(OrderSelect(i,SELECT_BY_POS))
    {
     if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
     {
      if(OrderType()==OP_BUY)
      {
       if(MA3<MA2&&MACD3<macd_level_dn)
       {
        digit=MarketInfo(OrderSymbol(),MODE_DIGITS);
        price=MarketInfo(OrderSymbol(),MODE_BID);
        res=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(price,digit),Slip);
        if(!res)ErrorBlock(GetLastError());
       }
      }
      if(OrderType()==OP_SELL)
      {
       if(MA3>MA2&&MACD3>macd_level_up)
       {
        digit=MarketInfo(OrderSymbol(),MODE_DIGITS);
        price=MarketInfo(OrderSymbol(),MODE_ASK);
        res=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(price,digit),Slip);
        if(!res)ErrorBlock(GetLastError());
       }
      }
      
     }
    }
   }
 }
 void Zero()
 {
  bool res;
  int total=OrdersTotal();
  
  for(int i=total-1; i>=0; i--)
  {
   if(OrderSelect(i,SELECT_BY_POS))
   {
    if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
    {
     if(OrderType()==OP_BUY)
     {
      if(Bid-OrderOpenPrice()>Point*ZeroProfit&&OrderStopLoss()<OrderOpenPrice())
      {
       res = OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid - ((ZeroProfit-Spred)*Point),Digits),OrderTakeProfit(),0);
       if(!res)ErrorBlock(GetLastError());
      }
     }
     if(OrderType()==OP_SELL)
     {
      if(OrderOpenPrice()-Ask>Point*ZeroProfit&&OrderStopLoss()>OrderOpenPrice())
      {
       res = OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask + ((ZeroProfit-Spred)*Point),Digits),OrderTakeProfit(),0);
       if(!res)ErrorBlock(GetLastError());
      }
     }
    }
   }
  }
 }

 void TrailingStop()
 {
  bool res;
  int total=OrdersTotal();
  
  for(int i=total-1; i>=0; i--)
  {
   if(OrderSelect(i,SELECT_BY_POS))
   {
    if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
    {
     if(OrderType()==OP_BUY)
     {
      if(Bid-OrderOpenPrice()>Point*TrailStart)
      {
       if(Bid - OrderStopLoss() > Trail*Point) 
       {
       res = OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid - (Trail*Point),Digits),OrderTakeProfit(),0);
       if(!res)ErrorBlock(GetLastError());
       }
      }
     }
     if(OrderType()==OP_SELL)
     {
      if(OrderOpenPrice()-Ask>Point*TrailStart)
      {
       if(OrderStopLoss() - Ask > Trail*Point) 
       {
       res = OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask + (Trail*Point),Digits),OrderTakeProfit(),0);
       if(!res)ErrorBlock(GetLastError());
       }
      }
     }
    }
   }
  }
 }
  int ErrorBlock(int error)
  {
   switch(error)
     {
      case    0: return(0);
      case    1: {Print("Îøèáêà: 1 - ïîïûòêà èçìåíèòü óæå óñòàíîâëåííûå çíà÷åíèÿ òàêèìè æå çíà÷åíèÿìè");return(2);}
      case    2: {Print("Îøèáêà: 2 - Îáùàÿ îøèáêà. Ïðåêðàòèòü âñå ïîïûòêè òîðãîâûõ îïåðàöèé äî âûÿñíåíèÿ îáñòîÿòåëüñòâ");return(3);}
      case    3: {Print("Îøèáêà: 3 - Â òîðãîâóþ ôóíêöèþ ïåðåäàíû íåïðàâèëüíûå ïàðàìåòðû ");return(3);}
      case    4: {Print("Îøèáêà: 4 - Òîðãîâûé ñåðâåð çàíÿò");return(1);}
      case    5: {Print("Îøèáêà: 5 - Ñòàðàÿ âåðñèÿ êëèåíòñêîãî òåðìèíàëà");return(3);}
      case    6: {Print("Îøèáêà: 6 - Íåò ñâÿçè ñ òîðãîâûì ñåðâåðîì");return(2);}
      case    7: {Print("Îøèáêà: 7 - Íåäîñòàòî÷íî ïðàâ");return(3);}
      case    8: {Print("Îøèáêà: 8 - Ñëèøêîì ÷àñòûå çàïðîñû");return(2);}
      case    9: {Print("Îøèáêà: 9 - Íåäîïóñòèìàÿ îïåðàöèÿ íàðóøàþùàÿ ôóíêöèîíèðîâàíèå ñåðâåðà");return(3);}
      case   64: {Print("Îøèáêà: 64 - Ñ÷åò çàáëîêèðîâàí. Íåîáõîäèìî ïðåêðàòèòü âñå ïîïûòêè òîðãîâûõ îïåðàöèé");return(3);}
      case   65: {Print("Îøèáêà: 65 - Íåïðàâèëüíûé íîìåð ñ÷åòà. Íåîáõîäèìî ïðåêðàòèòü âñå ïîïûòêè òîðãîâûõ îïåðàöèé");return(3);}
      case  128: {Print("Îøèáêà: 128 - Èñòåê ñðîê îæèäàíèÿ ñîâåðøåíèÿ ñäåëêè");return(1);}
      case  129: {Print("Îøèáêà: 129 - Íåïðàâèëüíàÿ öåíà bid èëè ask, âîçìîæíî, íåíîðìàëèçîâàííàÿ öåíà");return(1);}
      case  130: {Print("Îøèáêà: 130 - Ñëèøêîì áëèçêèå ñòîïû èëè íåïðàâèëüíî ðàññ÷èòàííûå èëè íåíîðìàëèçîâàííûå öåíû â ñòîïàõ (èëè â öåíå îòêðûòèÿ îòëîæåííîãî îðäåðà)");return(1);}
      case  131: {Print("Îøèáêà: 131 - Íåïðàâèëüíûé îáúåì, îøèáêà â ãðàíóëÿöèè îáúåìà");return(3);}
      case  132: {Print("Îøèáêà: 132 - Ðûíîê çàêðûò");return(2);}
      case  133: {Print("Îøèáêà: 133 - Òîðãîâëÿ çàïðåùåíà");return(3);}
      case  134: {Print("Îøèáêà: 134 - Íåäîñòàòî÷íî äåíåã äëÿ ñîâåðøåíèÿ îïåðàöèè");return(3);}
      case  135: {Print("Îøèáêà: 135 - Öåíà èçìåíèëàñü");return(1);}
      case  136: {Print("Îøèáêà: 136 - Íåò öåí");return(1);}
      case  137: {Print("Îøèáêà: 137 - Áðîêåð çàíÿò");return(1);}
      case  138: {Print("Îøèáêà: 138 - Çàïðîøåííàÿ öåíà óñòàðåëà, ëèáî ïåðåïóòàíû bid è ask");return(1);}
      case  139: {Print("Îøèáêà: 139 - Îðäåð çàáëîêèðîâàí è óæå îáðàáàòûâàåòñÿ");return(2);}
      case  140: {Print("Îøèáêà: 140 - Ðàçðåøåíà òîëüêî ïîêóïêà. Ïîâòîðÿòü îïåðàöèþ SELL íåëüçÿ");return(2);}
      case  141: {Print("Îøèáêà: 141 - Ñëèøêîì ìíîãî çàïðîñîâ");return(2);}
      case  142: {Print("Îøèáêà: 142 - Îðäåð ïîñòàâëåí â î÷åðåäü");return(2);}
      case  143: {Print("Îøèáêà: 143 - Îðäåð ïðèíÿò äèëåðîì ê èñïîëíåíèþ");return(2);}
      case  144: {Print("Îøèáêà: 144 - Îðäåð àííóëèðîâàí ñàìèì êëèåíòîì ïðè ðó÷íîì ïîäòâåðæäåíèè ñäåëêè");return(2);}
      case  145: {Print("Îøèáêà: 145 - Ìîäèôèêàöèÿ çàïðåùåíà, òàê êàê îðäåð ñëèøêîì áëèçîê ê ðûíêó è çàáëîêèðîâàí èç-çà âîçìîæíîãî ñêîðîãî èñïîëíåíèÿ");return(2);}
      case  146: {Print("Îøèáêà: 146 - Ïîäñèñòåìà òîðãîâëè çàíÿòà. Ïîâòîðèòü ïîïûòêó òîëüêî ïîñëå òîãî, êàê ôóíêöèÿ IsTradeContextBusy âåðíåò FALSE.");return(1);}
      case  147: {Print("Îøèáêà: 147 - Èñïîëüçîâàíèå äàòû èñòå÷åíèÿ îðäåðà çàïðåùåíî áðîêåðîì");return(2);}
      case  148: {Print("Îøèáêà: 148 - Êîëè÷åñòâî îòêðûòûõ è îòëîæåííûõ îðäåðîâ äîñòèãëî ïðåäåëà, óñòàíîâëåííîãî áðîêåðîì");return(2);}
      case  149: {Print("Îøèáêà: 149 - Ïîïûòêà îòêðûòü ïðîòèâîïîëîæíóþ ïîçèöèþ ê óæå ñóùåñòâóþùåé â ñëó÷àå, åñëè õåäæèðîâàíèå çàïðåùåíî");return(2);}
      case 4000: return(0);
      case 4001: {Print("Îøèáêà: 4001 - Íåïðàâèëüíûé óêàçàòåëü ôóíêöèè");return(3);}
      case 4002: {Print("Îøèáêà: 4002 - Èíäåêñ ìàññèâà - âíå äèàïàçîíà");return(3);}
      case 4003: {Print("Îøèáêà: 4003 - Íåò ïàìÿòè äëÿ ñòåêà ôóíêöèé");return(3);}
      case 4004: {Print("Îøèáêà: 4004 - Ïåðåïîëíåíèå ñòåêà ïîñëå ðåêóðñèâíîãî âûçîâà");return(3);}
      case 4005: {Print("Îøèáêà: 4005 - Íà ñòåêå íåò ïàìÿòè äëÿ ïåðåäà÷è ïàðàìåòðîâ");return(3);}
      case 4006: {Print("Îøèáêà: 4006 - Íåò ïàìÿòè äëÿ ñòðîêîâîãî ïàðàìåòðà");return(3);}
      case 4007: {Print("Îøèáêà: 4007 - Íåò ïàìÿòè äëÿ âðåìåííîé ñòðîêè");return(3);}
      case 4008: {Print("Îøèáêà: 4008 - Íåèíèöèàëèçèðîâàííàÿ ñòðîêà");return(3);}
      case 4009: {Print("Îøèáêà: 4009 - Íåèíèöèàëèçèðîâàííàÿ ñòðîêà â ìàññèâå");return(3);}
      case 4010: {Print("Îøèáêà: 4010 - Íåò ïàìÿòè äëÿ ñòðîêîâîãî ìàññèâà");return(3);}
      case 4011: {Print("Îøèáêà: 4011 - Ñëèøêîì äëèííàÿ ñòðîêà");return(3);}
      case 4012: {Print("Îøèáêà: 4012 - Îñòàòîê îò äåëåíèÿ íà íîëü");return(3);}
      case 4013: {Print("Îøèáêà: 4013 - Äåëåíèå íà íîëü");return(3);}
      case 4014: {Print("Îøèáêà: 4014 - Íåèçâåñòíàÿ êîìàíäà");return(3);}
      case 4015: {Print("Îøèáêà: 4015 - Íåïðàâèëüíûé ïåðåõîä");return(3);}
      case 4016: {Print("Îøèáêà: 4016 - Íåèíèöèàëèçèðîâàííûé ìàññèâ");return(3);}
      case 4017: {Print("Îøèáêà: 4017 - Âûçîâû DLL íå ðàçðåøåíû");return(3);}
      case 4018: {Print("Îøèáêà: 4018 - Íåâîçìîæíî çàãðóçèòü áèáëèîòåêó");return(3);}
      case 4019: {Print("Îøèáêà: 4019 - Íåâîçìîæíî âûçâàòü ôóíêöèþ");return(3);}
      case 4020: {Print("Îøèáêà: 4020 - Âûçîâû âíåøíèõ áèáëèîòå÷íûõ ôóíêöèé íå ðàçðåøåíû");return(3);}
      case 4021: {Print("Îøèáêà: 4021 - Íåäîñòàòî÷íî ïàìÿòè äëÿ ñòðîêè, âîçâðàùàåìîé èç ôóíêöèè");return(3);}
      case 4022: {Print("Îøèáêà: 4022 - Ñèñòåìà çàíÿòà");return(3);}
      case 4050: {Print("Îøèáêà: 4050 - Íåïðàâèëüíîå êîëè÷åñòâî ïàðàìåòðîâ ôóíêöèè");return(3);}
      case 4051: {Print("Îøèáêà: 4051 - Íåäîïóñòèìîå çíà÷åíèå ïàðàìåòðà ôóíêöèè");return(3);}
      case 4052: {Print("Îøèáêà: 4052 - Âíóòðåííÿÿ îøèáêà ñòðîêîâîé ôóíêöèè");return(3);}
      case 4053: {Print("Îøèáêà: 4053 - Îøèáêà ìàññèâà");return(3);}
      case 4054: {Print("Îøèáêà: 4054 - Íåïðàâèëüíîå èñïîëüçîâàíèå ìàññèâà-òàéìñåðèè");return(3);}
      case 4055: {Print("Îøèáêà: 4055 - Îøèáêà ïîëüçîâàòåëüñêîãî èíäèêàòîðà");return(3);}
      case 4056: {Print("Îøèáêà: 4056 - Ìàññèâû íåñîâìåñòèìû");return(3);}
      case 4057: {Print("Îøèáêà: 4057 - Îøèáêà îáðàáîòêè ãëîáàëüíûåõ ïåðåìåííûõ");return(3);}
      case 4058: {Print("Îøèáêà: 4058 - Ãëîáàëüíàÿ ïåðåìåííàÿ íå îáíàðóæåíà");return(3);}
      case 4059: {Print("Îøèáêà: 4059 - Ôóíêöèÿ íå ðàçðåøåíà â òåñòîâîì ðåæèìå");return(3);}
      case 4060: {Print("Îøèáêà: 4060 - Ôóíêöèÿ íå ðàçðåøåíà");return(3);}
      case 4061: {Print("Îøèáêà: 4061 - Îøèáêà îòïðàâêè ïî÷òû");return(3);}
      case 4062: {Print("Îøèáêà: 4062 - Îæèäàåòñÿ ïàðàìåòð òèïà string");return(3);}
      case 4063: {Print("Îøèáêà: 4063 - Îæèäàåòñÿ ïàðàìåòð òèïà integer");return(3);}
      case 4064: {Print("Îøèáêà: 4064 - Îæèäàåòñÿ ïàðàìåòð òèïà double");return(3);}
      case 4065: {Print("Îøèáêà: 4065 -  êà÷åñòâå ïàðàìåòðà îæèäàåòñÿ ìàññèâ");return(3);}
      case 4066: {Print("Îøèáêà: 4066 - Çàïðîøåííûå èñòîðè÷åñêèå äàííûå â ñîñòîÿíèè îáíîâëåíèÿ");return(3);}
      case 4067: {Print("Îøèáêà: 4067 - Îøèáêà ïðè âûïîëíåíèè òîðãîâîé îïåðàöèè");return(3);}
      case 4099: {Print("Îøèáêà: 4099 - Êîíåö ôàéëà");return(3);}
      case 4100: {Print("Îøèáêà: 4100 - Îøèáêà ïðè ðàáîòå ñ ôàéëîì");return(3);}
      case 4101: {Print("Îøèáêà: 4101 - Íåïðàâèëüíîå èìÿ ôàéëà");return(3);}
      case 4102: {Print("Îøèáêà: 4102 - Ñëèøêîì ìíîãî îòêðûòûõ ôàéëîâ");return(3);}
      case 4103: {Print("Îøèáêà: 4103 - Íåâîçìîæíî îòêðûòü ôàéë");return(3);}
      case 4104: {Print("Îøèáêà: 4104 - Íåñîâìåñòèìûé ðåæèì äîñòóïà ê ôàéëó");return(3);}
      case 4105: {Print("Îøèáêà: 4105 - Íè îäèí îðäåð íå âûáðàí");return(3);}
      case 4106: {Print("Îøèáêà: 4106 - Íåèçâåñòíûé ñèìâîë");return(3);}
      case 4107: {Print("Îøèáêà: 4107 - Íåïðàâèëüíûé ïàðàìåòð öåíû äëÿ òîðãîâîé ôóíêöèè");return(2);}
      case 4108: {Print("Îøèáêà: 4108 - Íåâåðíûé íîìåð òèêåòà");return(2);}
      case 4109: {Print("Îøèáêà: 4109 - Òîðãîâëÿ íå ðàçðåøåíà. Íåîáõîäèìî âêëþ÷èòü îïöèþ Ðàçðåøèòü ñîâåòíèêó òîðãîâàòü â ñâîéñòâàõ ýêñïåðòà");return(3);}
      case 4110: {Print("Îøèáêà: 4110 - Äëèííûå ïîçèöèè íå ðàçðåøåíû. Íåîáõîäèìî ïðîâåðèòü ñâîéñòâà ýêñïåðòà");return(2);}
      case 4111: {Print("Îøèáêà: 4111 - Êîðîòêèå ïîçèöèè íå ðàçðåøåíû. Íåîáõîäèìî ïðîâåðèòü ñâîéñòâà ýêñïåðòà");return(2);}
      case 4200: {Print("Îøèáêà: 4200 - Îáúåêò óæå ñóùåñòâóåò");return(3);}
      case 4201: {Print("Îøèáêà: 4201 - Çàïðîøåíî íåèçâåñòíîå ñâîéñòâî îáúåêòà");return(3);}
      case 4202: {Print("Îøèáêà: 4202 - Îáúåêò íå ñóùåñòâóåò");return(2);}
      case 4203: {Print("Îøèáêà: 4203 - Íåèçâåñòíûé òèï îáúåêòà");return(3);}
      case 4204: {Print("Îøèáêà: 4204 - Íåò èìåíè îáúåêòà");return(3);}
      case 4205: {Print("Îøèáêà: 4205 - Îøèáêà êîîðäèíàò îáúåêòà");return(3);}
      case 4206: {Print("Îøèáêà: 4206 - Íå íàéäåíî óêàçàííîå ïîäîêíî");return(3);}
      case 4207: {Print("Îøèáêà: 4207 - Îøèáêà ïðè ðàáîòå ñ îáúåêòîì");return(3);}
      default:   {Print("Íåèçâåñòíàÿ îøèáêà: ",error);return(3);}
     }
  }

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