ZZ_All Quotings 0-0050





//+-----------------------------------------------------------------------------------------+
//|                                                               ZZ_All Quotings 0-0050.mq4|
//|                                                               Copyright © Zhunko        |
//|27.03.2007 - 09.05.2007                                        MF ZHUNKO zhunko@mail.ru  |
//+-----------------------------------------------------------------------------------------+
//| Ñêðèïò äëÿ çàêà÷êè èñòîðèè ïî âñåì âàëþòíûì ïàðàì è ìåòàëëàì.                           |
//| Ñ ïîëåäóþùèì êîíòðîëåì íà "äûðû" â èñòîðèè.                                             |
//| Â ñâÿçè ñ ôóíêöèîíàëüíûì ðàñøèðåíèåì, ñêðèïò "ZZ_All Quotings Exchange+Metals 0-0050"   |
//| ïåðåèìåíîâàí â "ZZ_All Quotings 0-0050".                                                |
//| Ïåðåä èñïîëüçîâàíèåì ñêðèïòà óñòàíîâèòå â ÌÒ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".                                                         |
//+-----------------------------------------------------------------------------------------+
#property copyright "Copyright © 2007 Zhunko"
#property link      "zhunko@mail.ru"
#include <WinUser32.mqh>
//----Ãëîáàëüíûå ïåðåìåííûå.------------------------------------------
datetime Market_Info, Mark_Inf, iTimeBegin, 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};
string ArrayCurrency[]     = {"AUD", "ALL", "ARS", "BRL", "BWP", "CAD", "CCK", "CHF", "CLP", "CNY", "COP", "CVE", "CYP", "CZK", "DKK", "DOP", "DZD", "EGP", "EUR", "GBP",
                              "GEL", "GIP", "HKD", "HRK", "HUF", "IDR", "IRR", "ILS", "INR", "ISK", "JPY", "KRW", "LBR", "LSL", "LTL", "LVL", "MAD", "MTL", "MXN", "MYR",
                              "NOK", "NPR", "NZD", "PHP", "PKR", "PLN", "QAR", "RUB", "RUR", "SAR", "SEK", "SGD", "SKK", "THB", "TND", "TRY", "TWD", "UAH", "USD", "XOF",
                              "ZAR", "ZMK"};
string ArrayMetals[]       = {"GOLD", "PALL", "PALLADIUM", "PLAT", "PLATINUM", "SILVER", "XAG", "XAU"};
string ArrayIndexes[]      = {// Îáîçíà÷åíèÿ "Alpari Ltd.".
                              "_C", "_DJI", "_DXY", "_ES", "_GC", "_NQ", "_NQ100", "_NQCOMP", "_QG", "_QM", "_S", "_SI", "_SP500", "_W",
                              // Îáîçíà÷åíèÿ "MoneyRein Corporation", "North-West Financial Broker".
                              "$ATX", "$BKBRIC", "$COMPQ", "$DAXI", "$FTSE", "$INDU", "$NDX", "$NIKKEI", "$NYA", "$OEX", "$QQQQ", "$SPX", "$TRAN",
                              // Îáîçíà÷åíèÿ "North Finance Company Ltd".
                              "DAX", "DJI", "NASDAQ", "S&P500"};
string ArrayCFD_Viena[]    = {// Îáîçíà÷åíèÿ "MoneyRein Corporation".
                              "BFC#", "BUD#", "BWIN#", "BWT#", "CNTY#", "COV#", "CWT#", "EBS#", "EYBL#", "FLU#", "HEAD#", "HVB#", "ICLL#", "IEA#", "KTM#", "LNZ#", "MEL#",
                              "MMK#", "OMV#", "PAL#", "RHI#", "RIBH#", "SBO#", "SEM#", "SNT#", "TKA#", "UQA#", "VER#", "VOE#", "WIE#", "WOL#" ,"WST#"};
