ZZ_All Quotings 0-0070





//+-----------------------------------------------------------------------------------------+
//|                                                               ZZ_All Quotings 0-0070.mq4|
//|                                                               Copyright © Zhunko        |
//|27.03.2007 - 29.07.2007                                        MF ZHUNKO zhunko@mail.ru  |
//+-----------------------------------------------------------------------------------------+
//| Ñêðèïò äëÿ çàêà÷êè èñòîðèè ïî âñåì âàëþòíûì ïàðàì è ìåòàëëàì.                           |
//| Ñ ïîëåäóþùèì êîíòðîëåì íà "äûðû" â èñòîðèè.                                             |
//| Âñâÿçè ñ ôóíêöèîíàëüíûì ðàñøèðåíèåì, ñêðèïò "ZZ_All Quotings Exchange+Metals 0-0050"    |
//| ïåðåèìåíîâàí â "ZZ_All Quotings Õ-ÕÕÕÕ".                                                |
//| Ïåðåä èñïîëüçîâàíèåì ñêðèïòà óñòàíîâèòå â ÌÒ4 ñåðâèñ->íàñòðîéêè->ãðàôèêè->              |
//|íóæíîå ìàêñèìàëüíîå êîëè÷åñòâî áàðîâ â îêíå. Èìåííî ýòî êîëè÷åñòâî áàðîâ áóäåò           |
//|çàãðóæàòüñÿ è êîíòðîëèðîâàòüñÿ. Çà òåì ïåðåçàãðóçèòå ÌÒ4 è âîñïîëüçóéòåñü ñêðèïòîì.      |
//| Êîíåö ðàáîòû ñêðèïòà íå îçíà÷àåò êîíåö çàãðóçêè èñòîðèè. Ïðîöåññ çàãðóçêè ìîæíî ïîñìîò- |
//|ðåòü â äèñïåò÷åðå çàäà÷. Ïî îêîí÷àíèè çàãðóçêè èñòîðèè íåîáõîäèìî ïåðåçàãðóçèòü ÌÒ4 äëÿ  |
//|ñîõðàíåíèÿ èñòîðèè â ôàéëàõ *.hst.                                                       |
//+-----------------------------------------------------------------------------------------+
//|                              ÈÇÌÅÍÅÍÈß è ÄÎÏÎËÍÅÍÈß.                                    |
//| 1.Äîïîëíåíèÿ â âåðñèè ZZ_All Quotings Exchange+Metals 0-0020 îò 28.03.2007.             |
//| 1.1.Èçìåí¸í àëãîðèòì îïðîñà íà íàëè÷èå áàðîâ â èñòîðèè.                                 |
//| 1.2.Ïîëíàÿ èíôîðìàöèÿ î äåôåêòíûõ áàðàõ âûâîäèòñÿ â ôàéëû.                              |
//|     Âàëþòíûå ïàðû : ZZ_All_Quotings_Exchange_InCorrect.txt;                             |
//|     Ìåòàëëû: ZZ_All_Quotings_Metals_InCorrect.txt.                                      |
//| 2.Äîïîëíåíèÿ â âåðñèè ZZ_All Quotings Exchange+Metals 0-0030 îò 31.03.2007.             |
//| 2.1.Èçìåí¸í ïðèíöèï êîíòðîëÿ çàãðóçêè.                                                  |
//| 2.2.Ââåä¸í âèçóàëüíûé êîíòðîëü âñåõ ïðîöåññîâ.                                          |
//| 2.3.Ââåä¸í ïîëíûé êîíòðîëü âñåé çàãðóæåííîé èñòîðèè.                                    |
//| 2.4. ôàéë çàïèñûâàþòñÿ òîëüêî èíòåðâàëû îòñóòñòâèÿ áàðîâ.                              |
//| 3.Äîïîëíåíèÿ â âåðñèè ZZ_All Quotings Exchange+Metals 0-0040 îò 31.03.2007.             |
//| 3.1.Ââåäåíû äèàëîãîâûå îêíà. Òåïåðü ìîæíî ïîäòâåðäèòü èëè îòêàçàòüñÿ îò çàãðóçêè        |
//|     âàëþòíûõ ïàð, ìåòàëëîâ è êîíòðîëÿ äåôåêòíûõ èíòåðâàëîâ èñòîðèè.                     |
//| 4.Äîïîëíåíèÿ â âåðñèè ZZ_All Quotings Exchange+Metals 0-0050 îò 06.05.2007.             |
//| 4.1.Óñòðàíåíà îøèáêà â ñîçäàíèè ôàéëîâ. Ïóñòûå ôàéëû ñîçäàâàëèñü ïðè îòêàçå îò          |
//|     êîíòðîëÿ íà "äûðû" â èñòîðèè.                                                       |
//| 4.2.Óâåëè÷åíî êîëè÷åñòâî ãðóïï èíñòðóìåíòîâ. Âêëþ÷åíû âñå èíñòðóìåíòû                   |
//|     "Alpari Ltd.", "Forex Best", "MoneyRein Corporation", "North Finance Company Ltd"   |
//|     è îñíîâíûå èíñòðóìåíòû "North-West Financial Broker".                               |
//| 5.Äîïîëíåíèÿ â âåðñèè ZZ_All Quotings 0-0050 îò 09.05.2007.                             |
//| 5.1. ñâÿçè ñ ôóíêöèîíàëüíûì ðàñøèðåíèåì ñêðèïò "ZZ_All Quotings Exchange+Metals 0-0050"|
//|     â "ZZ_All Quotings 0-0050".                                                         |
//| 6.Äîïîëíåíèÿ â âåðñèè ZZ_All Quotings 0-0060 îò 17.07.2007.                             |
//| 6.1.Ïî îêîí÷àíèè ðàáîòû ñêðèïòà âûâîäèòñÿ îêíî ñ èíôîðìàöèè î çàãðóçêå.                 |
//| 6.2.Óìåíüøåíû òðåáîâàíèÿ ê ñâîáîäíîé îïåðàòèâíîé ïàìÿòè áîëåå, ÷åì â äâà ðàçà.          |
//| 6.3.Èñïðàâëåíà îøèáêà â íàçâàíèè âàëþòû "LBP".                                          |
//| 6.4.Îïòèìèçèðîâàíà ðàáîòà â ðåæèìå áåç êîíòðîëÿ èñòîðèè íà "äûðû".                      |
//| 6.5.Èçìåíåíî óñëîâèå êîíòðîëÿ ïðèõîäà èñòîðèè.                                          |
//| 7.Äîïîëíåíèÿ â âåðñèè ZZ_All Quotings 0-0070 îò 29.07.2007.                             |
//| 7.1.Äîïîëíåíû ãðóïïû èíñòðóìåíòîâ "CFD London", "CFD NewYork".                          |
//| 7.2.Ââåä¸í òàéìåð âðåìåíè îæèäàíèÿ ïîñëåäíåãî áàðà - 1 ìèíóòà îò ïîñëåäíåãî îáíîâëåíèÿ  |
//|     âðåìåíè îòêðûòèÿ ïîñëåäíåãî áàðà.                                                   |
//+-----------------------------------------------------------------------------------------+
#property copyright "Copyright © 2007 Zhunko"
#property link      "zhunko@mail.ru"
#include <WinUser32.mqh>
//----Ãëîáàëüíûå ïåðåìåííûå.------------------------------------------
datetime Market_Info, Mark_Inf, iTimeBegin, iTimeBeginTemp, timetemp;
int      a, b, p, h, e, ee, g, i, j, jj, ii, pp;
//----Ìàññèâû.--------------------------------------------------------
int ArrayTimFram_time[12]      = {1, 5, 15, 30, 60, 240, 1440, 10080, 43200, 40320, 41760, 44640};
int ArrayCurrency[62][3]       = {65, 85, 68, 65, 76, 76, 65, 82, 83, 66, 82, 76, 66, 87, 80, 67, 65, 68, 67, 67, 75, 67, 72, 70, 67, 76, 80, 67, 78, 89, 67, 79, 80, 67, 86, 69, 67, 89, 80, 67, 90, 75,
                                  68, 75, 75, 68, 79, 80, 68, 90, 68, 69, 71, 80, 69, 85, 82, 71, 66, 80, 71, 69, 76, 71, 73, 80, 72, 75, 68, 72, 82, 75, 72, 85, 70, 73, 68, 82, 73, 78, 82, 73, 76, 83,
                                  73, 82, 82, 73, 83, 75, 74, 80, 89, 75, 82, 87, 76, 66, 82, 76, 83, 76, 76, 84, 76, 76, 86, 76, 77, 65, 68, 77, 84, 76, 77, 88, 78, 77, 89, 82, 78, 79, 75, 78, 80, 82,
                                  78, 90, 68, 80, 72, 80, 80, 75, 82, 80, 76, 78, 81, 65, 82, 82, 85, 66, 82, 85, 82, 83, 65, 82, 83, 69, 75, 83, 71, 68, 83, 75, 75, 84, 72, 66, 84, 78, 68, 84, 82, 89,
                                  84, 87, 68, 85, 65, 72, 85, 83, 68, 88, 79, 70, 90, 65, 82, 90, 77, 75};
int ArrayMetals[8][10]         = {71, 79, 76, 68, 0, 0, 0, 0, 0, 0, 80, 65, 76, 76, 0, 0, 0, 0, 0, 0, 80, 65, 76, 76, 65, 68, 73, 85, 77, 0, 80, 76, 65, 84, 0, 0, 0, 0, 0, 0,
                                  80, 76, 65, 84, 73, 78, 85, 77, 0, 0, 83, 73, 76, 86, 69, 82, 0, 0, 0, 0, 88, 65, 71, 0, 0, 0, 0, 0, 0, 0, 88, 65, 85, 0, 0, 0, 0, 0, 0, 0};
int ArrayIndexes[31][10]       = {95, 67, 0, 0, 0, 0, 0, 0, 0, 0, 95, 68, 74, 73, 0, 0, 0, 0, 0, 0, 95, 68, 88, 89, 0, 0, 0, 0, 0, 0, 95, 69, 83, 0, 0, 0, 0, 0, 0, 0, 95, 71, 67, 0, 0, 0, 0, 0, 0, 0,
                                  95, 78, 81, 0, 0, 0, 0, 0, 0, 0, 95, 78, 81, 49, 48, 48, 0, 0, 0, 0, 95, 78, 81, 67, 79, 77, 80, 0, 0, 0, 95, 81, 71, 0, 0, 0, 0, 0, 0, 0, 95, 81, 77, 0, 0, 0, 0, 0, 0, 0,
                                  95, 83, 0, 0, 0, 0, 0, 0, 0, 0, 95, 83, 73, 0, 0, 0, 0, 0, 0, 0, 95, 83, 80, 53, 48, 48, 0, 0, 0, 0, 95, 87, 0, 0, 0, 0, 0, 0, 0, 0,
                                  36, 65, 84, 88, 0, 0, 0, 0, 0, 0, 36, 66, 75, 66, 82, 73, 67, 0, 0, 0, 36, 67, 79, 77, 80, 81, 0, 0, 0, 0, 36, 68, 65, 88, 73, 0, 0, 0, 0, 0, 36, 70, 84, 83, 69, 0, 0, 0, 0, 0,
                                  36, 73, 78, 68, 85, 0, 0, 0, 0, 0, 36, 78, 68, 88, 0, 0, 0, 0, 0, 0, 36, 78, 73, 75, 75, 69, 73, 0, 0, 0, 36, 78, 89, 65, 0, 0, 0, 0, 0, 0, 36, 79, 69, 88, 0, 0, 0, 0, 0, 0,
                                  36, 81, 81, 81, 81, 0, 0, 0, 0, 0, 36, 83, 80, 88, 0, 0, 0, 0, 0, 0, 36, 84, 82, 65, 78, 0, 0, 0, 0, 0,
                                  68, 65, 88, 0, 0, 0, 0, 0, 0, 0, 68, 74, 73, 0, 0, 0, 0, 0, 0, 0, 78, 65, 83, 68, 65, 81, 0, 0, 0, 0, 83, 38, 80, 53, 48, 48, 0, 0, 0, 0};
