ExchangeWork

Author: Alexes
Price Data Components
Series array that contains open time of each bar
0 Views
0 Downloads
0 Favorites
ExchangeWork
//+------------------------------------------------------------------+
//|                                                 ExchangeWork.mq4 |
//|                                                           Alexes |
//|                                               vvalkoko@gmail.com |
//+------------------------------------------------------------------+
#property copyright "Alexes"
#property link      "vvalkoko@gmail.com"

#property indicator_chart_window

int PerevodChasow[10];
int Sortirovka[100][2];
int BarsOperate;
int BarsVpered;
int Novisible=0;
int x;
datetime TimeBar;
datetime WorldBourseWork[100][2];
string WorldBourse[100][10];
string BourseRegionWork[100][10];
string CommTemp;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   for(int i=0;i<=99;i++) {WorldBourse[i][0]="==="; WorldBourseWork[i][0]=0; BourseRegionWork[i][0]="-"; BourseRegionWork[i][4]="-";}

//=======================================================================
//Íà÷àëüíûå äàííûå. Èçìåíÿòü îò ñèõ è íèæå äî "Êîíåö Íà÷àëüíûå äàííûå."
//-----------------------------------------------------------------------
//Âðåìÿ òîðãîâîãî ñåðâåðà âûñòàâëÿåòñÿ â ìàññèâå WorldBourse [i][7]. Óñòàíîâëåíî âðåìÿ òîðãîâîãî ñåðâåðà ïî Ëîíäîíó
//----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
// Ñâåäåíèÿ âçÿòû ñ http://www.stocktime.ru/info.htm
//--------------------------+---------------------------------------------------------+-----------------------------+-----------------------------+--------------------------+--------------------------+-------------------------+-------------------------+
//        ÐÅÃÈÎÍ            |                      ÍÀÌÅÍÎÂÀÍÈÅ                        |     Íà÷àëî òîðãîâ (UTC)     |    Îêîí÷àíèå òîðãîâ (UTC)   |  Îòêëîíåíèå îò UTC çèìà  |  Îòêëîíåíèå îò UTC ëåòî  |  Ðåæèì ïåðåâîäà ÷àñîâ   | Âðåìÿ òîðãîâîãî ñåðâåðà |
//--------------------------+---------------------------------------------------------+-----------------------------+-----------------------------+--------------------------+--------------------------+-------------------------+-------------------------+
   WorldBourse[1][0]  = "PAS"; WorldBourse[1][1]  = "(NZD) ÂÅËËÈÍÃÒÎÍ (Íîâàÿ Çåëàíäèÿ)"; WorldBourse[1][2]  = "10:00"; WorldBourse[1][3]  = "16:45"; WorldBourse[1][4]  = "12"; WorldBourse[1][5]  = "13"; WorldBourse[1][6]  = "1"; WorldBourse[1][7]  = "0";
   WorldBourse[2][0]  = "PAS"; WorldBourse[2][1]  = "(AUD) ÑÈÄÍÅÉ (Àâñòðàëèÿ)";          WorldBourse[2][2]  = "10:00"; WorldBourse[2][3]  = "16:00"; WorldBourse[2][4]  = "10"; WorldBourse[2][5]  = "11"; WorldBourse[2][6]  = "2"; WorldBourse[2][7]  = "0";
   WorldBourse[3][0]  = "ASI"; WorldBourse[3][1]  = "(JPY) ÒÎÊÈÎ (ßïîíèÿ)";              WorldBourse[3][2]  = "09:00"; WorldBourse[3][3]  = "15:00"; WorldBourse[3][4]  = "9";  WorldBourse[3][5]  = "9";  WorldBourse[3][6]  = "0"; WorldBourse[3][7]  = "0";
   WorldBourse[4][0]  = "ASI"; WorldBourse[4][1]  = "(SGD) ÑÈÍÃÀÏÓÐ (Ñèíãàïóð)";         WorldBourse[4][2]  = "09:00"; WorldBourse[4][3]  = "17:00"; WorldBourse[4][4]  = "8";  WorldBourse[4][5]  = "8";  WorldBourse[4][6]  = "0"; WorldBourse[4][7]  = "0";
   WorldBourse[5][0]  = "ASI"; WorldBourse[5][1]  = "(CNY) ØÀÍÕÀÉ (Êèòàé)";              WorldBourse[5][2]  = "09:30"; WorldBourse[5][3]  = "15:00"; WorldBourse[5][4]  = "8";  WorldBourse[5][5]  = "8";  WorldBourse[5][6]  = "0"; WorldBourse[5][7]  = "0";
   WorldBourse[6][0]  = "ASI"; WorldBourse[6][1]  = "(HKD) ÃÎÍÊÎÍÃ (Êèòàé)";             WorldBourse[6][2]  = "09:30"; WorldBourse[6][3]  = "15:00"; WorldBourse[6][4]  = "8";  WorldBourse[6][5]  = "8";  WorldBourse[6][6]  = "0"; WorldBourse[6][7]  = "0";
   WorldBourse[7][0]  = "---"; WorldBourse[7][1]  = "(AED) ÄÓÁÀÉ (ÎÀÝ)";                 WorldBourse[7][2]  = "11:45"; WorldBourse[7][3]  = "17:00"; WorldBourse[7][4]  = "4";  WorldBourse[7][5]  = "4";  WorldBourse[7][6]  = "0"; WorldBourse[7][7]  = "0";
   WorldBourse[8][0]  = "---"; WorldBourse[8][1]  = "(ZAR) ÉÎÕÀÍÍÅÑÁÓÐÃ (ÞÀÐ)";          WorldBourse[8][2]  = "09:00"; WorldBourse[8][3]  = "17:00"; WorldBourse[8][4]  = "2";  WorldBourse[8][5]  = "2";  WorldBourse[8][6]  = "0"; WorldBourse[8][7]  = "0";
   WorldBourse[9][0]  = "---"; WorldBourse[9][1]  = "(RUB) ÌÎÑÊÂÀ (Ðîññèÿ)";             WorldBourse[9][2]  = "10:00"; WorldBourse[9][3]  = "15:00"; WorldBourse[9][4]  = "4";  WorldBourse[9][5]  = "4";  WorldBourse[9][6]  = "0"; WorldBourse[9][7]  = "0";
   WorldBourse[10][0] = "EUR"; WorldBourse[10][1] = "(EUR) ÔÐÀÍÊÔÓÐÒ (Ãåðìàíèÿ)";        WorldBourse[10][2] = "09:00"; WorldBourse[10][3] = "17:30"; WorldBourse[10][4] = "1";  WorldBourse[10][5] = "2";  WorldBourse[10][6] = "3"; WorldBourse[10][7] = "0";
   WorldBourse[11][0] = "EUR"; WorldBourse[11][1] = "(CHF) ÖÞÐÈÕ (Øâåéöàðèÿ)";           WorldBourse[11][2] = "09:00"; WorldBourse[11][3] = "17:30"; WorldBourse[11][4] = "1";  WorldBourse[11][5] = "2";  WorldBourse[11][6] = "3"; WorldBourse[11][7] = "0";
   WorldBourse[12][0] = "EUR"; WorldBourse[12][1] = "(GBP) ËÎÍÄÎÍ (Âåëèêîáðèòàíèÿ)";     WorldBourse[12][2] = "08:00"; WorldBourse[12][3] = "16:30"; WorldBourse[12][4] = "0";  WorldBourse[12][5] = "1";  WorldBourse[12][6] = "3"; WorldBourse[12][7] = "1";
   WorldBourse[13][0] = "AME"; WorldBourse[13][1] = "(USD) ÍÜÞ-ÉÎÐÊ (ÑØÀ)";              WorldBourse[13][2] = "09:30"; WorldBourse[13][3] = "16:00"; WorldBourse[13][4] = "-5"; WorldBourse[13][5] = "-4"; WorldBourse[13][6] = "4"; WorldBourse[13][7] = "0";
   WorldBourse[14][0] = "AME"; WorldBourse[14][1] = "(CAD) ÒÎÐÎÍÒÎ (Êàíàäà)";            WorldBourse[14][2] = "09:30"; WorldBourse[14][3] = "16:00"; WorldBourse[14][4] = "-5"; WorldBourse[14][5] = "-4"; WorldBourse[14][6] = "4"; WorldBourse[14][7] = "0";
   WorldBourse[15][0] = "AME"; WorldBourse[15][1] = "(USD) ×ÈÊÎÃÎ (ÑØÀ)";                WorldBourse[15][2] = "08:30"; WorldBourse[15][3] = "15:00"; WorldBourse[15][4] = "-6"; WorldBourse[15][5] = "-5"; WorldBourse[15][6] = "4"; WorldBourse[15][7] = "0";