string ArrayCFD_London[]   = {// Îáîçíà÷åíèÿ "MoneyRein Corporation".
                              "AAL#", "AIRC#", "ALS#", "AMEC#", "AMV#", "ANGL#", "ANTO#", "ADAD#", "AV.#", "AVE#", "AXA#", "AZN#", "BA.#", "BARC#", "BATS#", "BAY#", "BDEV#",
                              "BGEO#", "BLT#", "BP.#", "BT.A#", "CBRY#", "CCL#", "CHZN#", "CPG#", "CS#", "CW#", "DBK#", "DPO#", "EBID#", "EETD#", "ELXB#", "EMG#", "EMI#",
                              "EVR#", "FGP#", "FIVE#", "FP.#", "GAZ#", "GLH#", "GSK#", "HBOS#", "HCU#", "HMSO", "HNS#", "HOME#", "HSBA#", "HYUD#", "IMT#", "KZG#", "LGLD#",
                              "LKOD#", "LLOY#", "LSE#", "MKS#", "MNOD#", "MRW#", "NCU#", "NSTR#", "NVTK#", "OGZD#", "OML#", "PFD#", "PLZL#", "PRTY#", "PSON#", "RB.#",
                              "RBS#", "RDSA#", "REX#", "RKMD#", "RMM#", "ROSN#", "RR.#", "RTR#", "RYA#", "SBE#", "SBRY#", "SGGD#", "SMSN#", "SNKB#", "SPW#", "SSA#", "SVST#",
                              "TDE#", "THK#", "TPSD#", "TSCO#", "TTA#", "UESD#", "ULVR#", "UMB#", "VED#", "VKW#", "VOD#", "XTA#", "YELL#"};
string ArrayCFD_NewYork[]  = {// Îáîçíà÷åíèÿ "Alpari Ltd.", "North-West Financial Broker".
                              "#AA", "#AAPL", "#ABB", "#ABM", "#ABN", "#ADBE", "#AEP", "#AIG", "#AKH", "#AKZOY", "#AMAT", "#AMD", "#AMZN", "#ASD", "#AXP", "#BA", "#BAC",
                              "#BAYER", "#BC", "#BDK", "#BF", "#BGP", "#BK", "#BKS", "#BMY", "#BNG", "#BTM", "#C", "#CAJ", "#CAT", "#CC", "#CIA", "#CL_", "#CMX", "#COP",
                              "#CSCO", "#CSG", "#CSX", "#CTBK", "#CVS", "#CVX", "#CY", "#DA", "#DCX", "#DD", "#DELL", "#DIA", "#DIS", "#DLB", "#DWA", "#EBAY", "#EK", "#ELE",
                              "#EMC", "#EN", "#EWJ", "#F", "#FDC", "#FDX", "#FIA", "#FS", "#FTE", "#GE", "#GLDN", "#GLW", "#GM", "#GOOG", "#GS", "#GYMB", "#HAL", "#HD", "#HLF",
                              "#HLT", "#HMC", "#HON", "#HPQ", "#IBM", "#IBN", "#INTC", "#IP", "#IPG", "#JNJ", "#JPM", "#KEP", "#KFT", "#KO", "#KYO", "#LF", "#LMT", "#LOW",
                              "#LPL", "#LSI", "#LXK", "#LYG", "#NBT", "#MC", "#MCD", "#MGM", "#MKTAY", "#MMM", "#MO", "#MOT", "#MRK", "#MSFT", "#MT", "#MTL", "#MTU", "#MU",
                              "#MXWL", "#NEM", "#NEW", "#NKE", "#NOK", "#NOVL", "#NSANY", "#NVS", "#NYT", "#NZT", "#ORCL", "#PALM", "#PD", "#PDCO", "#PEP", "#PFE", "#PG",
                              "#PHG", "#PLA", "#PPG", "#PSO", "#PUB", "#Q", "#QQQ", "#RDS", "#RIO", "#ROS", "#ROST", "#RTI", "#S", "#SAP", "#SBUX", "#SGP", "#SHLD", "#SI",
                              "#SNDK", "#SNE", "#SNY", "#SPY", "#SUNW", "#SYMC", "#T", "#TCK", "#TDK", "#TEO", "#TLM", "#TM", "#TRB", "#TRCR", "#TSM", "#TTM", "#TWX", "#TXM",
                              "#UBS", "#UL", "#UTX", "#VIP", "#VRSN", "#VZ", "#WBD", "#WDC", "#WFC", "#WFMI", "#WMT", "#WYNN", "#XOM", "#XRX", "#YHOO",
                              // Îáîçíà÷åíèÿ "MoneyRein Corporation".
                              "AA#", "AAPL#", "ABB#", "ABM#", "ABN#", "ADBE#", "AEP#", "AIG#", "AKH#", "AKZOY#", "AMAT#", "AMD#", "AMZN#", "ASD#", "AXP#", "BA#", "BAC#",
                              "BAYER#", "BC#", "BDK#", "BF#", "BGP#", "BK#", "BKS#", "BMY#", "BNG#", "BTM#", "C#", "CAJ#", "CAT#", "CC#", "CIA#", "CL_#", "CMX#", "COP#",
                              "CSCO#", "CSG#", "CSX#", "CTBK#", "CVS#", "CVX#", "CY#", "DA#", "DCX#", "DD#", "DELL#", "DIA#", "DIS#", "DLB#", "DWA#", "EBAY#", "EK#", "ELE#",
                              "EMC#", "EN#", "EWJ#", "F#", "FDC#", "FDX#", "FIA#", "FS#", "FTE#", "GE#", "GLDN#", "GLW#", "GM#", "GOOG#", "GS#", "GYMB#", "HAL#", "HD#", "HLF#",
                              "HLT#", "HMC#", "HON#", "HPQ#", "IBM#", "IBN#", "INTC#", "IP#", "IPG#", "JNJ#", "JPM#", "KEP#", "KFT#", "KO#", "KYO#", "LF#", "LMT#", "LOW#",
                              "LPL#", "LSI#", "LXK#", "LYG#", "NBT#", "MC#", "MCD#", "MGM#", "MKTAY#", "MMM#", "MO#", "MOT#", "MRK#", "MSFT#", "MT#", "MTL#", "MTU#", "MU#",
                              "MXWL#", "NEM#", "NEW#", "NKE#", "NOK#", "NOVL#", "NSANY#", "NVS#", "NYT#", "NZT#", "ORCL#", "PALM#", "PD#", "PDCO#", "PEP#", "PFE#", "PG#",
                              "PHG#", "PLA#", "PPG#", "PSO#", "PUB#", "Q#", "QQQ#", "RDS#", "RIO#", "ROS#", "ROST#", "RTI#", "S#", "SAP#", "SBUX#", "SGP#", "SHLD#", "SI#",
                              "SNDK#", "SNE#", "SNY#", "SPY#", "SUNW#", "SYMC#", "T#", "TCK#", "TDK#", "TEO#", "TLM#", "TM#", "TRB#", "TRCR#", "TSM#", "TTM#", "TWX#", "TXM#",
                              "UBS#", "UL#", "UTX#", "VIP#", "VRSN#", "VZ#", "WBD#", "WDC#", "WFC#", "WFMI#", "WMT#", "WYNN#", "XOM#", "XRX#", "YHOO#"};