int ArrayCFD_Viena[31][10]     = {66, 70, 67, 35, 0, 0, 0, 0, 0, 0, 66, 85, 68, 35, 0, 0, 0, 0, 0, 0, 66, 87, 73, 78, 35, 0, 0, 0, 0, 0, 66, 87, 84, 35, 0, 0, 0, 0, 0, 0, 67, 78, 84, 89, 35, 0, 0, 0, 0, 0,
                                  67, 79, 86, 35, 0, 0, 0, 0, 0, 0, 67, 87, 84, 35, 0, 0, 0, 0, 0, 0, 69, 66, 83, 35, 0, 0, 0, 0, 0, 0, 69, 89, 66, 76, 35, 0, 0, 0, 0, 0, 70, 76, 85, 35, 0, 0, 0, 0, 0, 0,
                                  72, 69, 65, 68, 35, 0, 0, 0, 0, 0, 72, 86, 66, 35, 0, 0, 0, 0, 0, 0, 73, 67, 76, 76, 35, 0, 0, 0, 0, 0, 73, 69, 65, 35, 0, 0, 0, 0, 0, 0, 75, 84, 77, 35, 0, 0, 0, 0, 0, 0,
                                  76, 78, 90, 35, 0, 0, 0, 0, 0, 0, 77, 69, 76, 35, 0, 0, 0, 0, 0, 0, 77, 77, 75, 35, 0, 0, 0, 0, 0, 0, 79, 77, 86, 35, 0, 0, 0, 0, 0, 0, 80, 65, 76, 35, 0, 0, 0, 0, 0, 0,
                                  82, 72, 73, 35, 0, 0, 0, 0, 0, 0, 82, 73, 66, 72, 35, 0, 0, 0, 0, 0, 83, 66, 79, 35, 0, 0, 0, 0, 0, 0, 83, 69, 77, 35, 0, 0, 0, 0, 0, 0, 83, 78, 84, 35, 0, 0, 0, 0, 0, 0,
                                  84, 75, 65, 35, 0, 0, 0, 0, 0, 0, 85, 81, 65, 35, 0, 0, 0, 0, 0, 0, 86, 69, 82, 35, 0, 0, 0, 0, 0, 0, 86, 79, 69, 35, 0, 0, 0, 0, 0, 0, 87, 73, 69, 35, 0, 0, 0, 0, 0, 0,
                                  87, 79, 76, 35, 0, 0, 0, 0, 0, 0, 87, 83, 84, 35, 0, 0, 0, 0, 0, 0};
int ArrayCFD_London[212][10]   = {65, 65, 76, 35, 0, 0, 0, 0, 0, 0, 65, 66, 46, 35, 0, 0, 0, 0, 0, 0, 65, 66, 70, 35, 0, 0, 0, 0, 0, 0, 65, 68, 77, 35, 0, 0, 0, 0, 0, 0, 65, 73, 82, 67, 35, 0, 0, 0, 0, 0,
                                  65, 76, 46, 0, 0, 0, 0, 0, 0, 0, 65, 76, 66, 75, 35, 0, 0, 0, 0, 0, 65, 76, 90, 35, 0, 0, 0, 0, 0, 0, 65, 77, 69, 67, 35, 0, 0, 0, 0, 0, 65, 77, 76, 35, 0, 0, 0, 0, 0, 0,
                                  65, 77, 86, 35, 0, 0, 0, 0, 0, 0, 65, 78, 71, 76, 35, 0, 0, 0, 0, 0, 65, 78, 84, 79, 35, 0, 0, 0, 0, 0, 65, 82, 77, 35, 0, 0, 0, 0, 0, 0, 65, 83, 72, 77, 35, 0, 0, 0, 0, 0,
                                  65, 84, 65, 68, 35, 0, 0, 0, 0, 0, 65, 84, 83, 84, 35, 0, 0, 0, 0, 0, 65, 86, 46, 35, 0, 0, 0, 0, 0, 0, 65, 86, 69, 35, 0, 0, 0, 0, 0, 0, 65, 86, 90, 35, 0, 0, 0, 0, 0, 0, 
                                  65, 88, 65, 35, 0, 0, 0, 0, 0, 0, 65, 90, 78, 35, 0, 0, 0, 0, 0, 0, 66, 65, 46, 35, 0, 0, 0, 0, 0, 0, 66, 65, 82, 67, 35, 0, 0, 0, 0, 0, 66, 65, 84, 83, 35, 0, 0, 0, 0, 0,
                                  66, 65, 89, 35, 0, 0, 0, 0, 0, 0, 66, 66, 46, 35, 0, 0, 0, 0, 0, 0, 66, 66, 89, 35, 0, 0, 0, 0, 0, 0, 66, 68, 69, 86, 35, 0, 0, 0, 0, 0, 66, 71, 46, 35, 0, 0, 0, 0, 0, 0,
                                  66, 71, 69, 79, 35, 0, 0, 0, 0, 0, 66, 71, 89, 35, 0, 0, 0, 0, 0, 0, 66, 75, 71, 35, 0, 0, 0, 0, 0, 0, 66, 75, 73, 82, 35, 0, 0, 0, 0, 0, 66, 76, 78, 68, 35, 0, 0, 0, 0, 0,
                                  66, 76, 84, 35, 0, 0, 0, 0, 0, 0, 66, 78, 90, 76, 35, 0, 0, 0, 0, 0, 66, 80, 46, 35, 0, 0, 0, 0, 0, 0, 66, 82, 66, 89, 35, 0, 0, 0, 0, 0, 66, 83, 89, 35, 0, 0, 0, 0, 0, 0, 
                                  66, 84, 46, 65, 35, 0, 0, 0, 0, 0, 66, 88, 66, 35, 0, 0, 0, 0, 0, 0, 67, 66, 82, 89, 35, 0, 0, 0, 0, 0, 67, 67, 66, 35, 0, 0, 0, 0, 0, 0, 67, 67, 76, 35, 0, 0, 0, 0, 0, 0,
                                  67, 67, 82, 35, 0, 0, 0, 0, 0, 0, 67, 72, 90, 78, 35, 0, 0, 0, 0, 0, 67, 78, 65, 35, 0, 0, 0, 0, 0, 0, 67, 78, 69, 35, 0, 0, 0, 0, 0, 0, 67, 79, 66, 35, 0, 0, 0, 0, 0, 0,
                                  67, 80, 71, 35, 0, 0, 0, 0, 0, 0, 67, 80, 73, 35, 0, 0, 0, 0, 0, 0, 67, 80, 87, 35, 0, 0, 0, 0, 0, 0, 67, 82, 72, 35, 0, 0, 0, 0, 0, 0, 67, 87, 46, 35, 0, 0, 0, 0, 0, 0, 
                                  67, 83, 35, 0, 0, 0, 0, 0, 0, 0, 67, 87, 46, 35, 0, 0, 0, 0, 0, 0, 68, 66, 75, 35, 0, 0, 0, 0, 0, 0, 68, 71, 69, 35, 0, 0, 0, 0, 0, 0, 68, 80, 79, 35, 0, 0, 0, 0, 0, 0,
                                  68, 82, 88, 35, 0, 0, 0, 0, 0, 0, 68, 83, 71, 73, 35, 0, 0, 0, 0, 0, 69, 66, 73, 68, 35, 0, 0, 0, 0, 0, 69, 69, 84, 68, 35, 0, 0, 0, 0, 0, 69, 76, 65, 35, 0, 0, 0, 0, 0, 0,
                                  69, 76, 88, 66, 35, 0, 0, 0, 0, 0, 69, 77, 65, 35, 0, 0, 0, 0, 0, 0, 69, 77, 71, 35, 0, 0, 0, 0, 0, 0, 69, 77, 73, 35, 0, 0, 0, 0, 0, 0, 69, 82, 73, 35, 0, 0, 0, 0, 0, 0,
                                  69, 84, 73, 35, 0, 0, 0, 0, 0, 0, 69, 88, 80, 78, 35, 0, 0, 0, 0, 0, 69, 90, 74, 35, 0, 0, 0, 0, 0, 0, 69, 86, 82, 35, 0, 0, 0, 0, 0, 0, 70, 71, 80, 35, 0, 0, 0, 0, 0, 0,
                                  70, 73, 86, 69, 35, 0, 0, 0, 0, 0, 70, 80, 46, 35, 0, 0, 0, 0, 0, 0, 70, 82, 67, 76, 35, 0, 0, 0, 0, 0, 71, 65, 90, 35, 0, 0, 0, 0, 0, 0, 71, 70, 83, 35, 0, 0, 0, 0, 0, 0,
                                  71, 70, 84, 85, 35, 0, 0, 0, 0, 0, 71, 75, 78, 35, 0, 0, 0, 0, 0, 0, 71, 76, 72, 35, 0, 0, 0, 0, 0, 0, 71, 83, 75, 35, 0, 0, 0, 0, 0, 0, 72, 65, 83, 35, 0, 0, 0, 0, 0, 0,
                                  72, 66, 79, 83, 35, 0, 0, 0, 0, 0, 72, 67, 85, 35, 0, 0, 0, 0, 0, 0, 72, 77, 83, 79, 0, 0, 0, 0, 0, 0, 72, 78, 83, 35, 0, 0, 0, 0, 0, 0, 72, 79, 77, 69, 35, 0, 0, 0, 0, 0,
                                  72, 83, 66, 65, 35, 0, 0, 0, 0, 0, 72, 89, 85, 68, 35, 0, 0, 0, 0, 0, 73, 65, 80, 35, 0, 0, 0, 0, 0, 0, 73, 67, 73, 35, 0, 0, 0, 0, 0, 0, 73, 72, 71, 35, 0, 0, 0, 0, 0, 0,
                                  73, 73, 73, 35, 0, 0, 0, 0, 0, 0, 73, 77, 73, 35, 0, 0, 0, 0, 0, 0, 73, 77, 84, 35, 0, 0, 0, 0, 0, 0, 73, 78, 67, 72, 35, 0, 0, 0, 0, 0, 73, 78, 67, 72, 35, 0, 0, 0, 0, 0,
                                  73, 78, 70, 35, 0, 0, 0, 0, 0, 0, 73, 78, 86, 80, 35, 0, 0, 0, 0, 0, 73, 80, 77, 35, 0, 0, 0, 0, 0, 0, 73, 80, 82, 35, 0, 0, 0, 0, 0, 0, 73, 83, 65, 84, 35, 0, 0, 0, 0, 0,
                                  73, 83, 89, 83, 35, 0, 0, 0, 0, 0, 73, 84, 86, 35, 0, 0, 0, 0, 0, 0, 75, 90, 71, 35, 0, 0, 0, 0, 0, 0, 74, 77, 65, 84, 35, 0, 0, 0, 0, 0, 75, 65, 90, 35, 0, 0, 0, 0, 0, 0,
                                  75, 69, 76, 35, 0, 0, 0, 0, 0, 0, 75, 69, 83, 65, 35, 0, 0, 0, 0, 0, 75, 71, 70, 35, 0, 0, 0, 0, 0, 0, 75, 71, 80, 35, 0, 0, 0, 0, 0, 0, 75, 84, 67, 68, 35, 0, 0, 0, 0, 0,
                                  75, 89, 71, 65, 35, 0, 0, 0, 0, 0, 76, 65, 68, 35, 0, 0, 0, 0, 0, 0, 76, 65, 78, 68, 35, 0, 0, 0, 0, 0, 76, 71, 76, 68, 35, 0, 0, 0, 0, 0, 76, 73, 73, 35, 0, 0, 0, 0, 0, 0,
                                  76, 75, 79, 68, 35, 0, 0, 0, 0, 0, 76, 76, 79, 89, 35, 0, 0, 0, 0, 0, 76, 77, 73, 35, 0, 0, 0, 0, 0, 0, 76, 79, 71, 35, 0, 0, 0, 0, 0, 0, 76, 83, 69, 35, 0, 0, 0, 0, 0, 0,
                                  77, 65, 66, 35, 0, 0, 0, 0, 0, 0, 77, 75, 83, 35, 0, 0, 0, 0, 0, 0, 77, 78, 79, 68, 35, 0, 0, 0, 0, 0, 77, 82, 87, 35, 0, 0, 0, 0, 0, 0, 78, 67, 85, 35, 0, 0, 0, 0, 0, 0,
                                  78, 71, 46, 35, 0, 0, 0, 0, 0, 0, 78, 72, 89, 35, 0, 0, 0, 0, 0, 0, 78, 82, 75, 35, 0, 0, 0, 0, 0, 0, 78, 83, 84, 82, 35, 0, 0, 0, 0, 0, 78, 86, 84, 75, 35, 0, 0, 0, 0, 0,
                                  78, 88, 84, 35, 0, 0, 0, 0, 0, 0, 79, 71, 90, 68, 35, 0, 0, 0, 0, 0, 79, 77, 76, 35, 0, 0, 0, 0, 0, 0, 80, 70, 68, 35, 0, 0, 0, 0, 0, 0, 80, 70, 71, 35, 0, 0, 0, 0, 0, 0,
                                  80, 73, 68, 68, 35, 0, 0, 0, 0, 0, 80, 76, 90, 76, 35, 0, 0, 0, 0, 0, 80, 78, 78, 35, 0, 0, 0, 0, 0, 0, 80, 82, 84, 89, 35, 0, 0, 0, 0, 0, 80, 82, 85, 35, 0, 0, 0, 0, 0, 0,
                                  80, 83, 79, 78, 35, 0, 0, 0, 0, 0, 80, 85, 66, 35, 0, 0, 0, 0, 0, 0, 82, 66, 46, 35, 0, 0, 0, 0, 0, 0, 82, 66, 83, 35, 0, 0, 0, 0, 0, 0, 82, 68, 83, 65, 35, 0, 0, 0, 0, 0,
                                  82, 69, 88, 35, 0, 0, 0, 0, 0, 0, 82, 75, 77, 68, 35, 0, 0, 0, 0, 0, 82, 77, 77, 35, 0, 0, 0, 0, 0, 0, 82, 79, 83, 78, 35, 0, 0, 0, 0, 0, 82, 82, 46, 35, 0, 0, 0, 0, 0, 0,
                                  82, 83, 65, 35, 0, 0, 0, 0, 0, 0, 82, 83, 76, 35, 0, 0, 0, 0, 0, 0, 82, 84, 79, 35, 0, 0, 0, 0, 0, 0, 82, 84, 82, 35, 0, 0, 0, 0, 0, 0, 82, 89, 65, 35, 0, 0, 0, 0, 0, 0,
                                  83, 65, 66, 35, 0, 0, 0, 0, 0, 0, 83, 66, 69, 35, 0, 0, 0, 0, 0, 0, 83, 66, 82, 89, 35, 0, 0, 0, 0, 0, 83, 67, 73, 78, 35, 0, 0, 0, 0, 0, 83, 67, 76, 35, 0, 0, 0, 0, 0, 0,
                                  83, 68, 82, 35, 0, 0, 0, 0, 0, 0, 83, 71, 67, 35, 0, 0, 0, 0, 0, 0, 83, 71, 69, 35, 0, 0, 0, 0, 0, 0, 83, 71, 71, 68, 35, 0, 0, 0, 0, 0, 83, 72, 80, 35, 0, 0, 0, 0, 0, 0,
                                  83, 73, 71, 35, 0, 0, 0, 0, 0, 0, 83, 76, 69, 84, 35, 0, 0, 0, 0, 0, 83, 77, 73, 78, 35, 0, 0, 0, 0, 0, 83, 77, 83, 78, 35, 0, 0, 0, 0, 0, 83, 78, 46, 35, 0, 0, 0, 0, 0, 0,
                                  83, 78, 75, 66, 35, 0, 0, 0, 0, 0, 83, 78, 80, 35, 0, 0, 0, 0, 0, 0, 83, 80, 87, 35, 0, 0, 0, 0, 0, 0, 83, 82, 80, 35, 0, 0, 0, 0, 0, 0, 83, 83, 65, 35, 0, 0, 0, 0, 0, 0,
                                  83, 83, 69, 35, 0, 0, 0, 0, 0, 0, 83, 84, 65, 78, 35, 0, 0, 0, 0, 0, 83, 84, 74, 35, 0, 0, 0, 0, 0, 0, 83, 86, 83, 84, 35, 0, 0, 0, 0, 0, 83, 86, 84, 35, 0, 0, 0, 0, 0, 0,
                                  84, 65, 84, 69, 35, 0, 0, 0, 0, 0, 84, 68, 69, 35, 0, 0, 0, 0, 0, 0, 84, 69, 77, 35, 0, 0, 0, 0, 0, 0, 84, 72, 75, 35, 0, 0, 0, 0, 0, 0, 84, 76, 87, 35, 0, 0, 0, 0, 0, 0, 
                                  84, 79, 77, 75, 35, 0, 0, 0, 0, 0, 84, 80, 75, 35, 0, 0, 0, 0, 0, 0, 84, 80, 83, 68, 35, 0, 0, 0, 0, 0, 84, 83, 67, 79, 35, 0, 0, 0, 0, 0, 84, 84, 65, 35, 0, 0, 0, 0, 0, 0,
                                  84, 87, 79, 68, 35, 0, 0, 0, 0, 0, 85, 66, 77, 35, 0, 0, 0, 0, 0, 0, 85, 69, 83, 68, 35, 0, 0, 0, 0, 0, 85, 76, 86, 82, 35, 0, 0, 0, 0, 0, 85, 77, 66, 35, 0, 0, 0, 0, 0, 0,
                                  85, 85, 46, 35, 0, 0, 0, 0, 0, 0, 86, 69, 68, 35, 0, 0, 0, 0, 0, 0, 86, 75, 87, 35, 0, 0, 0, 0, 0, 0, 86, 79, 68, 35, 0, 0, 0, 0, 0, 0, 87, 77, 72, 35, 0, 0, 0, 0, 0, 0,
                                  87, 77, 80, 89, 35, 0, 0, 0, 0, 0, 87, 79, 83, 35, 0, 0, 0, 0, 0, 0, 87, 80, 80, 35, 0, 0, 0, 0, 0, 0, 87, 84, 66, 35, 0, 0, 0, 0, 0, 0, 88, 84, 65, 35, 0, 0, 0, 0, 0, 0,
                                  89, 65, 85, 35, 0, 0, 0, 0, 0, 0, 89, 69, 76, 76, 35, 0, 0, 0, 0, 0};                          