//--------------------------+---------------------------------------------------------+-----------------------------+-----------------------------+--------------------------+--------------------------+-------------------------+-------------------------+

//Öâåòà çîí òîðãîâëè PAS ASI EUR AME
   BourseRegionWork[1][3] = "9234160";  //Khaki
   BourseRegionWork[2][3] = "10025880"; //PaleGreen
   BourseRegionWork[3][3] = "13353215"; //Pink
   BourseRegionWork[4][3] = "15128749"; //LightBlue
   BourseRegionWork[5][3] = "16443110"; //Lavender 
   BourseRegionWork[6][3] = "16119285"; //WhiteSmoke 

   if(Period()>=240) Novisible=1; // Åñëè âðåìÿ ãðàôèêà áîëüøå ÷åì H1 Çîíû òîðãîâëè íå îòîáðàæàþòÿ òîëüêî Comment
                                  //BarsOperate  - Êîëè÷åñòâî áàðîâ èç èñòîðèè ïî êîòîðûì îòáðàæàþòñÿ çîíû òîðãîâ
//BarsVpered - Êîëè÷åñòâî áàðîâ â áóäóùåì ïî êîòîðûì îòáðàæàþòñÿ çîíû òîðãîâ
   if(Period()==60) // Äëÿ ïåðèîäà H1
     {
      BarsOperate= 48;
      BarsVpered = 10;
     }
   if(Period()==30) // Äëÿ ïåðèîäà M30
     {
      BarsOperate= 96;
      BarsVpered = 10;
     }
   if(Period()==15) // Äëÿ ïåðèîäà M15
     {
      BarsOperate= 192;
      BarsVpered = 15;
     }
   if(Period()==5) // Äëÿ ïåðèîäà M5
     {
      BarsOperate= 576;
      BarsVpered = 20;
     }
   if(Period()==1) // Äëÿ ïåðèîäà M1
     {
      BarsOperate= 2000;
      BarsVpered = 30;
     }