string ArrayCFD_Tokyo[]    = {// Îáîçíà÷åíèÿ "MoneyRein Corporation".
                              "4901", "4902", "4911", "5016", "5108", "5401", "6367", "6473", "6502", "6701", "6703", "6752", "6758", "6762", "6764", "6773", "6796", "6952",
                              "6971", "7012", "7201", "7202", "7203", "7261", "7267", "7269", "7731", "7733", "7751", "7752", "7762", "7951", "8031", "9205", "9532", "9984"};
string ArrayCFD_Moscow[]   = {// Îáîçíà÷åíèÿ "MoneyRein Corporation".
                              "AFLT#", "AVAZ#", "CHMF#", "EESR#", "GAZP#", "GMKN#", "LKOH#", "MSNG#", "MTSS#", "NLMK#", "NNSI#", "NTMK#", "RBCI#", "RTKM#", "SBER#", "SIBN#",
                              "SNGS#", "TATN#", "VRSI#"};
string ArrayCFD_RU[]       = {// Îáîçíà÷åíèÿ "Forex Best".
                              "AFLRUR", "AVTRUR", "EEPRUR", "EESRUR", "GAZRUR", "GMKRUR", "IRKRUR", "LBDRUR", "LKORUR", "MMKRUR", "MSNRUR", "MTSRUR", "OG3RUR", "MG5RUR",
                              "PLZRUR", "RBCRUR", "RSNRUR", "RTKRUR", "RTPRUR", "SBERUR", "SBPRUR", "SIBRUR", "SNGRUR", "SNPRUR", "SPTRUR", "STKRUR", "SVARUR", "TAPRUR",
                              "TATRUR", "UAZRUR", "UTARUR", "VTLRUR", "YENRUR"};