int ArrayCFD_NewYork[380][10]  = {35, 65, 65, 0, 0, 0, 0, 0, 0, 0, 35, 65, 65, 80, 76, 0, 0, 0, 0, 0, 35, 65, 66, 66, 0, 0, 0, 0, 0, 0, 35, 65, 66, 77, 0, 0, 0, 0, 0, 0, 35, 65, 66, 78, 0, 0, 0, 0, 0, 0,
                                  35, 65, 66, 84, 0, 0, 0, 0, 0, 0, 35, 65, 68, 66, 69, 0, 0, 0, 0, 0, 35, 65, 69, 80, 0, 0, 0, 0, 0, 0, 35, 65, 72, 67, 73, 0, 0, 0, 0, 0, 35, 65, 73, 71, 0, 0, 0, 0, 0, 0,
                                  35, 65, 75, 72, 0, 0, 0, 0, 0, 0, 35, 65, 75, 90, 79, 89, 0, 0, 0, 0, 35, 65, 77, 65, 84, 0, 0, 0, 0, 0, 35, 65, 77, 68, 0, 0, 0, 0, 0, 0, 35, 65, 77, 90, 78, 0, 0, 0, 0, 0,
                                  35, 65, 83, 68, 0, 0, 0, 0, 0, 0, 35, 65, 88, 80, 0, 0, 0, 0, 0, 0, 35, 66, 65, 0, 0, 0, 0, 0, 0, 0, 35, 66, 65, 67, 0, 0, 0, 0, 0, 0, 35, 66, 65, 89, 69, 82, 0, 0, 0, 0,
                                  35, 66, 67, 0, 0, 0, 0, 0, 0, 0, 35, 66, 68, 75, 0, 0, 0, 0, 0, 0, 35, 66, 69, 78, 0, 0, 0, 0, 0, 0, 35, 66, 70, 0, 0, 0, 0, 0, 0, 0, 35, 66, 71, 80, 0, 0, 0, 0, 0, 0,
                                  35, 66, 75, 0, 0, 0, 0, 0, 0, 0, 35, 66, 75, 83, 0, 0, 0, 0, 0, 0, 35, 66, 77, 89, 0, 0, 0, 0, 0, 0, 35, 66, 78, 71, 0, 0, 0, 0, 0, 0, 35, 66, 84, 77, 0, 0, 0, 0, 0, 0,
                                  35, 66, 85, 68, 0, 0, 0, 0, 0, 0, 35, 67, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 65, 74, 0, 0, 0, 0, 0, 0, 35, 67, 65, 84, 0, 0, 0, 0, 0, 0, 35, 67, 67, 0, 0, 0, 0, 0, 0, 0,
                                  35, 67, 73, 65, 0, 0, 0, 0, 0, 0, 35, 67, 76, 95, 0, 0, 0, 0, 0, 0, 35, 67, 77, 88, 0, 0, 0, 0, 0, 0, 35, 67, 79, 80, 0, 0, 0, 0, 0, 0, 35, 67, 83, 67, 79, 0, 0, 0, 0, 0,
                                  35, 67, 83, 71, 0, 0, 0, 0, 0, 0, 35, 67, 83, 88, 0, 0, 0, 0, 0, 0, 35, 67, 84, 66, 75, 0, 0, 0, 0, 0, 35, 67, 86, 83, 0, 0, 0, 0, 0, 0, 35, 67, 86, 88, 0, 0, 0, 0, 0, 0,
                                  35, 67, 89, 0, 0, 0, 0, 0, 0, 0, 35, 68, 65, 0, 0, 0, 0, 0, 0, 0, 35, 68, 67, 88, 0, 0, 0, 0, 0, 0, 35, 68, 68, 0, 0, 0, 0, 0, 0, 0, 35, 68, 69, 76, 76, 0, 0, 0, 0, 0,
                                  35, 68, 73, 65, 0, 0, 0, 0, 0, 0, 35, 68, 73, 83, 0, 0, 0, 0, 0, 0, 35, 68, 76, 66, 0, 0, 0, 0, 0, 0, 35, 68, 79, 87, 0, 0, 0, 0, 0, 0, 35, 68, 87, 65, 0, 0, 0, 0, 0, 0, 
                                  35, 69, 66, 65, 89, 0, 0, 0, 0, 0, 35, 69, 68, 83, 0, 0, 0, 0, 0, 0, 35, 69, 75, 0, 0, 0, 0, 0, 0, 0, 35, 69, 76, 69, 0, 0, 0, 0, 0, 0, 35, 69, 77, 67, 0, 0, 0, 0, 0, 0,
                                  35, 69, 78, 0, 0, 0, 0, 0, 0, 0, 35, 69, 87, 74, 0, 0, 0, 0, 0, 0, 35, 70, 0, 0, 0, 0, 0, 0, 0, 0, 35, 70, 68, 67, 0, 0, 0, 0, 0, 0, 35, 70, 68, 88, 0, 0, 0, 0, 0, 0,
                                  35, 70, 73, 65, 0, 0, 0, 0, 0, 0, 35, 70, 83, 0, 0, 0, 0, 0, 0, 0, 35, 70, 84, 69, 0, 0, 0, 0, 0, 0, 35, 71, 69, 0, 0, 0, 0, 0, 0, 0, 35, 71, 76, 68, 78, 0, 0, 0, 0, 0,
                                  35, 71, 76, 87, 0, 0, 0, 0, 0, 0, 35, 71, 77, 0, 0, 0, 0, 0, 0, 0, 35, 71, 79, 79, 71, 0, 0, 0, 0, 0, 35, 71, 83, 0, 0, 0, 0, 0, 0, 0, 35, 71, 89, 77, 66, 0, 0, 0, 0, 0,
                                  35, 72, 65, 76, 0, 0, 0, 0, 0, 0, 35, 72, 68, 0, 0, 0, 0, 0, 0, 0, 35, 72, 76, 70, 0, 0, 0, 0, 0, 0, 35, 72, 76, 84, 0, 0, 0, 0, 0, 0, 35, 72, 77, 67, 0, 0, 0, 0, 0, 0,
                                  35, 72, 79, 78, 0, 0, 0, 0, 0, 0, 35, 72, 80, 81, 0, 0, 0, 0, 0, 0, 35, 73, 66, 77, 0, 0, 0, 0, 0, 0, 35, 73, 66, 78, 0, 0, 0, 0, 0, 0, 35, 73, 78, 84, 67, 0, 0, 0, 0, 0,
                                  35, 73, 80, 0, 0, 0, 0, 0, 0, 0, 35, 73, 80, 71, 0, 0, 0, 0, 0, 0, 35, 73, 84, 84, 0, 0, 0, 0, 0, 0, 35, 74, 78, 74, 0, 0, 0, 0, 0, 0, 35, 74, 80, 77, 0, 0, 0, 0, 0, 0,
                                  35, 75, 69, 80, 0, 0, 0, 0, 0, 0, 35, 75, 70, 84, 0, 0, 0, 0, 0, 0, 35, 75, 79, 0, 0, 0, 0, 0, 0, 0, 35, 75, 89, 79, 0, 0, 0, 0, 0, 0, 35, 76, 70, 0, 0, 0, 0, 0, 0, 0,
                                  35, 76, 76, 89, 0, 0, 0, 0, 0, 0, 35, 76, 77, 84, 0, 0, 0, 0, 0, 0, 35, 76, 79, 87, 0, 0, 0, 0, 0, 0, 35, 76, 80, 76, 0, 0, 0, 0, 0, 0, 35, 76, 83, 73, 0, 0, 0, 0, 0, 0,
                                  35, 76, 88, 75, 0, 0, 0, 0, 0, 0, 35, 76, 89, 71, 0, 0, 0, 0, 0, 0, 35, 78, 66, 84, 0, 0, 0, 0, 0, 0, 35, 77, 67, 0, 0, 0, 0, 0, 0, 0, 35, 77, 67, 68, 0, 0, 0, 0, 0, 0,
                                  35, 77, 71, 77, 0, 0, 0, 0, 0, 0, 35, 77, 75, 84, 65, 89, 0, 0, 0, 0, 35, 77, 77, 67, 0, 0, 0, 0, 0, 0, 35, 77, 77, 77, 0, 0, 0, 0, 0, 0, 35, 77, 79, 0, 0, 0, 0, 0, 0, 0,
                                  35, 77, 79, 84, 0, 0, 0, 0, 0, 0, 35, 77, 82, 75, 0, 0, 0, 0, 0, 0, 35, 77, 83, 70, 84, 0, 0, 0, 0, 0, 35, 77, 84, 0, 0, 0, 0, 0, 0, 0, 35, 77, 84, 76, 0, 0, 0, 0, 0, 0,
                                  35, 77, 84, 85, 0, 0, 0, 0, 0, 0, 35, 77, 85, 0, 0, 0, 0, 0, 0, 0, 35, 77, 88, 87, 76, 0, 0, 0, 0, 0, 35, 78, 69, 77, 0, 0, 0, 0, 0, 0, 35, 78, 69, 87, 0, 0, 0, 0, 0, 0,
                                  35, 78, 75, 69, 0, 0, 0, 0, 0, 0, 35, 78, 79, 75, 0, 0, 0, 0, 0, 0, 35, 78, 79, 86, 76, 0, 0, 0, 0, 0, 35, 78, 83, 65, 78, 89, 0, 0, 0, 0, 35, 78, 86, 83, 0, 0, 0, 0, 0, 0,
                                  35, 78, 87, 83, 0, 0, 0, 0, 0, 0, 35, 78, 89, 84, 0, 0, 0, 0, 0, 0, 35, 78, 90, 84, 0, 0, 0, 0, 0, 0, 35, 79, 82, 67, 76, 0, 0, 0, 0, 0, 35, 80, 65, 76, 77, 0, 0, 0, 0, 0,
                                  35, 80, 68, 0, 0, 0, 0, 0, 0, 0, 35, 80, 68, 67, 79, 0, 0, 0, 0, 0, 35, 80, 69, 80, 0, 0, 0, 0, 0, 0, 35, 80, 70, 69, 0, 0, 0, 0, 0, 0, 35, 80, 71, 0, 0, 0, 0, 0, 0, 0,
                                  35, 80, 72, 71, 0, 0, 0, 0, 0, 0, 35, 80, 76, 65, 0, 0, 0, 0, 0, 0, 35, 80, 80, 71, 0, 0, 0, 0, 0, 0, 35, 80, 83, 79, 0, 0, 0, 0, 0, 0, 35, 80, 85, 66, 0, 0, 0, 0, 0, 0,
                                  35, 81, 0, 0, 0, 0, 0, 0, 0, 0, 35, 81, 81, 81, 0, 0, 0, 0, 0, 0, 35, 82, 68, 83, 0, 0, 0, 0, 0, 0, 35, 82, 68, 83, 46, 65, 0, 0, 0, 0, 35, 82, 68, 89, 0, 0, 0, 0, 0, 0,
                                  35, 82, 73, 79, 0, 0, 0, 0, 0, 0, 35, 82, 79, 83, 0, 0, 0, 0, 0, 0, 35, 82, 79, 83, 84, 0, 0, 0, 0, 0, 35, 82, 84, 73, 0, 0, 0, 0, 0, 0, 35, 82, 84, 80, 0, 0, 0, 0, 0, 0,
                                  35, 83, 0, 0, 0, 0, 0, 0, 0, 0, 35, 83, 65, 80, 0, 0, 0, 0, 0, 0, 35, 83, 66, 85, 88, 0, 0, 0, 0, 0, 35, 83, 71, 80, 0, 0, 0, 0, 0, 0, 35, 83, 72, 76, 68, 0, 0, 0, 0, 0,
                                  35, 83, 73, 0, 0, 0, 0, 0, 0, 0, 35, 83, 76, 69, 0, 0, 0, 0, 0, 0, 35, 83, 78, 68, 75, 0, 0, 0, 0, 0, 35, 83, 78, 69, 0, 0, 0, 0, 0, 0, 35, 83, 78, 89, 0, 0, 0, 0, 0, 0,
                                  35, 83, 80, 89, 0, 0, 0, 0, 0, 0, 35, 83, 85, 78, 87, 0, 0, 0, 0, 0, 35, 83, 89, 77, 67, 0, 0, 0, 0, 0, 35, 84, 0, 0, 0, 0, 0, 0, 0, 0, 35, 84, 67, 75, 0, 0, 0, 0, 0, 0,
                                  35, 84, 68, 75, 0, 0, 0, 0, 0, 0, 35, 84, 69, 79, 0, 0, 0, 0, 0, 0, 35, 84, 76, 77, 0, 0, 0, 0, 0, 0, 35, 84, 77, 0, 0, 0, 0, 0, 0, 0, 35, 84, 82, 66, 0, 0, 0, 0, 0, 0,
                                  35, 84, 82, 67, 82, 0, 0, 0, 0, 0, 35, 84, 83, 77, 0, 0, 0, 0, 0, 0, 35, 84, 84, 77, 0, 0, 0, 0, 0, 0, 35, 84, 87, 88, 0, 0, 0, 0, 0, 0, 35, 84, 88, 77, 0, 0, 0, 0, 0, 0,
                                  35, 85, 66, 83, 0, 0, 0, 0, 0, 0, 35, 85, 76, 0, 0, 0, 0, 0, 0, 0, 35, 85, 84, 88, 0, 0, 0, 0, 0, 0, 35, 86, 73, 80, 0, 0, 0, 0, 0, 0, 35, 86, 82, 83, 78, 0, 0, 0, 0, 0,
                                  35, 86, 90, 0, 0, 0, 0, 0, 0, 0, 35, 87, 66, 68, 0, 0, 0, 0, 0, 0, 35, 87, 68, 67, 0, 0, 0, 0, 0, 0, 35, 87, 70, 67, 0, 0, 0, 0, 0, 0, 35, 87, 70, 77, 73, 0, 0, 0, 0, 0,
                                  35, 87, 77, 84, 0, 0, 0, 0, 0, 0, 35, 87, 89, 78, 78, 0, 0, 0, 0, 0, 35, 88, 79, 77, 0, 0, 0, 0, 0, 0, 35, 88, 82, 88, 0, 0, 0, 0, 0, 0, 35, 89, 72, 79, 79, 0, 0, 0, 0, 0,
                                  65, 65, 35, 0, 0, 0, 0, 0, 0, 0, 65, 65, 80, 76, 35, 0, 0, 0, 0, 0, 65, 66, 66, 35, 0, 0, 0, 0, 0, 0, 65, 66, 77, 35, 0, 0, 0, 0, 0, 0, 65, 66, 78, 35, 0, 0, 0, 0, 0, 0,
                                  65, 66, 84, 35, 0, 0, 0, 0, 0, 0, 65, 68, 66, 69, 35, 0, 0, 0, 0, 0, 65, 69, 80, 35, 0, 0, 0, 0, 0, 0, 65, 72, 67, 73, 35, 0, 0, 0, 0, 0, 65, 73, 71, 35, 0, 0, 0, 0, 0, 0,
                                  65, 75, 72, 35, 0, 0, 0, 0, 0, 0, 65, 75, 90, 79, 89, 35, 0, 0, 0, 0, 65, 77, 65, 84, 35, 0, 0, 0, 0, 0, 65, 77, 68, 35, 0, 0, 0, 0, 0, 0, 65, 77, 90, 78, 35, 0, 0, 0, 0, 0,
                                  65, 83, 68, 35, 0, 0, 0, 0, 0, 0, 65, 88, 80, 35, 0, 0, 0, 0, 0, 0, 66, 65, 35, 0, 0, 0, 0, 0, 0, 0, 66, 65, 67, 35, 0, 0, 0, 0, 0, 0, 66, 65, 89, 69, 82, 35, 0, 0, 0, 0,
                                  66, 67, 35, 0, 0, 0, 0, 0, 0, 0, 66, 68, 75, 35, 0, 0, 0, 0, 0, 0, 66, 69, 78, 35, 0, 0, 0, 0, 0, 0, 66, 70, 35, 0, 0, 0, 0, 0, 0, 0, 66, 71, 80, 35, 0, 0, 0, 0, 0, 0,
                                  66, 75, 35, 0, 0, 0, 0, 0, 0, 0, 66, 75, 83, 35, 0, 0, 0, 0, 0, 0, 66, 77, 89, 35, 0, 0, 0, 0, 0, 0, 66, 78, 71, 35, 0, 0, 0, 0, 0, 0, 66, 84, 77, 35, 0, 0, 0, 0, 0, 0,
                                  66, 85, 68, 35, 0, 0, 0, 0, 0, 0, 67, 35, 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 74, 35, 0, 0, 0, 0, 0, 0, 67, 65, 84, 35, 0, 0, 0, 0, 0, 0, 67, 67, 35, 0, 0, 0, 0, 0, 0, 0,
                                  67, 73, 65, 35, 0, 0, 0, 0, 0, 0, 67, 76, 95, 35, 0, 0, 0, 0, 0, 0, 67, 77, 88, 35, 0, 0, 0, 0, 0, 0, 67, 79, 80, 35, 0, 0, 0, 0, 0, 0, 67, 83, 67, 79, 35, 0, 0, 0, 0, 0,
                                  67, 83, 71, 35, 0, 0, 0, 0, 0, 0, 67, 83, 88, 35, 0, 0, 0, 0, 0, 0, 67, 84, 66, 75, 35, 0, 0, 0, 0, 0, 67, 86, 83, 35, 0, 0, 0, 0, 0, 0, 67, 86, 88, 35, 0, 0, 0, 0, 0, 0,
                                  67, 89, 35, 0, 0, 0, 0, 0, 0, 0, 68, 65, 35, 0, 0, 0, 0, 0, 0, 0, 68, 67, 88, 35, 0, 0, 0, 0, 0, 0, 68, 68, 35, 0, 0, 0, 0, 0, 0, 0, 68, 69, 76, 76, 35, 0, 0, 0, 0, 0,
                                  68, 73, 65, 35, 0, 0, 0, 0, 0, 0, 68, 73, 83, 35, 0, 0, 0, 0, 0, 0, 68, 76, 66, 35, 0, 0, 0, 0, 0, 0, 68, 79, 87, 35, 0, 0, 0, 0, 0, 0, 68, 87, 65, 35, 0, 0, 0, 0, 0, 0, 
                                  69, 66, 65, 89, 35, 0, 0, 0, 0, 0, 69, 68, 83, 35, 0, 0, 0, 0, 0, 0, 69, 75, 35, 0, 0, 0, 0, 0, 0, 0, 69, 76, 69, 35, 0, 0, 0, 0, 0, 0, 69, 77, 67, 35, 0, 0, 0, 0, 0, 0,
                                  69, 78, 35, 0, 0, 0, 0, 0, 0, 0, 69, 87, 74, 35, 0, 0, 0, 0, 0, 0, 70, 35, 0, 0, 0, 0, 0, 0, 0, 0, 70, 68, 67, 35, 0, 0, 0, 0, 0, 0, 70, 68, 88, 35, 0, 0, 0, 0, 0, 0,
                                  70, 73, 65, 35, 0, 0, 0, 0, 0, 0, 70, 83, 35, 0, 0, 0, 0, 0, 0, 0, 70, 84, 69, 35, 0, 0, 0, 0, 0, 0, 71, 69, 35, 0, 0, 0, 0, 0, 0, 0, 71, 76, 68, 78, 35, 0, 0, 0, 0, 0,
                                  71, 76, 87, 35, 0, 0, 0, 0, 0, 0, 71, 77, 35, 0, 0, 0, 0, 0, 0, 0, 71, 79, 79, 71, 35, 0, 0, 0, 0, 0, 71, 83, 35, 0, 0, 0, 0, 0, 0, 0, 71, 89, 77, 66, 35, 0, 0, 0, 0, 0,
                                  72, 65, 76, 35, 0, 0, 0, 0, 0, 0, 72, 68, 35, 0, 0, 0, 0, 0, 0, 0, 72, 76, 70, 35, 0, 0, 0, 0, 0, 0, 72, 76, 84, 35, 0, 0, 0, 0, 0, 0, 72, 77, 67, 35, 0, 0, 0, 0, 0, 0,
                                  72, 79, 78, 35, 0, 0, 0, 0, 0, 0, 72, 80, 81, 35, 0, 0, 0, 0, 0, 0, 73, 66, 77, 35, 0, 0, 0, 0, 0, 0, 73, 66, 78, 35, 0, 0, 0, 0, 0, 0, 73, 78, 84, 67, 35, 0, 0, 0, 0, 0,
                                  73, 80, 35, 0, 0, 0, 0, 0, 0, 0, 73, 80, 71, 35, 0, 0, 0, 0, 0, 0, 73, 84, 84, 35, 0, 0, 0, 0, 0, 0, 74, 78, 74, 35, 0, 0, 0, 0, 0, 0, 74, 80, 77, 35, 0, 0, 0, 0, 0, 0,
                                  75, 69, 80, 35, 0, 0, 0, 0, 0, 0, 75, 70, 84, 35, 0, 0, 0, 0, 0, 0, 75, 79, 35, 0, 0, 0, 0, 0, 0, 0, 75, 89, 79, 35, 0, 0, 0, 0, 0, 0, 76, 70, 35, 0, 0, 0, 0, 0, 0, 0,
                                  76, 76, 89, 35, 0, 0, 0, 0, 0, 0, 76, 77, 84, 35, 0, 0, 0, 0, 0, 0, 76, 79, 87, 35, 0, 0, 0, 0, 0, 0, 76, 80, 76, 35, 0, 0, 0, 0, 0, 0, 76, 83, 73, 35, 0, 0, 0, 0, 0, 0,
                                  76, 88, 75, 35, 0, 0, 0, 0, 0, 0, 76, 89, 71, 35, 0, 0, 0, 0, 0, 0, 78, 66, 84, 35, 0, 0, 0, 0, 0, 0, 77, 67, 35, 0, 0, 0, 0, 0, 0, 0, 77, 67, 68, 35, 0, 0, 0, 0, 0, 0,
                                  77, 71, 77, 35, 0, 0, 0, 0, 0, 0, 77, 75, 84, 65, 89, 35, 0, 0, 0, 0, 77, 77, 67, 35, 0, 0, 0, 0, 0, 0, 77, 77, 77, 35, 0, 0, 0, 0, 0, 0, 77, 79, 35, 0, 0, 0, 0, 0, 0, 0,
                                  77, 79, 84, 35, 0, 0, 0, 0, 0, 0, 77, 82, 75, 35, 0, 0, 0, 0, 0, 0, 77, 83, 70, 84, 35, 0, 0, 0, 0, 0, 77, 84, 35, 0, 0, 0, 0, 0, 0, 0, 77, 84, 76, 35, 0, 0, 0, 0, 0, 0,
                                  77, 84, 85, 35, 0, 0, 0, 0, 0, 0, 77, 85, 35, 0, 0, 0, 0, 0, 0, 0, 77, 88, 87, 76, 35, 0, 0, 0, 0, 0, 78, 69, 77, 35, 0, 0, 0, 0, 0, 0, 78, 69, 87, 35, 0, 0, 0, 0, 0, 0,
                                  78, 75, 69, 35, 0, 0, 0, 0, 0, 0, 78, 79, 75, 35, 0, 0, 0, 0, 0, 0, 78, 79, 86, 76, 35, 0, 0, 0, 0, 0, 78, 83, 65, 78, 89, 35, 0, 0, 0, 0, 78, 86, 83, 35, 0, 0, 0, 0, 0, 0,
                                  78, 87, 83, 35, 0, 0, 0, 0, 0, 0, 78, 89, 84, 35, 0, 0, 0, 0, 0, 0, 78, 90, 84, 35, 0, 0, 0, 0, 0, 0, 79, 82, 67, 76, 35, 0, 0, 0, 0, 0, 80, 65, 76, 77, 35, 0, 0, 0, 0, 0,
                                  80, 68, 35, 0, 0, 0, 0, 0, 0, 0, 80, 68, 67, 79, 35, 0, 0, 0, 0, 0, 80, 69, 80, 35, 0, 0, 0, 0, 0, 0, 80, 70, 69, 35, 0, 0, 0, 0, 0, 0, 80, 71, 35, 0, 0, 0, 0, 0, 0, 0,
                                  80, 72, 71, 35, 0, 0, 0, 0, 0, 0, 80, 76, 65, 35, 0, 0, 0, 0, 0, 0, 80, 80, 71, 35, 0, 0, 0, 0, 0, 0, 80, 83, 79, 35, 0, 0, 0, 0, 0, 0, 80, 85, 66, 35, 0, 0, 0, 0, 0, 0,
                                  81, 35, 0, 0, 0, 0, 0, 0, 0, 0, 81, 81, 81, 35, 0, 0, 0, 0, 0, 0, 82, 68, 83, 35, 0, 0, 0, 0, 0, 0, 82, 68, 83, 46, 65, 35, 0, 0, 0, 0, 82, 68, 89, 35, 0, 0, 0, 0, 0, 0,
                                  82, 73, 79, 35, 0, 0, 0, 0, 0, 0, 82, 79, 83, 35, 0, 0, 0, 0, 0, 0, 82, 79, 83, 84, 35, 0, 0, 0, 0, 0, 82, 84, 73, 35, 0, 0, 0, 0, 0, 0, 82, 84, 80, 35, 0, 0, 0, 0, 0, 0,
                                  83, 35, 0, 0, 0, 0, 0, 0, 0, 0, 83, 65, 80, 35, 0, 0, 0, 0, 0, 0, 83, 66, 85, 88, 35, 0, 0, 0, 0, 0, 83, 71, 80, 35, 0, 0, 0, 0, 0, 0, 83, 72, 76, 68, 35, 0, 0, 0, 0, 0,
                                  83, 73, 35, 0, 0, 0, 0, 0, 0, 0, 83, 76, 69, 35, 0, 0, 0, 0, 0, 0, 83, 78, 68, 75, 35, 0, 0, 0, 0, 0, 83, 78, 69, 35, 0, 0, 0, 0, 0, 0, 83, 78, 89, 35, 0, 0, 0, 0, 0, 0,
                                  83, 80, 89, 35, 0, 0, 0, 0, 0, 0, 83, 85, 78, 87, 35, 0, 0, 0, 0, 0, 83, 89, 77, 67, 35, 0, 0, 0, 0, 0, 84, 35, 0, 0, 0, 0, 0, 0, 0, 0, 84, 67, 75, 35, 0, 0, 0, 0, 0, 0,
                                  84, 68, 75, 35, 0, 0, 0, 0, 0, 0, 84, 69, 79, 35, 0, 0, 0, 0, 0, 0, 84, 76, 77, 35, 0, 0, 0, 0, 0, 0, 84, 77, 35, 0, 0, 0, 0, 0, 0, 0, 84, 82, 66, 35, 0, 0, 0, 0, 0, 0,
                                  84, 82, 67, 82, 35, 0, 0, 0, 0, 0, 84, 83, 77, 35, 0, 0, 0, 0, 0, 0, 84, 84, 77, 35, 0, 0, 0, 0, 0, 0, 84, 87, 88, 35, 0, 0, 0, 0, 0, 0, 84, 88, 77, 35, 0, 0, 0, 0, 0, 0,
                                  85, 66, 83, 35, 0, 0, 0, 0, 0, 0, 85, 76, 35, 0, 0, 0, 0, 0, 0, 0, 85, 84, 88, 35, 0, 0, 0, 0, 0, 0, 86, 73, 80, 35, 0, 0, 0, 0, 0, 0, 86, 82, 83, 78, 35, 0, 0, 0, 0, 0,
                                  86, 90, 35, 0, 0, 0, 0, 0, 0, 0, 87, 66, 68, 35, 0, 0, 0, 0, 0, 0, 87, 68, 67, 35, 0, 0, 0, 0, 0, 0, 87, 70, 67, 35, 0, 0, 0, 0, 0, 0, 87, 70, 77, 73, 35, 0, 0, 0, 0, 0,
                                  87, 77, 84, 35, 0, 0, 0, 0, 0, 0, 87, 89, 78, 78, 35, 0, 0, 0, 0, 0, 88, 79, 77, 35, 0, 0, 0, 0, 0, 0, 88, 82, 88, 35, 0, 0, 0, 0, 0, 0, 89, 72, 79, 79, 35, 0, 0, 0, 0, 0};
