0
Views
0
Downloads
0
Favorites
ZZ_All Quotings 0-0090
//+-------------------------------------------------------------------------------------------+
//| ZZ_All Quotings 0-0090.mq4|
//| Copyright © Zhunko |
//|27.03.2007 - 26.07.2008 MF ZHUNKO vadim@zhunko.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 ìèíóòà îò ïîñëåäíåãî îáíîâëåíèÿ |
//| âðåìåíè îòêðûòèÿ ïîñëåäíåãî áàðà. |
//| 8.Äîïîëíåíèÿ â âåðñèè ZZ_All Quotings 0-0080 îò 10.01.2008. |
//| 8.1.Èçìåíåíû è äîïîëíåíû íàçâàíèÿ CFD Tokyo â ñâÿçè ñ èçìåíåíèÿìè ó áðîêåðà. |
//| 8.2.Äîïîëíåíû íàçâàíèÿ CFD Moscow â ñâÿçè ñ èçìåíåíèÿìè ó áðîêåðà. |
//| 8.3.Óâåëè÷åíî êîëè÷åñòâî íàçâàíèé âàëþò äî 170 è ìåòàëëîâ äî 10. |
//| 9.Äîïîëíåíèÿ â âåðñèè ZZ_All Quotings 0-0090 îò 26.07.2008. |
//| 9.1.Èñïðàâëåíà îøèáêà îãðàíè÷åíèÿ ïîäêà÷êè ïî äâóì ïîñëåäíèì ãðóïïàì èíñòðóìåíòîâ. |
//| 9.2.Óâåëè÷åíî êîëè÷åñòâî íàçâàíèé ìåòàëëîâ äî 14. |
//| 9.3.Äîïîëíåíû íàçâàíèÿ CFD Viena äî 80 â ñâÿçè ñ èçìåíåíèÿìè ó áðîêåðà. |
//| 9.4.Äîïîëíåíû íàçâàíèÿ CFD London äî 216 â ñâÿçè ñ èçìåíåíèÿìè ó áðîêåðà. |
//| 9.5.Äîïîëíåíû íàçâàíèÿ CFD NewYork äî 384 â ñâÿçè ñ èçìåíåíèÿìè ó áðîêåðà. |
//| 9.6.Äîïîëíåíû íàçâàíèÿ CFD Moscow äî 63 â ñâÿçè ñ èçìåíåíèÿìè ó áðîêåðà. |
//| 9.7.Îáúåäèíåíû íàçâàíèÿ ãðóïï CFD Moscow è CFD RU. Âñåãî ãðóïï 11. |
//| 9.8.Èñïðàâëåíà îøèáêà â îáîçíà÷åíèÿõ CFD Moscow (URSI#, URSIP#), CFD NewYork (#MBT, MBT#).|
//| 9.9.Èñïðàâëåíà îøèáêà îáðàùåíèÿ ê ãðóïïàì èíñòðóìåíòîâ "mini", "profi". |
//+-------------------------------------------------------------------------------------------+
#property copyright "Copyright © 2007 Zhunko"
#property link "vadim@zhunko.ru"
#include <WinUser32.mqh>
//----Ãëîáàëüíûå ïåðåìåííûå.------------------------------------------
//----Ìàññèâû.--------------------------------------------------------
int ArrayTimFram_time[12] = {1, 5, 15, 30, 60, 240, 1440, 10080, 43200, 40320, 41760, 44640};
int ArrayCurrency[170][3] = {65, 69, 68, 65, 70, 78, 65, 76, 76, 65, 77, 68, 65, 78, 71, 65, 79, 65, 65, 82, 83, 65, 85, 68, 65, 87, 68, 65, 87, 71, 65, 90, 78, 66, 65, 77, 66, 66, 68, 66, 68, 84,
66, 71, 78, 66, 72, 68, 66, 73, 70, 66, 77, 68, 66, 78, 68, 66, 79, 66, 66, 82, 76, 66, 83, 68, 66, 84, 78, 66, 87, 80, 66, 89, 82, 66, 90, 68, 67, 65, 68, 67, 67, 75,
67, 68, 70, 67, 72, 70, 67, 76, 80, 67, 78, 89, 67, 79, 80, 67, 82, 67, 67, 85, 67, 67, 85, 80, 67, 86, 69, 67, 89, 80, 67, 90, 75, 68, 74, 70, 68, 75, 75, 68, 90, 68,
69, 69, 75, 69, 71, 80, 69, 82, 78, 69, 84, 66, 69, 85, 82, 70, 74, 68, 70, 75, 80, 71, 66, 80, 71, 69, 76, 71, 71, 80, 71, 72, 67, 71, 72, 83, 71, 73, 80, 71, 78, 70,
71, 77, 68, 71, 84, 81, 71, 89, 68, 72, 75, 68, 72, 78, 76, 72, 82, 75, 72, 84, 71, 72, 85, 70, 73, 68, 82, 73, 76, 83, 73, 77, 80, 73, 78, 82, 73, 81, 68, 73, 82, 82,
73, 83, 75, 74, 69, 80, 74, 77, 68, 74, 79, 68, 74, 80, 89, 75, 69, 83, 75, 71, 83, 75, 72, 82, 75, 77, 70, 75, 80, 87, 75, 82, 87, 75, 87, 68, 75, 89, 68, 75, 90, 84,
76, 65, 75, 76, 66, 80, 76, 75, 82, 76, 82, 68, 76, 83, 76, 76, 84, 76, 76, 86, 76, 76, 89, 68, 77, 65, 68, 77, 68, 76, 77, 71, 65, 77, 75, 68, 77, 77, 75, 77, 78, 84,
77, 79, 80, 77, 82, 79, 77, 84, 76, 77, 86, 82, 77, 87, 75, 77, 88, 78, 77, 89, 82, 77, 90, 78, 78, 65, 68, 78, 71, 78, 78, 73, 79, 78, 79, 75, 78, 80, 82, 78, 90, 68,
79, 77, 82, 80, 65, 66, 80, 69, 78, 80, 71, 75, 80, 72, 80, 80, 75, 82, 80, 76, 78, 80, 89, 71, 81, 65, 82, 82, 79, 78, 82, 83, 68, 82, 85, 66, 82, 85, 82, 82, 87, 70,
83, 65, 82, 83, 66, 68, 83, 68, 71, 83, 69, 75, 83, 71, 68, 83, 72, 80, 83, 75, 75, 83, 76, 76, 83, 79, 83, 83, 80, 76, 83, 82, 68, 83, 84, 68, 83, 86, 67, 83, 89, 80,
83, 90, 76, 84, 72, 66, 84, 74, 83, 84, 77, 77, 84, 78, 68, 84, 79, 80, 84, 82, 89, 84, 84, 68, 84, 86, 68, 84, 87, 68, 84, 90, 83, 85, 65, 72, 85, 71, 88, 85, 83, 68,
85, 89, 85, 85, 90, 83, 86, 69, 66, 86, 78, 68, 86, 85, 86, 87, 83, 84, 87, 83, 84, 88, 65, 70, 88, 67, 68, 88, 68, 82, 88, 79, 70, 88, 80, 70, 89, 69, 82, 90, 65, 82,
90, 77, 75, 90, 87, 68};
int ArrayMetals[14][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, 71, 85, 83, 68, 0, 0, 0, 0, 88, 65, 85, 0, 0, 0, 0, 0, 0, 0, 88, 65, 85, 85, 83, 68, 0, 0, 0, 0,
88, 80, 68, 0, 0, 0, 0, 0, 0, 0, 88, 80, 68, 85, 83, 68, 0, 0, 0, 0, 88, 80, 84, 0, 0, 0, 0, 0, 0, 0, 88, 80, 84, 85, 83, 68, 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[80][10] = {65, 71, 82, 35, 0, 0, 0, 0, 0, 0, 65, 78, 68, 82, 35, 0, 0, 0, 0, 0, 65, 84, 69, 67, 35, 0, 0, 0, 0, 0, 65, 85, 65, 35, 0, 0, 0, 0, 0, 0, 65, 87, 83, 35, 0, 0, 0, 0, 0, 0,
66, 69, 78, 69, 35, 0, 0, 0, 0, 0, 66, 70, 67, 35, 0, 0, 0, 0, 0, 0, 66, 72, 68, 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, 65, 73, 35, 0, 0, 0, 0, 0, 0, 67, 65, 73, 73, 35, 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, 73, 35, 0, 0, 0, 0, 0, 0, 67, 87, 84, 35, 0, 0, 0, 0, 0, 0, 68, 79, 67, 35, 0, 0, 0, 0, 0, 0, 69, 66, 83, 35, 0, 0, 0, 0, 0, 0,
69, 67, 79, 35, 0, 0, 0, 0, 0, 0, 69, 86, 78, 35, 0, 0, 0, 0, 0, 0, 69, 89, 66, 76, 35, 0, 0, 0, 0, 0, 70, 69, 82, 35, 0, 0, 0, 0, 0, 0, 70, 75, 65, 35, 0, 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, 73, 83, 35, 0, 0, 0, 0, 0, 0, 72, 84, 73, 35, 0, 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, 73, 73, 65, 35, 0, 0, 0, 0, 0, 0, 73, 75, 85, 35, 0, 0, 0, 0, 0, 0, 74, 86, 68, 35, 0, 0, 0, 0, 0, 0,
75, 84, 67, 71, 35, 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, 66, 83, 35, 0, 0, 0, 0, 0, 0, 79, 66, 86, 35, 0, 0, 0, 0, 0, 0, 79, 84, 86, 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,
80, 65, 82, 83, 35, 0, 0, 0, 0, 0, 80, 69, 82, 95, 35, 0, 0, 0, 0, 0, 80, 79, 83, 84, 35, 0, 0, 0, 0, 0, 80, 89, 84, 35, 0, 0, 0, 0, 0, 0, 80, 65, 84, 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, 82, 79, 76, 35, 0, 0, 0, 0, 0, 0, 82, 79, 83, 46, 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, 75, 89, 35, 0, 0, 0, 0, 0, 0, 83, 76, 66, 83, 35, 0, 0, 0, 0, 0, 83, 76, 66, 86, 35, 0, 0, 0, 0, 0, 83, 78, 84, 35, 0, 0, 0, 0, 0, 0,
83, 80, 73, 35, 0, 0, 0, 0, 0, 0, 83, 84, 77, 35, 0, 0, 0, 0, 0, 0, 83, 84, 82, 35, 0, 0, 0, 0, 0, 0, 83, 87, 85, 84, 35, 0, 0, 0, 0, 0, 84, 69, 65, 75, 35, 0, 0, 0, 0, 0,
84, 75, 65, 35, 0, 0, 0, 0, 0, 0, 85, 66, 83, 95, 35, 0, 0, 0, 0, 0, 85, 73, 86, 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, 75, 87, 35, 0, 0, 0, 0, 0, 0, 86, 79, 69, 35, 0, 0, 0, 0, 0, 0, 86, 86, 80, 83, 35, 0, 0, 0, 0, 0, 87, 70, 84, 86, 35, 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, 80, 66, 35, 0, 0, 0, 0, 0, 0, 87, 83, 84, 35, 0, 0, 0, 0, 0, 0, 87, 88, 70, 35, 0, 0, 0, 0, 0, 0, 90, 65, 71, 35, 0, 0, 0, 0, 0, 0};
int ArrayCFD_London[216][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, 75, 90, 71, 35, 0, 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, 69, 78, 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, 76, 67, 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, 78, 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[384][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, 77, 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, 78, 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, 77, 75, 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, 77, 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, 78, 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, 77, 75, 35, 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, 78, 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, 35, 0, 0, 0, 0, 0, 52, 57, 48, 50, 35, 0, 0, 0, 0, 0, 52, 57, 49, 49, 35, 0, 0, 0, 0, 0, 53, 48, 49, 54, 35, 0, 0, 0, 0, 0, 53, 49, 48, 56, 35, 0, 0, 0, 0, 0,
53, 52, 48, 49, 35, 0, 0, 0, 0, 0, 54, 51, 54, 55, 35, 0, 0, 0, 0, 0, 54, 52, 55, 51, 35, 0, 0, 0, 0, 0, 54, 53, 48, 50, 35, 0, 0, 0, 0, 0, 54, 55, 48, 49, 35, 0, 0, 0, 0, 0,
54, 55, 48, 51, 35, 0, 0, 0, 0, 0, 54, 55, 53, 50, 35, 0, 0, 0, 0, 0, 54, 55, 53, 56, 35, 0, 0, 0, 0, 0, 54, 55, 54, 50, 35, 0, 0, 0, 0, 0, 54, 55, 54, 52, 35, 0, 0, 0, 0, 0,
54, 55, 55, 51, 35, 0, 0, 0, 0, 0, 54, 55, 57, 54, 35, 0, 0, 0, 0, 0, 54, 57, 53, 50, 35, 0, 0, 0, 0, 0, 54, 57, 55, 49, 35, 0, 0, 0, 0, 0, 55, 48, 49, 50, 35, 0, 0, 0, 0, 0,
55, 50, 48, 49, 35, 0, 0, 0, 0, 0, 55, 50, 48, 50, 35, 0, 0, 0, 0, 0, 55, 50, 48, 51, 35, 0, 0, 0, 0, 0, 55, 50, 54, 49, 35, 0, 0, 0, 0, 0, 55, 50, 54, 55, 35, 0, 0, 0, 0, 0,
55, 50, 54, 57, 35, 0, 0, 0, 0, 0, 55, 55, 51, 49, 35, 0, 0, 0, 0, 0, 55, 55, 51, 51, 35, 0, 0, 0, 0, 0, 55, 55, 53, 49, 35, 0, 0, 0, 0, 0, 55, 55, 53, 50, 35, 0, 0, 0, 0, 0,
55, 55, 54, 50, 35, 0, 0, 0, 0, 0, 55, 57, 53, 49, 35, 0, 0, 0, 0, 0, 56, 48, 51, 49, 35, 0, 0, 0, 0, 0, 57, 50, 48, 53, 35, 0, 0, 0, 0, 0, 57, 53, 51, 50, 35, 0, 0, 0, 0, 0,
57, 57, 56, 52, 35, 0, 0, 0, 0, 0};
int ArrayCFD_Moscow[96][10] = {65, 70, 76, 84, 35, 0, 0, 0, 0, 0, 65, 82, 77, 68, 35, 0, 0, 0, 0, 0, 65, 86, 65, 90, 35, 0, 0, 0, 0, 0, 65, 86, 65, 90, 80, 35, 0, 0, 0, 0, 67, 72, 77, 70, 35, 0, 0, 0, 0, 0,
67, 72, 77, 70, 35, 0, 0, 0, 0, 0, 67, 84, 76, 75, 35, 0, 0, 0, 0, 0, 67, 84, 76, 75, 80, 35, 0, 0, 0, 0, 69, 78, 67, 79, 35, 0, 0, 0, 0, 0, 69, 78, 67, 79, 80, 35, 0, 0, 0, 0,
69, 83, 80, 75, 35, 0, 0, 0, 0, 0, 69, 83, 80, 75, 80, 35, 0, 0, 0, 0, 69, 69, 83, 82, 35, 0, 0, 0, 0, 0, 69, 69, 83, 82, 80, 35, 0, 0, 0, 0, 69, 78, 67, 79, 35, 0, 0, 0, 0, 0,
69, 78, 67, 79, 80, 35, 0, 0, 0, 0, 71, 65, 90, 80, 35, 0, 0, 0, 0, 0, 71, 77, 75, 78, 35, 0, 0, 0, 0, 0, 71, 82, 65, 90, 35, 0, 0, 0, 0, 0, 72, 65, 76, 83, 35, 0, 0, 0, 0, 0,
73, 82, 71, 90, 35, 0, 0, 0, 0, 0, 73, 82, 75, 84, 35, 0, 0, 0, 0, 0, 75, 85, 66, 78, 35, 0, 0, 0, 0, 0, 75, 85, 66, 78, 80, 35, 0, 0, 0, 0, 76, 69, 75, 90, 35, 0, 0, 0, 0, 0,
76, 75, 79, 72, 35, 0, 0, 0, 0, 0, 77, 65, 71, 78, 35, 0, 0, 0, 0, 0, 77, 71, 84, 83, 35, 0, 0, 0, 0, 0, 77, 71, 84, 83, 80, 35, 0, 0, 0, 0, 77, 83, 78, 71, 35, 0, 0, 0, 0, 0,
77, 83, 83, 66, 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, 78, 83, 73, 80, 35, 0, 0, 0, 0,
78, 84, 77, 75, 35, 0, 0, 0, 0, 0, 80, 77, 84, 76, 35, 0, 0, 0, 0, 0, 80, 90, 76, 35, 0, 0, 0, 0, 0, 0, 82, 65, 83, 80, 35, 0, 0, 0, 0, 0, 82, 66, 67, 73, 35, 0, 0, 0, 0, 0,
82, 79, 83, 66, 35, 0, 0, 0, 0, 0, 82, 79, 83, 78, 95, 35, 0, 0, 0, 0, 82, 84, 75, 77, 35, 0, 0, 0, 0, 0, 82, 84, 75, 77, 80, 35, 0, 0, 0, 0, 83, 66, 69, 82, 35, 0, 0, 0, 0, 0,
83, 66, 69, 82, 80, 35, 0, 0, 0, 0, 83, 67, 79, 78, 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, 83, 80, 84, 76, 35, 0, 0, 0, 0, 0,
83, 80, 84, 76, 80, 35, 0, 0, 0, 0, 83, 86, 65, 86, 35, 0, 0, 0, 0, 0, 83, 86, 83, 66, 35, 0, 0, 0, 0, 0, 84, 65, 84, 78, 35, 0, 0, 0, 0, 0, 84, 65, 84, 78, 80, 35, 0, 0, 0, 0,
84, 71, 75, 71, 35, 0, 0, 0, 0, 0, 84, 82, 77, 75, 35, 0, 0, 0, 0, 0, 85, 82, 83, 73, 35, 0, 0, 0, 0, 0, 85, 82, 83, 73, 80, 35, 0, 0, 0, 0, 86, 83, 77, 79, 35, 0, 0, 0, 0, 0,
86, 84, 66, 82, 35, 0, 0, 0, 0, 0, 86, 90, 82, 90, 35, 0, 0, 0, 0, 0, 89, 65, 69, 78, 35, 0, 0, 0, 0, 0,
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[11][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, 70, 79, 82, 69, 88, 32, 66, 69, 83, 84, 0, 0, 0};
int ArrayName2[11][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, 70, 111, 114, 101, 120, 32, 66, 101, 115, 116, 0, 0, 0};
int ArrayNameFile[11][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, 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};
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
void start()
{
datetime TimeShift;
datetime Market_Info;
datetime Mark_Inf;
datetime iTimeBegin;
datetime iTimeBeginTemp;
datetime timetemp;
int a, b, p, h, e, ee, g, i, j, jj, ii, pp;
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[11];
int Array_Differ[11];
int ArrayExchange[][10];
int ArrayExchangeProf[][10];
int ArrayExchangeMini[][10];
int ArrayMini[4] = {109, 105, 110, 105};
int ArrayProf[4] = {112, 114, 111, 102};
int ArrayTempA[17]; // Òåõíè÷åñêèé ìàññèâ.
int ArrayTempB[3]; // Òåõíè÷åñêèé ìàññèâ.
int ArrayTools[][11][10]; // Äëÿ âñåõ èíñòðóìåíòîâ.
string ArrayInCorrect[];
string Info[11];
// Èíèöèàëèçèðóåì ìàññèâ äëÿ êîððåêòíîãî îòîáðàæåíèÿ ïóñòûõ ñòðîê.
for (i = 0; i < 11; i++) Info[i] = "";
// Ñîçäà¸ì ìàññèâ ñ íàçâàíèåì âàëþòíûõ ïàð â çàâèñèìîñòè îò íàëè÷èÿ ýòèõ ïàð ó áðîêåðà.
i = 0;
Array_Size[0] = ArrayRange (ArrayCurrency, 0);
// Comment (Array_Size[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);
// Print (CurrencyA, CurrencyB);
if (CurrencyA != CurrencyB && Market_Info != 0)
{
ArrayResize (ArrayExchange, i + 1);
ArrayResize (ArrayExchangeProf, i + 1);
ArrayResize (ArrayExchangeMini, 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];
}
for (t = 0; t <= 9; t++)
{
if (t <= 5) ArrayExchangeProf[i][t] = ArrayExchange[i][t];
if (t > 5) ArrayExchangeProf[i][t] = ArrayProf[t - 6];
if (t <= 5) ArrayExchangeMini[i][t] = ArrayExchange[i][t];
if (t > 5) ArrayExchangeMini[i][t] = ArrayMini[t - 6];
}
// Print (ArrayExchange[i][0], ", ", ArrayExchange[i][1], ", ", ArrayExchange[i][2], ", ", ArrayExchange[i][3], ", ", ArrayExchange[i][4], ", ", ArrayExchange[i][5]);
i++;
}
}
}
ArrayResize (ArrayCurrency, 0); // Óíè÷òîæàåì ìàññèâ.
// Îïðåäåëÿåì ðàçìåð ìàññèâîâ.
Array_Size[0] = i;
Array_Size[1] = i;
Array_Size[2] = i;
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_ForexBest, 0);
//----
// Comment (Array_Size[0], ", ", Array_Size[1], ", ", Array_Size[2], ", ", Array_Size[3]);
// Óñòàíàâëèâàåì ðàçìåð ìàññèâà ðàâíûì ñàìîìó áîëüøîìó ðàçìåðó ãðóïïû èíñòðóìåíòîâ.
ArrayResize (ArrayTools, Array_Size[ArrayMaximum (Array_Size, 11, 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_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_ForexBest, 0);
// Îïðåäåëÿåì êîëè÷åñòâî ÒÔ â êàæäîé ãðóïïå èíñòðóìåíòîâ.
for (i = 0; i <= 10; i++) Array_Differ[i] = 9 * Array_Size[i];
// Íà÷èíàåì ïîäêà÷êó èñòîðèè.
for (g = 0; g <= 10; g++) // Ïî ãðóïïàì.
{
ArrayInitialize (ArrayTempA, 0); // Èíèöèàëèçèðóåì ìàññèâ ïåðåä ñëåäóþùèì èñïîëüçîâàíèåì.
for (i = 0; i < 17; i++) ArrayTempA[i] = ArrayName2[g][i]; // Çàïîëíÿåì òåõíè÷åñêèé ìàññèâ íàçâàíèåì ãðóïïû èíñòðóìåíòîâ.
Name2 = TransformSymbolString (ArrayTempA);
// Âîïðîñ ïîëüçîâàòåëþ î çàãðóçêå èñòîðèè ãðóïïû èíñòðóìåíòîâ. Çàãðóæàòü/íå çàãðóæàòü.
PlaySound ("ding_XP.wav");
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 (IsStopped() == true) break;
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 (IsStopped() == true) break;
}
}
if (IsStopped() == true) break;
}
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] = "";
}
if (IsStopped() == true) break;
}
// Óíè÷òîæàåì ìàññèâû.
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_ForexBest, 0);
ArrayResize (ArrayName1, 0);
ArrayResize (ArrayName2, 0);
ArrayResize (ArrayNameFile, 0);
ArrayResize (ArrayTimfram_str, 0);
ArrayResize (ArrayInCorrect, 0);
//----
Comment (Info[0], Info[1], Info[2], Info[3], Info[4], Info[5], Info[6], Info[7], Info[8], Info[9], Info[10]);
MessageBox (Info[0] + Info[1] + Info[2] + Info[3] + Info[4] + Info[5] + Info[6] + Info[7] + Info[8] + Info[9] + Info[10], "ÈÍÔÎÐÌÀÖÈß Î ÇÀÃÐÓÇÊÅ");
}
//====Ôóíêöèÿ "Ñîçäàòü ôàéë ìàññèâà ñî ñòðîêîâûìè äàííûìè".========================================================================================================================
// (íàçâàíèå ôàéëà; ìàññèâ äëÿ çàïèñè; íà÷àëüíûé èíäåêñ â ìàññèâå; êîëè÷åñòâî ýëåìåíòîâ äëÿ ÷òåíèÿ; ñìåùåíèå â áàéòàõ; íà÷àëüíîå ïîëîæåíèå ôàéëîâîãî óêàçàòåëÿ)
int FileCreate_ArrayString (string Name, string Array[], int start, int count)
{
int Bool;
int handle;
//----
handle = FileOpen (Name, FILE_BIN|FILE_WRITE);
//----
if (handle == -1)
{
Print ("Ôàéë ", Name, " íå ñîçäàí, ïîñëåäíÿÿ îøèáêà : ", GetLastError());
FileClose (handle);
return (-1);
}
else
{
Bool = FileWriteArray (handle, Array, start, count);
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));
}
//=================================================================================================================================================================================
Comments
Markdown Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---