string ArrayCFD_ForexBest[]= {// Îáîçíà÷åíèÿ "Forex Best".
                              "BO", "BP", "C" ,"CA", "CC", "CF", "CL", "CP", "CT", "DA", "DF", "DX", "ED", "EEU", "ENQ", "EP", "ER", "EU", "FC", "FF", "GC", "HO", "HU", "JY",
                              "LB", "LC", "LH", "MA", "MX", "ND", "NE", "NG", "NKD", "NQG", "NQM", "O", "OJ", "PA", "PB", "PL", "RC", "S", "SF", "SI", "SM", "SP", "SU", "W",
                              "Y5", "YG", "YI", "YM", "ZI", "ZO"};
string ArrayName1[12]      = {"ÂÀËÞÒÍÛÕ ÏÀÐ", "ÂÀËÞÒÍÛÕ ÏÀÐ PROF", "ÂÀËÞÒÍÛÕ ÏÀÐ MINI", "ÌÅÒÀËËÎÂ", "INDEXES", "CFD VIENA", "CFD LONDON", "CFD NEW YORK", "CFD TOKYO", "CFD MOSCOW", "CFD RU", "CFD FOREX BEST"};
string ArrayName2[12]      = {"âàëþòíûõ ïàð", "âàëþòíûõ ïàð Prof", "âàëþòíûõ ïàð Mini", "ìåòàëëîâ", "Indexes", "CFD Viena", "CFD London", "CFD New York", "CFD Tokyo", "CFD Moscow", "CFD RU", "CFD Forex Best"};
string ArrayNameFile[12]   = {"Exchange", "ExchangeProf", "ExchangeMini", "Metals", "Indexes", "CFD_Viena", "CFD_London", "CFD_NewYork", "CFD_Tokyo", "CFD_Moscow", "CFD_RU", "CFD_ForexBest"};
string ArrayTimfram_str[9] = {"M1 ", "M5 ", "M15", "M30", "H1 ", "H4 ", "D1 ", "W1 ", "MN1"};
string ArrayInCorrect[100000000];
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
void start()
  {
   int      QuestExch   = IDYES;
   int      QuestCheck  = IDYES;
   int      size;
//----
   datetime time[];
   int      Array_Size[9];
   int      Array_Differ[9];
   string   ArrayExchange[500];
   string   ArrayExchangeProf[500];
   string   ArrayExchangeMini[500];
   string   ArrayTools[9][500];
   string   Info[9];
// Ñîçäà¸ì ìàññèâ ñ íàçâàíèåì âàëþòíûõ ïàð â çàâèñèìîñòè îò íàëè÷èÿ ýòèõ ïàð ó áðîêåðà.
   i = -1;
   j = -1;
   Array_Size[0] = ArraySize (ArrayCurrency);
   for(a = 0; a < Array_Size[0]; a++) // Äëÿ âàëþòíûõ ïàð.
       for(b = 0; b < Array_Size[0]; b++)
         {
           Market_Info = MarketInfo(ArrayCurrency[a] + ArrayCurrency[b], MODE_TIME);
           if(ArrayCurrency[a] != ArrayCurrency[b] && Market_Info != 0)
             {
               i++; // Ñ÷¸ò÷èê ðåàëüíîãî êîëè÷åñòâà èíñòðóìåíòîâ.
               ArrayExchange[i] = ArrayCurrency[a] + ArrayCurrency[b];
               if(AccountCompany() == "MoneyRein Corporation")
                 {
                   j++; // Ñ÷¸ò÷èê ðåàëüíîãî êîëè÷åñòâà èíñòðóìåíòîâ.
                   ArrayExchangeProf[j] = ArrayCurrency[a] + ArrayCurrency[b] + "prof";
                   ArrayExchangeMini[j] = ArrayCurrency[a] + ArrayCurrency[b] + "mini";
                 }
             }
         }
// Îïðåäåëÿåì ðàçìåð ìàññèâîâ.
   Array_Size[0]  = i + 1;
   Array_Size[1]  = j + 1;
   Array_Size[2]  = j + 1;
   Array_Size[3]  = ArraySize(ArrayMetals);
   Array_Size[4]  = ArraySize(ArrayIndexes);
   Array_Size[5]  = ArraySize(ArrayCFD_Viena);
   Array_Size[6]  = ArraySize(ArrayCFD_London);
   Array_Size[7]  = ArraySize(ArrayCFD_NewYork);
   Array_Size[8]  = ArraySize(ArrayCFD_Tokyo);
   Array_Size[9]  = ArraySize(ArrayCFD_Moscow);
   Array_Size[10] = ArraySize(ArrayCFD_RU);
   Array_Size[11] = ArraySize(ArrayCFD_ForexBest);
// Ñîçäà¸ì äâóìåðíûé ìàññèâ ñ èíñòðóìåíòàìè.
   for(i = 0; i < Array_Size[0] ; i++) 
       ArrayTools[0][i] = ArrayExchange[i];
   for(i = 0; i < Array_Size[1] ; i++) 
       ArrayTools[1][i] = ArrayExchangeProf[i];
   for(i = 0; i < Array_Size[2] ; i++) 
       ArrayTools[2][i] = ArrayExchangeMini[i];
   for(i = 0; i < Array_Size[3] ; i++) 
       ArrayTools[3][i] = ArrayMetals[i];
   for(i = 0; i < Array_Size[4] ; i++) 
       ArrayTools[4][i] = ArrayIndexes[i];
   for(i = 0; i < Array_Size[5] ; i++) 
       ArrayTools[5][i] = ArrayCFD_Viena[i];
   for(i = 0; i < Array_Size[6] ; i++) 
       ArrayTools[6][i] = ArrayCFD_London[i];
   for(i = 0; i < Array_Size[7] ; i++) 
       ArrayTools[7][i] = ArrayCFD_NewYork[i];
   for(i = 0; i < Array_Size[8] ; i++) 
       ArrayTools[8][i] = ArrayCFD_Tokyo[i];
   for(i = 0; i < Array_Size[9] ; i++) 
       ArrayTools[9][i] = ArrayCFD_Moscow[i];
   for(i = 0; i < Array_Size[10]; i++) 
       ArrayTools[10][i] = ArrayCFD_RU[i];
   for(i = 0; i < Array_Size[11]; i++) 
       ArrayTools[11][i] = ArrayCFD_ForexBest[i];
// Îïðåäåëÿåì êîëè÷åñòâî ÒÔ â êàæäîé ãðóïïå èíñòðóìåíòîâ.
   for(i = 0; i <= 11; i++) 
       Array_Differ[i] = 9 * Array_Size[i];  
// Íà÷èíàåì ïîäêà÷êó èñòîðèè.
   for(g = 0; g <= 11; g++)
     {
       // Âîïðîñ ïîëüçîâàòåëþ î çàãðóçêå èñòîðèè ãðóïïû èíñòðóìåíòîâ. 
       // Çàãðóæàòü/íå çàãðóæàòü.
       QuestExch = MessageBox ("Çàãðóæàåì èñòîðèþ " + ArrayName2[g] + 
                               "?", "Èñòîðèÿ " + ArrayName2[g], 
                               MB_YESNO|MB_ICONQUESTION);
       //----
       if(QuestExch == IDYES)
         {
           // Èíèöèàëèçèðóåì ïåðåìåííûå.
           e = 1; ee = 0; j = 0; jj = 0; ii = 0; pp = 0; 
           // Âîïðîñ ïîëüçîâàòåëþ îá êîíòðîëå íà "äûðû" â èñòîðèè. 
           // Êîíòîðîëèðîâàòü/íå êîíòðîëèðîâàòü.
           QuestCheck = MessageBox ("Ïðîâîäèòü êîíòðîëü çàãðóæåííîé èñòîðèè\n" + 
                                    ArrayName2[g] + " íà äåôåêòíûå èíòåðâàëû (äûðû)?", 
                                    "Êîíðîëü èñòîðèè óâåëè÷èâàåò âðåìÿ ðàáîòû ñêðèïòà!",
                                    MB_YESNO|MB_ICONQUESTION);
           for(a = 0; a < Array_Size[g]; a++) // Äëÿ ìåòàëëîâ.
             {
               ii++; // Ñ÷¸ò÷èê âîçìîæíîãî êîëè÷åñòâà èíñòðóìåíòîâ.
               Market_Info = MarketInfo (ArrayTools[g][a], MODE_TIME);
               if(Market_Info != 0)
                 {
                   j++; // Ñ÷¸ò÷èê ðåàëüíîãî êîëè÷åñòâà èíñòðóìåíòîâ.
                   for(p = 0; p <= 8; p++)
                     {
                       pp++; // Ñ÷¸ò÷èê îáùåãî êîëè÷åñòâà ÒÔ.
                       Mark_Inf = Market_Info - 60 * ArrayTimFram_time[p];
                       iTimeBegin = iTime(ArrayTools[g][a], ArrayTimFram_time[p], 0);
                       while(Mark_Inf < iTimeBegin)
                         {
                           jj++; // Ñ÷¸ò÷èê îæèäàíèé ïîñëåäíåãî áàðà.
                           size = ArrayCopySeries(time, MODE_TIME, ArrayTools[g][a], 
                                                  ArrayTimFram_time[p]);
                           if(GetLastError() == 0) 
                               break;
                           // Åñëè îñòàíîâêà, ñîçäà¸ì ñðî÷íî ôàéë *.dat .
                           if(IsStopped() == true && QuestCheck == IDYES) 
                             {
                               ArrayInCorrect[e] = "===============================" + 
                                                   "=================";
                               ArrayInCorrect[e + 1] = "Äàòà çàâåðøåíèÿ êîíòðîëÿ " + 
                                                       TimeToStr(TimeLocal(), 
                                                       TIME_DATE|TIME_SECONDS);
                               ArrayInCorrect[e + 2] = "Ïðîèçâåäåíî ïðèíóäèòåëüíîå" + 
                                                       " çàâåðøåíèÿ êîíòðîëÿ.";
                               FileCreate_ArrayString ("ZZ_All_Quotings_" + 
                                                       ArrayNameFile[g] + 
                                                       "_InCorrect.dat", ArrayInCorrect, 
                                                       0, e + 3, 0, SEEK_SET);
                               return;
                             }
                         }
                       // Åñëè ïîëüçîâàòåëü îòâåòèë "YES" ïðîèçâîäèì êîíòðîëü èñòîðèè 
                       // íà "äûðû".
                       if(QuestCheck == IDYES) 
                         {
                           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 + 
                                                               ".====================" + 
                                                               ArrayTools[g][a] + 
                                                               "=====================";
                                       if(j >= 10) 
                                           ArrayInCorrect[e] = j + ".====================" + 
                                                               ArrayTools[g][a] + 
                                                               "=====================";
                                       ee = j;
                                       e++;
                                     }
                                   ArrayInCorrect[e] = ArrayTools[g][a] + "_" + 
                                                       ArrayTimfram_str[p] + " <" + 
                                                       TimeToStr (time[h + 1], 
                                                       TIME_DATE|TIME_MINUTES) + ">=<" + 
                                                       TimeToStr (time[h], 
                                                       TIME_DATE|TIME_MINUTES) + ">";
                                   e++;
                                 }
                               Comment("ÇÀÃÐÓÇÊÀ ", ArrayName1[g],
                                       "\nÇàãðóæåíî: ", 100 * (9 * ii - 8 + p) / 
                                       Array_Differ[g], " %",
                                       "\nÈíñòðóìåíò: ", "¹ ", j, ". ", ArrayTools[g][a],
                                       "\nÒàéìôðåéì: ", ArrayTimfram_str[p],
                                       "\nÁàðîâ â ÒÔ: ", size,
                                       "\nÊîíòðîëü èñòîðèè = ", h,
                                       "\nÄåôåêòíûõ èíòåðâàëîâ = ", e); 
                             } 
                         }
                       else
                         {
                           Comment("ÇÀÃÐÓÇÊÀ ", ArrayName1[g],
                                   "\nÇàãðóæåíî: ", 100 * (9 * ii - 8 + p) / 
                                   Array_Differ[g], " %",
                                   "\nÈíñòðóìåíò: ", "¹ ", j, ". ", ArrayTools[g][a],
                                   "\nÒàéìôðåéì: ", ArrayTimfram_str[p],
                                   "\nÁàðîâ â ÒÔ: ", size); 
                         }
                     }
                 }
             }
           if(QuestCheck == IDYES)
             {
               ArrayInCorrect[e + 1] = "=========================================" + 
                                       "==========\nÄàòà çàâåðøåíèÿ êîíòðîëÿ " + 
                                       TimeToStr(TimeLocal(), TIME_DATE|TIME_SECONDS);
               FileCreate_ArrayString("ZZ_All_Quotings_" + ArrayNameFile[g] + 
                                      "_InCorrect.txt", ArrayInCorrect, 0, e, 0, SEEK_SET);
             }
           if(j != 0 && QuestCheck == IDYES) 
               Info[g] = StringConcatenate ("\nÑ÷¸ò÷èê öèêëîâ ïîäáîðà ", ArrayName2[g], 
                                            " = ", ii,
                                            "\nÊîëè÷åñòâî ", ArrayName2[g], 
                                            " â ÎÁÇÎÐÅ ÐÛÍÊÀ  = ", j,
                                            "\nÑ÷¸ò÷èê öèêëîâ ÒÔ ", ArrayName2[g], 
                                            " = ", pp,
                                            "\nÑ÷¸ò÷èê îæèäàíèé ïîñëåäíåãî áàðà ", 
                                            ArrayName2[g], " = ", jj,
                                            "\nÄåôåêòíûõ èíòåðâàëîâ ", ArrayName2[g], 
                                            " = ", e - j - 1,
                                            "\nÔàéë ñ äåôåêòíûìè èíòåðâàëàìè: ..." + 
                                            "MetaTrader 4.00\experts\files\ZZ_All_Quotings_", 
                                            ArrayNameFile[1], "_InCorrect.txt\n");
           else 
               Info[g] = "";
           //----
           if(j != 0 && QuestCheck == IDNO)  
               Info[g] = StringConcatenate ("\nÑ÷¸ò÷èê öèêëîâ ïîäáîðà ", ArrayName2[g], 
                                            " = ", ii,
                                            "\nÊîëè÷åñòâî ", ArrayName2[g], 
                                            " â ÎÁÇÎÐÅ ÐÛÍÊÀ  = ", j,
                                            "\nÑ÷¸ò÷èê öèêëîâ ÒÔ ", ArrayName2[g], " = ", pp,
                                            "\nÑ÷¸ò÷èê îæèäàíèé ïîñëåäíåãî áàðà ", 
                                            ArrayName2[g], " = ", jj, "\n");
           else 
               Info[g] = "";       
         }
     }