int ArrayCFD_Tokyo[36][10]     = {52, 57, 48, 49, 0, 0, 0, 0, 0, 0, 52, 57, 48, 50, 0, 0, 0, 0, 0, 0, 52, 57, 49, 49, 0, 0, 0, 0, 0, 0, 53, 48, 49, 54, 0, 0, 0, 0, 0, 0, 53, 49, 48, 56, 0, 0, 0, 0, 0, 0,
                                  53, 52, 48, 49, 0, 0, 0, 0, 0, 0, 54, 51, 54, 55, 0, 0, 0, 0, 0, 0, 54, 52, 55, 51, 0, 0, 0, 0, 0, 0, 54, 53, 48, 50, 0, 0, 0, 0, 0, 0, 54, 55, 48, 49, 0, 0, 0, 0, 0, 0,
                                  54, 55, 48, 51, 0, 0, 0, 0, 0, 0, 54, 55, 53, 50, 0, 0, 0, 0, 0, 0, 54, 55, 53, 56, 0, 0, 0, 0, 0, 0, 54, 55, 54, 50, 0, 0, 0, 0, 0, 0, 54, 55, 54, 52, 0, 0, 0, 0, 0, 0,
                                  54, 55, 55, 51, 0, 0, 0, 0, 0, 0, 54, 55, 57, 54, 0, 0, 0, 0, 0, 0, 54, 57, 53, 50, 0, 0, 0, 0, 0, 0, 54, 57, 55, 49, 0, 0, 0, 0, 0, 0, 55, 48, 49, 50, 0, 0, 0, 0, 0, 0,
                                  55, 50, 48, 49, 0, 0, 0, 0, 0, 0, 55, 50, 48, 50, 0, 0, 0, 0, 0, 0, 55, 50, 48, 51, 0, 0, 0, 0, 0, 0, 55, 50, 54, 49, 0, 0, 0, 0, 0, 0, 55, 50, 54, 55, 0, 0, 0, 0, 0, 0,
                                  55, 50, 54, 57, 0, 0, 0, 0, 0, 0, 55, 55, 51, 49, 0, 0, 0, 0, 0, 0, 55, 55, 51, 51, 0, 0, 0, 0, 0, 0, 55, 55, 53, 49, 0, 0, 0, 0, 0, 0, 55, 55, 53, 50, 0, 0, 0, 0, 0, 0,
                                  55, 55, 54, 50, 0, 0, 0, 0, 0, 0, 55, 57, 53, 49, 0, 0, 0, 0, 0, 0, 56, 48, 51, 49, 0, 0, 0, 0, 0, 0, 57, 50, 48, 53, 0, 0, 0, 0, 0, 0, 57, 53, 51, 50, 0, 0, 0, 0, 0, 0,
                                  57, 57, 56, 52, 0, 0, 0, 0, 0, 0};