//-----------------------------------------------------------------------
// Êîíåö Íà÷àëüíûå äàííûå. Íèæå ëó÷øå íè÷åãî íå ìåíÿòü
//=======================================================================  


   int k,n;
   x=1;
   string NameLabel;
   for(i=1; i<=99; i++)
     {
      if(WorldBourse[i][0]=="---" || WorldBourse[i][0]=="===")
        {
         continue;
        }
      n=0;
      for(k=1;k<=99;k++)
        {
         if(BourseRegionWork[k][0]==WorldBourse[i][0])
           {
            n=1;
            break;
           }
        }
      if(n==0)
        {
         BourseRegionWork[x][0] =  WorldBourse[i][0];
         BourseRegionWork[x][1] = "2037.12.31 23:59";
         BourseRegionWork[x][2] = "1970.01.01 00:00";
         if(x==1)
           {
            BourseRegionWork[x][5]="-";
           }
         else
           {
            BourseRegionWork[x][5]="+";
            if(BourseRegionWork[x-1][5]=="+")BourseRegionWork[x][5]="-";
           }
         x++;
        }
     }
   x--;
   k=1;
   for(i=x;i>=1;i--)
     {
      NameLabel=BourseRegionWork[i][0]+"Color";
      ObjectCreate(NameLabel,OBJ_LABEL,0,0,0);
      ObjectSet(NameLabel,OBJPROP_CORNER,1);
      ObjectSet(NameLabel,OBJPROP_YDISTANCE,0);
      ObjectSet(NameLabel,OBJPROP_XDISTANCE,k*35);
      ObjectSetText(NameLabel,BourseRegionWork[i][0],8,"Courier New",StrToInteger(BourseRegionWork[i][3]));
      k++;
     }

   TimeBar=Time[BarsOperate];