//----
   Comment(Info[0], Info[1], Info[2], Info[3], Info[4], Info[5], Info[6], Info[7], Info[8]);
   return;
  }
//+------------------------------------------------------------------+
//| Ôóíêöèÿ "Ñîçäàòü ôàéë ìàññèâà ñî ñòðîêîâûìè äàííûìè".            |
//| // (íàçâàíèå ôàéëà; ìàññèâ äëÿ çàïèñè; íà÷àëüíûé èíäåêñ â        |
//| ìàññèâå; êîëè÷åñòâî ýëåìåíòîâ äëÿ ÷òåíèÿ; ñìåùåíèå â áàéòàõ;     |
//| íà÷àëüíîå ïîëîæåíèå ôàéëîâîãî óêàçàòåëÿ)                         |
//+------------------------------------------------------------------+
int FileCreate_ArrayString(string Name, string Array[], int start, int count, 
                           int offset, int origin)  
  {
   bool   BL;
   int    Bool;
   int    handle;
//----
   handle = FileOpen(Name, FILE_BIN|FILE_WRITE, ';');
//----
   if(handle == -1)
     {
       Print("Ôàéë ", Name, " íå ñîçäàí, ïîñëåäíÿÿ îøèáêà : ", GetLastError());
       Bool = -1;
       return(false);
     }
   else
     {
       BL = FileSeek(handle, offset, origin);
       Bool = FileWriteArray(handle, Array, start, count);
       if(BL == false) 
           Print("Ôàéëîâûé óêàçàòåëü ôàéëà ",  Name, " íå ñìåù¸í, ïîñëåäíÿÿ îøèáêà : ", 
                 GetLastError());
       if(Bool == -1) 
           Print("Çíà÷åíèå â ôàéë ", Name, " íå çàïèñàíî, ïîñëåäíÿÿ îøèáêà : ", 
                 GetLastError());
       FileClose (handle);
    }
   return(Bool);
  }
//+------------------------------------------------------------------+





Sample





Analysis



Market Information Used:



Indicator Curves created:


Indicators Used:



Custom Indicators Used:

Order Management characteristics:

Other Features:


Uses files from the file system
It writes information to file