int ArrayCFD_Moscow[19][10]    = {65, 70, 76, 84, 35, 0, 0, 0, 0, 0, 65, 86, 65, 90, 35, 0, 0, 0, 0, 0, 67, 72, 77, 70, 35, 0, 0, 0, 0, 0, 69, 69, 83, 82, 35, 0, 0, 0, 0, 0, 71, 65, 90, 80, 35, 0, 0, 0, 0, 0,
                                  71, 77, 75, 78, 35, 0, 0, 0, 0, 0, 76, 75, 79, 72, 35, 0, 0, 0, 0, 0, 77, 83, 78, 71, 35, 0, 0, 0, 0, 0, 77, 84, 83, 83, 35, 0, 0, 0, 0, 0, 78, 76, 77, 75, 35, 0, 0, 0, 0, 0,
                                  78, 78, 83, 73, 35, 0, 0, 0, 0, 0, 78, 84, 77, 75, 35, 0, 0, 0, 0, 0, 82, 66, 67, 73, 35, 0, 0, 0, 0, 0, 82, 84, 75, 77, 35, 0, 0, 0, 0, 0, 83, 66, 69, 82, 35, 0, 0, 0, 0, 0,
                                  83, 73, 66, 78, 35, 0, 0, 0, 0, 0, 83, 78, 71, 83, 35, 0, 0, 0, 0, 0, 84, 65, 84, 78, 35, 0, 0, 0, 0, 0, 86, 82, 83, 73, 35, 0, 0, 0, 0, 0};