//---- indicators
   IndicatorShortName("BourseWork");
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   ObjectsDeleteAll(EMPTY,OBJ_RECTANGLE);
   ObjectsDeleteAll(EMPTY,OBJ_LABEL);
   Comment("");
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   double MaxHigh= 0;
   double MinLow = 1000000000;
   double MaxHigh1;
   double MinLow1;
   datetime TimeTempBarPred;
   datetime TimeTempBar;
   datetime TimeTempOpen;
   datetime TimeTempClose;
   datetime TimeTemp;
   string NameTemp;
   int k,i;
   int iName=1;
   WorldBourseWorkFun();
   if(TimeBar==Time[0] || Novisible==1) return;
   ObjectsDeleteAll(EMPTY,OBJ_RECTANGLE);

   int counted_bars=IndicatorCounted();
   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;
   int limit=Bars-counted_bars;
   if(counted_bars==0) limit-=1+1;
   
   if (limit<BarsOperate) return;

   for(i=0;i<=BarsOperate;i++) {if(High[i]>MaxHigh) MaxHigh=High[i]; if(Low[i]<MinLow) MinLow=Low[i];}
   for(i=BarsOperate;i>=-BarsVpered;i--)
     {
      if(i>=0) {TimeTempBarPred = Time[i+1];TimeTempBar =Time[i];}
      if(i< 0) {TimeTempBarPred = Time[0]+MathAbs(i)*Period()*60-Period()*60; TimeTempBar = Time[0]+MathAbs(i)*Period()*60;}
      for(k=1;k<=x;k++)
        {
         TimeTempOpen=StrToTime(BourseRegionWork[k][1]);
         TimeTempClose= StrToTime(BourseRegionWork[k][2]);
         TimeTempOpen = StrToTime(TimeToStr(TimeTempBarPred,TIME_DATE)+" "+TimeToStr(TimeTempOpen,TIME_SECONDS));
         TimeTempClose= StrToTime(TimeToStr(TimeTempBarPred,TIME_DATE)+" "+TimeToStr(TimeTempClose,TIME_SECONDS));
         if(BourseRegionWork[k][4]=="-")
           {
            if((TimeTempBarPred==TimeTempOpen)) BourseRegionWork[k][4]=TimeToStr((TimeTempBarPred),TIME_DATE|TIME_SECONDS);
            if((TimeTempBar==TimeTempOpen)) BourseRegionWork[k][4]=TimeToStr((TimeTempBar),TIME_DATE|TIME_SECONDS);
            if((TimeTempOpen>TimeTempBarPred) && (TimeTempOpen<TimeTempBar)) BourseRegionWork[k][4]=TimeToStr((TimeTempBarPred),TIME_DATE|TIME_SECONDS);
           }
         if(BourseRegionWork[k][4]!="-")
           {
            TimeTemp=0;
            if((TimeTempBarPred==TimeTempClose)) TimeTemp=TimeTempBarPred;
            if((TimeTempBar==TimeTempOpen)) TimeTemp=TimeTempBar;
            if((TimeTempClose>TimeTempBarPred) && (TimeTempClose<TimeTempBar)) TimeTemp=TimeTempBar;
            if(i==-BarsVpered) if(TimeTemp==0) TimeTemp=TimeTempBar;
            if(TimeTemp==0) continue;
            NameTemp = BourseRegionWork[k][0] + "-"+iName;
            MaxHigh1 = MaxHigh; MinLow1 = MinLow;
            if(BourseRegionWork[k][5] == "+") MaxHigh1 = MaxHigh + MaxHigh*0.0005;
            if(BourseRegionWork[k][5] == "-") MinLow1 = MinLow - MinLow*0.0005;
            ObjectCreate(NameTemp,OBJ_RECTANGLE,0,StrToTime(BourseRegionWork[k][4]),MaxHigh1,TimeTemp,MinLow1);
            ObjectSet(NameTemp,OBJPROP_COLOR,StrToInteger(BourseRegionWork[k][3]));
            BourseRegionWork[k][4]="-";
            iName++;
           }
        }
     }
   TimeBar=Time[0];
   return(0);
  }
//+------------------------------------------------------------------+