int ArrayCFD_RU[33][10]        = {65, 70, 76, 82, 85, 82, 0, 0, 0, 0, 65, 86, 84, 82, 85, 82, 0, 0, 0, 0, 69, 69, 80, 82, 85, 82, 0, 0, 0, 0, 69, 69, 83, 82, 85, 82, 0, 0, 0, 0, 71, 65, 90, 82, 85, 82, 0, 0, 0, 0,
                                  71, 77, 75, 82, 85, 82, 0, 0, 0, 0, 73, 82, 75, 82, 85, 82, 0, 0, 0, 0, 76, 66, 68, 82, 85, 82, 0, 0, 0, 0, 76, 75, 79, 82, 85, 82, 0, 0, 0, 0, 77, 77, 75, 82, 85, 82, 0, 0, 0, 0,
                                  77, 83, 78, 82, 85, 82, 0, 0, 0, 0, 77, 84, 83, 82, 85, 82, 0, 0, 0, 0, 79, 71, 51, 82, 85, 82, 0, 0, 0, 0, 77, 71, 53, 82, 85, 82, 0, 0, 0, 0, 80, 76, 90, 82, 85, 82, 0, 0, 0, 0,
                                  82, 66, 67, 82, 85, 82, 0, 0, 0, 0, 82, 83, 78, 82, 85, 82, 0, 0, 0, 0, 82, 84, 75, 82, 85, 82, 0, 0, 0, 0, 82, 84, 80, 82, 85, 82, 0, 0, 0, 0, 83, 66, 69, 82, 85, 82, 0, 0, 0, 0,
                                  83, 66, 80, 82, 85, 82, 0, 0, 0, 0, 83, 73, 66, 82, 85, 82, 0, 0, 0, 0, 83, 78, 71, 82, 85, 82, 0, 0, 0, 0, 83, 78, 80, 82, 85, 82, 0, 0, 0, 0, 83, 80, 84, 82, 85, 82, 0, 0, 0, 0,
                                  83, 84, 75, 82, 85, 82, 0, 0, 0, 0, 83, 86, 65, 82, 85, 82, 0, 0, 0, 0, 84, 65, 80, 82, 85, 82, 0, 0, 0, 0, 84, 65, 84, 82, 85, 82, 0, 0, 0, 0, 85, 65, 90, 82, 85, 82, 0, 0, 0, 0,
                                  85, 84, 65, 82, 85, 82, 0, 0, 0, 0, 86, 84, 76, 82, 85, 82, 0, 0, 0, 0, 89, 69, 78, 82, 85, 82, 0, 0, 0, 0};
int ArrayCFD_ForexBest[54][10] = {66, 79, 0, 0, 0, 0, 0, 0, 0, 0, 66, 80, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 0, 0, 0, 0, 0, 0, 0, 0, 67, 67, 0, 0, 0, 0, 0, 0, 0, 0, 67, 70, 0, 0, 0, 0, 0, 0, 0, 0,
                                  67, 76, 0, 0, 0, 0, 0, 0, 0, 0, 67, 80, 0, 0, 0, 0, 0, 0, 0, 0, 67, 84, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 0, 0, 0, 0, 0, 0, 0, 0, 68, 70, 0, 0, 0, 0, 0, 0, 0, 0, 68, 88, 0, 0, 0, 0, 0, 0, 0, 0,
                                  69, 68, 0, 0, 0, 0, 0, 0, 0, 0, 69, 69, 85, 0, 0, 0, 0, 0, 0, 0, 69, 78, 81, 0, 0, 0, 0, 0, 0, 0, 69, 80, 0, 0, 0, 0, 0, 0, 0, 0, 69, 82, 0, 0, 0, 0, 0, 0, 0, 0, 69, 85, 0, 0, 0, 0, 0, 0, 0, 0,
                                  70, 67, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 0, 0, 0, 0, 0, 0, 0, 0, 71, 67, 0, 0, 0, 0, 0, 0, 0, 0, 72, 79, 0, 0, 0, 0, 0, 0, 0, 0, 72, 85, 0, 0, 0, 0, 0, 0, 0, 0, 74, 89, 0, 0, 0, 0, 0, 0, 0, 0,
                                  76, 66, 0, 0, 0, 0, 0, 0, 0, 0, 76, 67, 0, 0, 0, 0, 0, 0, 0, 0, 76, 72, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 0, 0, 0, 0, 0, 0, 0, 0, 77, 88, 0, 0, 0, 0, 0, 0, 0, 0, 78, 68, 0, 0, 0, 0, 0, 0, 0, 0,
                                  78, 69, 0, 0, 0, 0, 0, 0, 0, 0, 78, 71, 0, 0, 0, 0, 0, 0, 0, 0, 78, 75, 68, 0, 0, 0, 0, 0, 0, 0, 78, 81, 71, 0, 0, 0, 0, 0, 0, 0, 78, 81, 77, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                                  79, 74, 0, 0, 0, 0, 0, 0, 0, 0, 80, 65, 0, 0, 0, 0, 0, 0, 0, 0, 80, 66, 0, 0, 0, 0, 0, 0, 0, 0, 80, 76, 0, 0, 0, 0, 0, 0, 0, 0, 82, 67, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                                  83, 70, 0, 0, 0, 0, 0, 0, 0, 0, 83, 73, 0, 0, 0, 0, 0, 0, 0, 0, 83, 77, 0, 0, 0, 0, 0, 0, 0, 0, 83, 80, 0, 0, 0, 0, 0, 0, 0, 0, 83, 85, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                                  89, 53, 0, 0, 0, 0, 0, 0, 0, 0, 89, 71, 0, 0, 0, 0, 0, 0, 0, 0, 89, 73, 0, 0, 0, 0, 0, 0, 0, 0, 89, 77, 0, 0, 0, 0, 0, 0, 0, 0, 90, 73, 0, 0, 0, 0, 0, 0, 0, 0, 90, 79, 0, 0, 0, 0, 0, 0, 0, 0};
int ArrayName1[12][17]         = {194, 192, 203, 222, 210, 205, 219, 213, 32, 207, 192, 208, 0, 0, 0, 0, 0, 194, 192, 203, 222, 210, 205, 219, 213, 32, 207, 192, 208, 32, 80, 82, 79, 70, 194, 192, 203, 222, 210, 205, 219, 213, 32, 207, 192, 208, 32, 77, 73, 78, 73,
                                  204, 197, 210, 192, 203, 203, 206, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 78, 68, 69, 88, 69, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 70, 68, 32, 86, 73, 69, 78, 65, 0, 0, 0, 0, 0, 0, 0, 0,
                                  67, 70, 68, 32, 76, 79, 78, 68, 79, 78, 0, 0, 0, 0, 0, 0, 0, 67, 70, 68, 32, 78, 69, 87, 32, 89, 79, 82, 75, 0, 0, 0, 0, 0, 67, 70, 68, 32, 84, 79, 75, 89, 79, 0, 0, 0, 0, 0, 0, 0, 0,
                                  67, 70, 68, 32, 77, 79, 83, 67, 79, 87, 0, 0, 0, 0, 0, 0, 0, 67, 70, 68, 32, 82, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 70, 68, 32, 70, 79, 82, 69, 88, 32, 66, 69, 83, 84, 0, 0, 0};
int ArrayName2[12][17]         = {226, 224, 235, 254, 242, 237, 251, 245, 32, 239, 224, 240, 0, 0, 0, 0, 0, 226, 224, 235, 254, 242, 237, 251, 245, 32, 239, 224, 240, 32, 80, 114, 111, 102, 226, 224, 235, 254, 242, 237, 251, 245, 32, 239, 224, 240, 32, 77, 105, 110, 105,
                                  236, 229, 242, 224, 235, 235, 238, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 110, 100, 101, 120, 101, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 70, 68, 32, 86, 105, 101, 110, 97, 0, 0, 0, 0, 0, 0, 0, 0,
                                  67, 70, 68, 32, 76, 111, 110, 100, 111, 110, 0, 0, 0, 0, 0, 0, 0, 67, 70, 68, 32, 78, 101, 119, 32, 89, 111, 114, 107, 0, 0, 0, 0, 0, 67, 70, 68, 32, 84, 111, 107, 121, 111, 0, 0, 0, 0, 0, 0, 0, 0,
                                  67, 70, 68, 32, 77, 111, 115, 99, 111, 119, 0, 0, 0, 0, 0, 0, 0, 67, 70, 68, 32, 82, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 70, 68, 32, 70, 111, 114, 101, 120, 32, 66, 101, 115, 116, 0, 0, 0};
int ArrayNameFile[12][13]      = {69, 120, 99, 104, 97, 110, 103, 101, 0, 0, 0, 0, 0, 69, 120, 99, 104, 97, 110, 103, 101, 80, 114, 111, 102, 0, 69, 120, 99, 104, 97, 110, 103, 101, 77, 105, 110, 105, 0, 77, 101, 116, 97, 108, 115, 0, 0, 0, 0, 0, 0, 0,
                                  73, 110, 100, 101, 120, 101, 115, 0, 0, 0, 0, 0, 0, 67, 70, 68, 95, 86, 105, 101, 110, 97, 0, 0, 0, 0, 67, 70, 68, 95, 76, 111, 110, 100, 111, 110, 0, 0, 0, 67, 70, 68, 95, 78, 101, 119, 89, 111, 114, 107, 0, 0,
                                  67, 70, 68, 95, 84, 111, 107, 121, 111, 0, 0, 0, 0, 67, 70, 68, 95, 77, 111, 115, 99, 111, 119, 0, 0, 0, 67, 70, 68, 95, 82, 85, 0, 0, 0, 0, 0, 0, 0, 67, 70, 68, 95, 70, 111, 114, 101, 120, 66, 101, 115, 116};