void PerevodChasow()
  {
// Ðåæèìû ïåðåâîäà ÷àñîâ
// 1 - Íîâàÿ Çåëàíäèÿ  Çèìà - 03:00 â ïåðâîå    âîñêðåñåíüå àïðåëÿ. Ëåòî - 02:00 â ïîñëåäíåå âîñêðåñåíüå ñåíòÿáðÿ
// 2 - Àâñòðàëèÿ       Çèìà - 03:00 â ïåðâîå    âîñêðåñåíüå àïðåëÿ. Ëåòî - 02:00 â ïåðâîå    âîñêðåñåíüå îêòÿáðÿ
// 3 - Åâðîïà          Ëåòî - 01:00 â ïîñëåäíåå âîñêðåñåíüå ìàðòà.  Çèìà - 01:00 â ïîñëåäíåå âîñêðåñåíüå îêòÿáðÿ
// 4 - ÑØÀ, Êàíàäà     Ëåòî - 02:00 â âòîðîå    âîñêðåñåíüå ìàðòà.  Çèìà - 02:00 â ïåðâîå    âîñêðåñåíüå íîÿáðÿ

// 0 - Çèìà
// 1 - Ëåòî

   int i;
   datetime LetoN;
   datetime LetoK;

   datetime TimeTemp=TimeCurrent();

   ArrayInitialize(PerevodChasow,-1);
// Ðåæèì 0 ×àñû íå ïåðåâîäÿò
   PerevodChasow[0]=0;
// Ðåæèì 1 Íîâàÿ Çåëàíäèÿ
   LetoN = StrToTime(TimeYear(TimeTemp)+".09.30 02:00");
   LetoK = StrToTime(TimeYear(TimeTemp)+".04.01 03:00");
   for(i=30;i>=1;i--) { if(TimeDayOfWeek(LetoN) == 0) break; LetoN = LetoN - 86400;}
   for(i=1;i<=30;i++) { if(TimeDayOfWeek(LetoK) == 0) break; LetoK = LetoK + 86400;}
   PerevodChasow[1]=1;
   if(TimeTemp>LetoK && TimeTemp<LetoN) PerevodChasow[1]=0;
// Ðåæèì 2 Àâñòðàëèÿ
   LetoN = StrToTime(TimeYear(TimeTemp)+".10.01 02:00");
   LetoK = StrToTime(TimeYear(TimeTemp)+".04.01 03:00");
   for(i=1;i<=31;i++) { if(TimeDayOfWeek(LetoN) == 0) break; LetoN = LetoN + 86400;}
   for(i=1;i<=30;i++) { if(TimeDayOfWeek(LetoK) == 0) break; LetoK = LetoK + 86400;}
   PerevodChasow[2]=1;
   if(TimeTemp>LetoK && TimeTemp<LetoN) PerevodChasow[2]=0;
// Ðåæèì 3 Åâðîïà
   LetoN = StrToTime(TimeYear(TimeTemp)+".03.31 01:00");
   LetoK = StrToTime(TimeYear(TimeTemp)+".10.31 01:00");
   for(i=31;i>=1;i--) { if(TimeDayOfWeek(LetoN) == 0) break; LetoN = LetoN - 86400;}
   for(i=31;i>=1;i--) { if(TimeDayOfWeek(LetoK) == 0) break; LetoK = LetoK - 86400;}
   PerevodChasow[3]=0;
   if(TimeTemp>LetoN && TimeTemp<LetoK) PerevodChasow[3]=1;
// Ðåæèì 4 Àìåðèêà
   LetoN = StrToTime(TimeYear(TimeTemp)+".03.01 02:00");
   LetoK = StrToTime(TimeYear(TimeTemp)+".11.01 02:00");
   int n = 0;
   for(i=1;i<=31;i++)
     {
      if(TimeDayOfWeek(LetoN)==0)
        {
         n++;
         if(n==2)break;
        }
      LetoN=LetoN+86400;
     }
   for(i=1;i<=30;i++) { if(TimeDayOfWeek(LetoK)==0) break; LetoK=LetoK+86400; }
   PerevodChasow[4]=0;
   if(TimeTemp>LetoN && TimeTemp<LetoK) PerevodChasow[4]=1;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void WorldBourseWorkFun()
  {
   PerevodChasow();
   int TimeUTCCorrect;
   int TimeUTCCorrectTemp;
   int Temp;
   datetime Temp1;
   datetime Temp2;
   datetime Temp1_1;
   datetime Temp2_1;

   for(int i=1;i<=99;i++) {if(WorldBourse[i][7]=="1") break;}
   if(PerevodChasow[StrToInteger(WorldBourse[i][6])] == 0) TimeUTCCorrect = StrToInteger(WorldBourse[i][4]);
   if(PerevodChasow[StrToInteger(WorldBourse[i][6])] == 1) TimeUTCCorrect = StrToInteger(WorldBourse[i][5]);
   TimeUTCCorrect=TimeUTCCorrect;
   string TimeCurrentTemp=StringConcatenate(TimeYear(TimeCurrent()),".",TimeMonth(TimeCurrent()),".",TimeDay(TimeCurrent())," ");
   for(i=1;i<=99;i++)
     {
      if(WorldBourse[i][0]=="===") continue;
      Temp=PerevodChasow[StrToInteger(WorldBourse[i][6])];
      if(Temp == 0) TimeUTCCorrectTemp = StrToInteger(WorldBourse[i][4]);
      if(Temp == 1) TimeUTCCorrectTemp = StrToInteger(WorldBourse[i][5]);
      TimeUTCCorrectTemp=(TimeUTCCorrectTemp-TimeUTCCorrect)*3600;
      WorldBourseWork[i][0] = StrToTime(TimeCurrentTemp+WorldBourse[i][2])-TimeUTCCorrectTemp;
      WorldBourseWork[i][1] = StrToTime(TimeCurrentTemp+WorldBourse[i][3])-TimeUTCCorrectTemp;
     }

   for(i=1;i<=x;i++)
     {
      for(int k=1;k<=99;k++)
        {
         if(WorldBourse[k][0] == "===") continue;
         if(WorldBourse[k][0] == BourseRegionWork[i][0])
           {
            if(StrToTime(BourseRegionWork[i][1])>WorldBourseWork[k][0]) BourseRegionWork[i][1] = TimeToStr(WorldBourseWork[k][0]);
            if(StrToTime(BourseRegionWork[i][2])<WorldBourseWork[k][1]) BourseRegionWork[i][2] = TimeToStr(WorldBourseWork[k][1]);
           }
        }
     }
   CommFun();
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void CommFun()
  {
   string CommStr="";
   string CommStr1="";
   string CommStrTemp="";
   datetime Sydney,Tokyo,Moscow,Frankfurt,London,NewYork;
   int TimeCorrect=PerevodChasow[3];
   if(PerevodChasow[2] == 0) Sydney = TimeCurrent() + (10-TimeCorrect)*3600;
   if(PerevodChasow[2] == 1) Sydney = TimeCurrent() + (11-TimeCorrect)*3600;
   Tokyo  = TimeCurrent() + (9-TimeCorrect)*3600;
   Moscow = TimeCurrent() + (4-TimeCorrect)*3600;
   if(PerevodChasow[3] == 0) Frankfurt = TimeCurrent() + (1-TimeCorrect)*3600;
   if(PerevodChasow[3] == 1) Frankfurt = TimeCurrent() + (2-TimeCorrect)*3600;
   if(PerevodChasow[3] == 0) London    = TimeCurrent() + (0-TimeCorrect)*3600;
   if(PerevodChasow[3] == 1) London    = TimeCurrent() + (1-TimeCorrect)*3600;
   if(PerevodChasow[4] == 0) NewYork   = TimeCurrent() + (-5-TimeCorrect)*3600;
   if(PerevodChasow[4] == 1) NewYork   = TimeCurrent() + (-4-TimeCorrect)*3600;
   CommStr = "Âðåìÿ ïî Ëîíäîíó\n";
   CommStr = CommStr + "CÈÄÍÅÉ: "+TimeToStr(Sydney);
   CommStr = CommStr + "    |   ÒÎÊÈÎ: "+TimeToStr(Tokyo);
   CommStr = CommStr + "    |   ÌÎÑÊÂÀ: "+TimeToStr(Moscow);
   CommStr = CommStr + "    |   ÔÐÀÍÊÔÓÐÒ: "+TimeToStr(Frankfurt);
   CommStr = CommStr + "    |   ËÎÍÄÎÍ: "+TimeToStr(London);
   CommStr = CommStr + "    |   ÍÜÞ-ÉÎÐÊ: " + TimeToStr(NewYork);
   CommStr = CommStr + "    |";
   CommStr = CommStr + "\n--------------------------------------------\n";
   for(int i=0;i<=x;i++)
     {
      if(BourseRegionWork[i][0]=="-") continue;
      CommStrTemp="";
      for(int k=1;k<=99;k++)
        {
         if(WorldBourse[k][0]=="===") continue;
         if(BourseRegionWork[i][0]!=WorldBourse[k][0]) continue;
         if((TimeCurrent()>=WorldBourseWork[k][0]) && (TimeCurrent()<=WorldBourseWork[k][1]))
           {
            CommStrTemp=CommStrTemp+"   - "+WorldBourse[k][1]+" ("+TimeToStr(WorldBourseWork[k][0],TIME_MINUTES)+" - "+TimeToStr(WorldBourseWork[k][1],TIME_MINUTES)+" | "+TimeToStr(WorldBourseWork[k][1]-TimeCurrent(),TIME_MINUTES)+")\n";
           }
        }
      if(CommStrTemp!="") CommStr=CommStr+BourseRegionWork[i][0]+":\n"+CommStrTemp+"\n";
     }
   Comment(CommStr+CommStr1);
  }
//+------------------------------------------------------------------+

Comments