int ArrayTimfram_str[9][3]     = {77, 49, 32, 77, 53, 32, 77, 49, 53, 77, 51, 48, 72, 49, 32, 72, 52, 32, 68, 49, 32, 87, 49, 32, 77, 78, 49};
string ArrayInCorrect[];
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
void start()
 {
  datetime TimeShift;
  int      QuestExch   = IDYES;
  int      QuestCheck  = IDYES;
  int      t;
  int      size;
  string   CurrencyA;               // Íàçâàíèå âàëþòû äëÿ ñðàâíåíèÿ.
  string   CurrencyB;               // Íàçâàíèå âàëþòû äëÿ ñðàâíåíèÿ.
  string   Name1;                   // Íàçâàíèÿ ãðóïï èíñòðóìåíòîâ äëÿ âûâîäà â "Comment()" è â ôàéë. 
  string   Name2;                   // Íàçâàíèÿ ãðóïï èíñòðóìåíòîâ äëÿ âûâîäà â "Comment()" è â ôàéë.
  string   NameFile;                // Íàçâàíèÿ ãðóïï èíñòðóìåíòîâ äëÿ íàçâàíèÿ â ôàéëà.
  string   Timfram_str;             // Íàçâàíèå ÒÔ äëÿ âûâîäà â "Comment()" è â ôàéë. 
  //----
  datetime time[];
  int      Array_Size[9];
  int      Array_Differ[9];
  int      ArrayExchange[][10];
  int      ArrayExchangeProf[][10];
  int      ArrayExchangeMini[][10];
  int      ArrayTempA[17];          // Òåõíè÷åñêèé ìàññèâ.
  int      ArrayTempB[3];           // Òåõíè÷åñêèé ìàññèâ.
  int      ArrayTools[][12][10];    // Äëÿ âñåõ èíñòðóìåíòîâ.
  string   Info[12];
  // Èíèöèàëèçèðóåì ìàññèâ äëÿ êîððåêòíîãî îòîáðàæåíèÿ ïóñòûõ ñòðîê.
  for (i = 0; i < 12; i++) Info[i] = "";
  // Ñîçäà¸ì ìàññèâ ñ íàçâàíèåì âàëþòíûõ ïàð â çàâèñèìîñòè îò íàëè÷èÿ ýòèõ ïàð ó áðîêåðà.
  i = 0;
  j = 0;
  Array_Size[0] = ArrayRange (ArrayCurrency, 0);
  for (a = 0; a < Array_Size[0]; a++) // Äëÿ âàëþòíûõ ïàð.
   {
    ArrayInitialize (ArrayTempA, 0); // Èíèöèàëèçèðóåì ìàññèâ ïåðåä ñëåäóþùèì èñïîëüçîâàíèåì.
    for (t = 0; t <= 2; t++) ArrayTempA[t] = ArrayCurrency[a][t]; // Çàïîëíÿåì òåõíè÷åñêèé ìàññèâ.
    CurrencyA = TransformSymbolString (ArrayTempA);
    for (b = 0; b < Array_Size[0]; b++)
     {
      for (t = 0; t <= 2; t++) ArrayTempB[t] = ArrayCurrency[b][t]; // Çàïîëíÿåì òåõíè÷åñêèé ìàññèâ.
      CurrencyB = TransformSymbolString (ArrayTempB);
      Market_Info = MarketInfo (CurrencyA + CurrencyB, MODE_TIME);
      if (CurrencyA != CurrencyB && Market_Info != 0)
       {
        ArrayResize (ArrayExchange, i + 1);
        for (t = 0; t <= 5; t++)
         {
          if (t <= 2) ArrayExchange[i][t] = ArrayTempA[t];
          if (t > 2)  ArrayExchange[i][t] = ArrayTempB[t - 3];
         }
        if (AccountCompany() == "MoneyRein Corporation")
         {
          int ArrayProf[4] = {112, 114, 111, 102};
          int ArrayMini[4] = {109, 105, 110, 105};
          ArrayResize (ArrayExchangeProf, j + 1);
          ArrayResize (ArrayExchangeMini, j + 1);
          for (t = 0; t <= 9; t++)
           {
            if (t <= 5) ArrayExchangeProf[j][t] = ArrayExchange[i][t];
            if (t > 5)  ArrayExchangeProf[j][t] = ArrayProf[t - 6];
            if (t <= 5) ArrayExchangeMini[j][t] = ArrayExchange[i][t];
            if (t > 5)  ArrayExchangeMini[j][t] = ArrayMini[t - 6];
           }
          j++;
         }
        i++;
       }
     }
   }
  // Îïðåäåëÿåì ðàçìåð ìàññèâîâ.
  Array_Size[0]  = i;
  Array_Size[1]  = j;
  Array_Size[2]  = j;
  Array_Size[3]  = ArrayRange (ArrayMetals, 0);
  Array_Size[4]  = ArrayRange (ArrayIndexes, 0);
  Array_Size[5]  = ArrayRange (ArrayCFD_Viena, 0);
  Array_Size[6]  = ArrayRange (ArrayCFD_London, 0);
  Array_Size[7]  = ArrayRange (ArrayCFD_NewYork, 0);
  Array_Size[8]  = ArrayRange (ArrayCFD_Tokyo, 0);
  Array_Size[9]  = ArrayRange (ArrayCFD_Moscow, 0);
  Array_Size[10] = ArrayRange (ArrayCFD_RU, 0);
  Array_Size[11] = ArrayRange (ArrayCFD_ForexBest, 0);
  //----
  // Óñòàíàâëèâàåì ðàçìåð ìàññèâà ðàâíûì ñàìîìó áîëüøîìó ðàçìåðó ãðóïïû èíñòðóìåíòîâ.
  ArrayResize (ArrayTools, Array_Size[ArrayMaximum (Array_Size, 12, 0)]);
  // Ñîçäà¸ì òð¸õìåðíûé ìàññèâ ñ èíñòðóìåíòàìè.
  for (i = 0; i < Array_Size[0] ; i++) for (j = 0; j < 10 ; j++) ArrayTools[i][0][j]  = ArrayExchange[i][j];
  for (i = 0; i < Array_Size[1] ; i++) for (j = 0; j < 10 ; j++) ArrayTools[i][1][j]  = ArrayExchangeProf[i][j];
  for (i = 0; i < Array_Size[2] ; i++) for (j = 0; j < 10 ; j++) ArrayTools[i][2][j]  = ArrayExchangeMini[i][j];
  for (i = 0; i < Array_Size[3] ; i++) for (j = 0; j < 10 ; j++) ArrayTools[i][3][j]  = ArrayMetals[i][j];
  for (i = 0; i < Array_Size[4] ; i++) for (j = 0; j < 10 ; j++) ArrayTools[i][4][j]  = ArrayIndexes[i][j];
  for (i = 0; i < Array_Size[5] ; i++) for (j = 0; j < 10 ; j++) ArrayTools[i][5][j]  = ArrayCFD_Viena[i][j];
  for (i = 0; i < Array_Size[6] ; i++) for (j = 0; j < 10 ; j++) ArrayTools[i][6][j]  = ArrayCFD_London[i][j];
  for (i = 0; i < Array_Size[7] ; i++) for (j = 0; j < 10 ; j++) ArrayTools[i][7][j]  = ArrayCFD_NewYork[i][j];
  for (i = 0; i < Array_Size[8] ; i++) for (j = 0; j < 10 ; j++) ArrayTools[i][8][j]  = ArrayCFD_Tokyo[i][j];
  for (i = 0; i < Array_Size[9] ; i++) for (j = 0; j < 10 ; j++) ArrayTools[i][9][j]  = ArrayCFD_Moscow[i][j];
  for (i = 0; i < Array_Size[10]; i++) for (j = 0; j < 10 ; j++) ArrayTools[i][10][j] = ArrayCFD_RU[i][j];
  for (i = 0; i < Array_Size[11]; i++) for (j = 0; j < 10 ; j++) ArrayTools[i][11][j] = ArrayCFD_ForexBest[i][j];
  // Óìåíüøàåì ðàçìåð ìàññèâîâ, ÷òîáû íå ìåøàëè.
  ArrayResize (ArrayExchange, 0);
  ArrayResize (ArrayExchangeProf, 0);
  ArrayResize (ArrayExchangeMini, 0);
  ArrayResize (ArrayMetals, 0);
  ArrayResize (ArrayIndexes, 0);
  ArrayResize (ArrayCFD_Viena, 0);
  ArrayResize (ArrayCFD_London, 0);
  ArrayResize (ArrayCFD_NewYork, 0);
  ArrayResize (ArrayCFD_Tokyo, 0);
  ArrayResize (ArrayCFD_Moscow, 0);
  ArrayResize (ArrayCFD_RU, 0);
  ArrayResize (ArrayCFD_ForexBest, 0);
  // Îïðåäåëÿåì êîëè÷åñòâî ÒÔ â êàæäîé ãðóïïå èíñòðóìåíòîâ.
  for (i = 0; i <= 11; i++) Array_Differ[i] = 9 * Array_Size[i];  
  // Íà÷èíàåì ïîäêà÷êó èñòîðèè.
  for (g = 0; g <= 11; g++) // Ïî ãðóïïàì.
   {
    ArrayInitialize (ArrayTempA, 0); // Èíèöèàëèçèðóåì ìàññèâ ïåðåä ñëåäóþùèì èñïîëüçîâàíèåì.
    for (i = 0; i < 17; i++) ArrayTempA[i] = ArrayName2[g][i]; // Çàïîëíÿåì òåõíè÷åñêèé ìàññèâ íàçâàíèåì ãðóïïû èíñòðóìåíòîâ.
    Name2 = TransformSymbolString (ArrayTempA);    
    // Âîïðîñ ïîëüçîâàòåëþ î çàãðóçêå èñòîðèè ãðóïïû èíñòðóìåíòîâ. Çàãðóæàòü/íå çàãðóæàòü.
    QuestExch = MessageBox ("Çàãðóæàåì èñòîðèþ " + Name2 + "?", "Èñòîðèÿ " + Name2, MB_YESNO|MB_ICONQUESTION);
    //----
    if (QuestExch == IDYES)
     {
      ArrayInitialize (ArrayTempA, 0); // Èíèöèàëèçèðóåì ìàññèâ ïåðåä ñëåäóþùèì èñïîëüçîâàíèåì.
      for (i = 0; i < 17; i++) ArrayTempA[i] = ArrayName1[g][i]; // Çàïîëíÿåì òåõíè÷åñêèé ìàññèâ íàçâàíèåì ãðóïïû èíñòðóìåíòîâ.
      Name1 = TransformSymbolString (ArrayTempA);
      ArrayInitialize (ArrayTempA, 0); // Èíèöèàëèçèðóåì ìàññèâ ïåðåä ñëåäóþùèì èñïîëüçîâàíèåì.
      for (i = 0; i < 13; i++) ArrayTempA[i] = ArrayNameFile[g][i]; // Çàïîëíÿåì òåõíè÷åñêèé ìàññèâ íàçâàíèåì ãðóïïû èíñòðóìåíòîâ äëÿ íàçâàíèÿ ôàéëà.
      NameFile = TransformSymbolString (ArrayTempA);
      e = 1; ee = 0; j = 0; jj = 0; ii = 0; pp = 0; // Èíèöèàëèçèðóåì ïåðåìåííûå.
      // Âîïðîñ ïîëüçîâàòåëþ îá êîíòðîëå íà "äûðû" â èñòîðèè. Êîíòîðîëèðîâàòü/íå êîíòðîëèðîâàòü.
      QuestCheck = MessageBox ("Ïðîâîäèòü êîíòðîëü çàãðóæåííîé èñòîðèè\n" + Name2 + " íà äåôåêòíûå èíòåðâàëû (äûðû)?", "Êîíðîëü èñòîðèè óâåëè÷èâàåò âðåìÿ ðàáîòû ñêðèïòà!", MB_YESNO|MB_ICONQUESTION);
      for (a = 0; a < Array_Size[g]; a++) // Ïî èíñòðóìåíòàì.
       {
        ii++; // Ñ÷¸ò÷èê âîçìîæíîãî êîëè÷åñòâà èíñòðóìåíòîâ.
        ArrayInitialize (ArrayTempA, 0); // Èíèöèàëèçèðóåì ìàññèâ ïåðåä ñëåäóþùèì èñïîëüçîâàíèåì.
        for (t = 0; t < 10; t++) ArrayTempA[t] = ArrayTools[a][g][t]; // Çàïîëíÿåì òåõíè÷åñêèé ìàññèâ íàçâàíèåì èíñòðóìåíòà.
        CurrencyA = TransformSymbolString (ArrayTempA);
        Market_Info = MarketInfo (CurrencyA, MODE_TIME);
        if (Market_Info != 0)
         {
          j++; // Ñ÷¸ò÷èê ðåàëüíîãî êîëè÷åñòâà èíñòðóìåíòîâ.
          for (p = 0; p <= 8; p++) // Ïî ÒÔ.
           {
            pp++; // Ñ÷¸ò÷èê îáùåãî êîëè÷åñòâà ÒÔ.
            Mark_Inf = Market_Info - 60 * ArrayTimFram_time[p];
            iTimeBegin = iTime (CurrencyA, ArrayTimFram_time[p], 0);
            ArrayInitialize (ArrayTempA, 0); // Èíèöèàëèçèðóåì ìàññèâ ïåðåä ñëåäóþùèì èñïîëüçîâàíèåì.
            for (i = 0; i < 3; i++) ArrayTempA[i] = ArrayTimfram_str[p][i];
            Timfram_str = TransformSymbolString (ArrayTempA);
            if (Mark_Inf > iTimeBegin) // Åñëè ïîñëåäíèé áàð íå ïðèø¸ë.
             {
              TimeShift = 600;
              while (Mark_Inf > iTimeBegin)
               {
                jj++; // Ñ÷¸ò÷èê îæèäàíèé ïîñëåäíåãî áàðà.
                Sleep (100); // Çàäåðæêà íà 0,1 ñåêóíäû.
                if (QuestCheck == IDYES && Mark_Inf < iTimeBegin) // Åñëè êîíòðîëèðóåì íà "äûðû" â èñòîðèè.
                 {
                  size = ArrayCopySeries (time, MODE_TIME, CurrencyA, ArrayTimFram_time[p]);
                  iTimeBegin = iTime (CurrencyA, ArrayTimFram_time[p], 0);
                  if (GetLastError() == 0 && time[0] == iTimeBegin) break;
                  else continue;
                 }
                else // Åñëè íå êîíòðîëèðóåì íà "äûðû" â èñòîðèè.
                 {
                  iTimeBegin = iTime (CurrencyA, ArrayTimFram_time[p], 0);
                  size = iBars (CurrencyA, ArrayTimFram_time[p]);
                 }
                if (iTimeBegin > iTimeBeginTemp) TimeShift = jj + 600; // Åñëè òåêóùåå çíà÷åíèå âðåìåíè îòêðûòèÿ ïîñëåäíåãî áàðà áîëüøå, ÷åì ïðåäûäóùåå çíà÷åíèå, òî ïðîäëåâàåì âðåìÿ îæèäàíèÿ.
                if (jj > TimeShift) break; // Åñëè êîòèðîâêà ïîñëåäíåãî áàðà íå ïðèøëà â òå÷åíèè 1-é ìèíóòû, âûõîäèì èç öèêëà.
                iTimeBeginTemp = iTimeBegin;
               }
             }
            else // Åñëè ïîñëåäíèé áàð åñòü.
             {
              if (QuestCheck == IDYES && Mark_Inf < iTimeBegin) size = ArrayCopySeries (time, MODE_TIME, CurrencyA, ArrayTimFram_time[p]); // Åñëè êîíòðîëèðóåì íà "äûðû" â èñòîðèè.
              else size = iBars (CurrencyA, ArrayTimFram_time[p]); // Åñëè íå êîíòðîëèðóåì íà "äûðû" â èñòîðèè.
             }
            if (QuestCheck == IDYES) // Åñëè ïîëüçîâàòåëü îòâåòèë "YES" ïðîèçâîäèì êîíòðîëü èñòîðèè íà "äûðû".
             {
              ArrayResize (ArrayInCorrect, e + 3);
              for (h = 0; h < size - 1; h++)
               {
                timetemp = (time[h] - time[h + 1]) / 60;
                if ((ArrayTimFram_time[p] != ArrayTimFram_time[7] && ArrayTimFram_time[p] != ArrayTimFram_time[8] && timetemp != ArrayTimFram_time[p] && TimeDayOfWeek (time[h]) != 1 && TimeDayOfWeek (time[h + 1]) != 5) ||
                    (ArrayTimFram_time[p] == ArrayTimFram_time[7] && timetemp != ArrayTimFram_time[7]) ||
                    (ArrayTimFram_time[p] == ArrayTimFram_time[8] && 
                    (((TimeMonth (time[h + 1]) == 1 || TimeMonth (time[h + 1]) == 3 || TimeMonth (time[h + 1]) == 5 || TimeMonth (time[h + 1]) == 7 || TimeMonth (time[h + 1]) == 8 || TimeMonth (time[h + 1]) == 10 || TimeMonth (time[h + 1]) == 12) && timetemp != ArrayTimFram_time[11]) ||
                     ((TimeMonth (time[h + 1]) == 4 || TimeMonth (time[h + 1]) == 6 || TimeMonth (time[h + 1]) == 9 || TimeMonth (time[h + 1]) == 11) && timetemp != ArrayTimFram_time[8]) ||
                     ((MathMod (TimeYear (time[h + 1]), 4) == 0 && TimeMonth (time[h + 1]) == 2 && timetemp != ArrayTimFram_time[10]) || (MathMod (TimeYear (time[h + 1]), 4) != 0 && TimeMonth (time[h + 1]) == 2 && timetemp != ArrayTimFram_time[9])))))
                 {
                  if (j != ee)
                   {
                    ArrayInCorrect[0] = "Äàòà íà÷àëà êîíòðîëÿ " + TimeToStr(TimeLocal(), TIME_DATE|TIME_SECONDS);
                    if (j < 10)  ArrayInCorrect[e] = " " + j + ".====================" + CurrencyA + "=====================";
                    if (j >= 10) ArrayInCorrect[e] = j + ".====================" + CurrencyA + "=====================";
                    ee = j;
                    e++;
                   }
                  ArrayInCorrect[e] = CurrencyA + "_" + Timfram_str + " <" + TimeToStr (time[h + 1], TIME_DATE|TIME_MINUTES) + ">=<" + TimeToStr (time[h], TIME_DATE|TIME_MINUTES) + ">";
                  e++;
                 }
                Comment("ÇÀÃÐÓÇÊÀ ", Name1,
                        "\nÇàãðóæåíî: ", 100 * (9 * ii - 8 + p) / Array_Differ[g], " %",
                        "\nÈíñòðóìåíò: ", "¹ ", j, ". ", CurrencyA,
                        "\nÒàéìôðåéì: ", Timfram_str,
                        "\nÁàðîâ â ÒÔ: ", size,
                        "\nÊîíòðîëü èñòîðèè = ", h,
                        "\nÄåôåêòíûõ èíòåðâàëîâ = ", e);
               }
             }
            else
             {
              Comment("ÇÀÃÐÓÇÊÀ ", Name1,
                      "\nÇàãðóæåíî: ", 100 * (9 * ii - 8 + p) / Array_Differ[g], " %",
                      "\nÈíñòðóìåíò: ", "¹ ", j, ". ", CurrencyA,
                      "\nÒàéìôðåéì: ", Timfram_str,
                      "\nÁàðîâ â ÒÔ: ", size);
             }
            if (IsStopped() == true && QuestCheck == IDYES) // Åñëè îñòàíîâêà, ñîçäà¸ì ñðî÷íî ôàéë *.dat .
             {
              ArrayInCorrect[e] = "================================================";
              ArrayInCorrect[e + 1] = "Äàòà çàâåðøåíèÿ êîíòðîëÿ " + TimeToStr(TimeLocal(), TIME_DATE|TIME_SECONDS);
              ArrayInCorrect[e + 2] = "Ïðîèçâåäåíî ïðèíóäèòåëüíîå çàâåðøåíèÿ êîíòðîëÿ.";
              FileCreate_ArrayString ("ZZ_All_Quotings_" + NameFile + "_InCorrect.dat", ArrayInCorrect, 0, e + 3);
              return;
             }             
           }
         }
       }
      if (QuestCheck == IDYES)
       {
        ArrayInCorrect[e + 1] = "===================================================\nÄàòà çàâåðøåíèÿ êîíòðîëÿ " + TimeToStr(TimeLocal(), TIME_DATE|TIME_SECONDS);
        FileCreate_ArrayString ("ZZ_All_Quotings_" + NameFile + "_InCorrect.txt", ArrayInCorrect, 0, e);
       }
      if (j != 0 && QuestCheck == IDYES) Info[g] = StringConcatenate ("\nÑ÷¸ò÷èê öèêëîâ ïîäáîðà ", Name2, " = ", ii,
                                                                      "\nÊîëè÷åñòâî ", Name2, " â ÎÁÇÎÐÅ ÐÛÍÊÀ  = ", j,
                                                                      "\nÑ÷¸ò÷èê öèêëîâ ÒÔ ", Name2, " = ", pp,
                                                                      "\nÑ÷¸ò÷èê îæèäàíèé ïîñëåäíåãî áàðà ", Name2, " = ", jj,
                                                                      "\nÄåôåêòíûõ èíòåðâàëîâ ", Name2, " = ", e - j - 1,
                                                                      "\nÔàéë ñ äåôåêòíûìè èíòåðâàëàìè: ...MetaTrader 4.00\experts\files\ZZ_All_Quotings_", NameFile, "_InCorrect.txt\n");
      else Info[g] = "";
      //----
      if (j != 0 && QuestCheck == IDNO)  Info[g] = StringConcatenate ("\nÑ÷¸ò÷èê öèêëîâ ïîäáîðà ", Name2, " = ", ii,
                                                                      "\nÊîëè÷åñòâî ", Name2, " â ÎÁÇÎÐÅ ÐÛÍÊÀ  = ", j,
                                                                      "\nÑ÷¸ò÷èê öèêëîâ ÒÔ ", Name2, " = ", pp,
                                                                      "\nÑ÷¸ò÷èê îæèäàíèé ïîñëåäíåãî áàðà ", Name2, " = ", jj, "\n");
      else Info[g] = "";
     }
   }
  //===============================================================================================================================================================================
  Comment (Info[0], Info[1], Info[2], Info[3], Info[4], Info[5], Info[6], Info[7], Info[8], Info[9], Info[10], Info[11]);
  MessageBox (Info[0] + Info[1] + Info[2] + Info[3] + Info[4] + Info[5] + Info[6] + Info[7] + Info[8] + Info[9] + Info[10] + Info[11], "ÈÍÔÎÐÌÀÖÈß Î ÇÀÃÐÓÇÊÅ");
  return;
 }
//=================================================================================================================================================================================
//====Ôóíêöèÿ "Ñîçäàòü ôàéë ìàññèâà ñî ñòðîêîâûìè äàííûìè".========================================================================================================================
int FileCreate_ArrayString (string Name, string Array[], int start, int count)
 {
  bool BL;
  int  Bool;
  int  handle;
//----
  handle = FileOpen (Name, FILE_BIN|FILE_WRITE, ';');
//----
  if (handle == -1)
   {
    Print ("Ôàéë ", Name, " íå ñîçäàí, ïîñëåäíÿÿ îøèáêà : ", GetLastError());
    Bool = -1;
    return (false);
   }
  else
   {
    Bool = FileWriteArray (handle, Array, start, count);
    if (BL == false) Print ("Ôàéëîâûé óêàçàòåëü ôàéëà ",  Name, " íå ñìåù¸í, ïîñëåäíÿÿ îøèáêà : ", GetLastError());
    if (Bool == -1) Print ("Çíà÷åíèå â ôàéë ", Name, " íå çàïèñàíî, ïîñëåäíÿÿ îøèáêà : ", GetLastError());
    FileClose (handle);
   }
  return(Bool);
 }
//=================================================================================================================================================================================
//====Ôóíêöèÿ ïðåîáðàçîâàíèÿ ñèìâîëîâ â ñòðîêó.====================================================================================================================================
string TransformSymbolString (int Array[]) // TransformSymbolLine (ìàññèâ ñ ñèìâîëàìè);
 {
  string str = "";
  int Size = ArraySize (Array);
  for (int i = 0; i < Size; i++) str = str + StringSetChar ("", 0, Array[i]);
  return (StringTrimRight (str));
 }
//=================================================================================================================================================================================
   



Sample





Analysis



Market Information Used:



Indicator Curves created:


Indicators Used:



Custom Indicators Used:

Order Management characteristics:

Other Features: