m_yk000bmrxyppbtet_kci6y1v1ezn2to6pmh

Price Data Components
Series array that contains open time of each barSeries array that contains open prices of each barSeries array that contains the highest prices of each barSeries array that contains the lowest prices of each barSeries array that contains close prices for each barSeries array that contains tick volumes of each bar
Miscellaneous
Uses files from the file systemIt reads information from a file
0 Views
0 Downloads
0 Favorites
m_yk000bmrxyppbtet_kci6y1v1ezn2to6pmh
#include <Ðàáîòà ñ ôàéëàìè.mqh>

int init()
   {
   ÂûïîëíèòüÂûãðóçêó(); //áåñêîíå÷íàÿ ïðîöåäóðà, ïðåðûâàåìàÿ óäàëåíèåì ýêñïåðòà èç îêíà ãðàôèêà
   }

int start()
   {
   ÂûïîëíèòüÂûãðóçêó(); //åñëè ìû çäåñü, çíà÷èò ïî êàêîé-òî ïðè÷èíå ðàáîòà ýêñïåðòà ïðåðâàëàñü - ÷åãî áûòü íå äîëæíî
   }

void ÂûïîëíèòüÂûãðóçêó()
   {
   // ÈÍÈÖÈÀËÈÇÀÖÈß ÏÅÐÅÌÅÍÍÛÕ
   //ñëóæåáíûå îáùèå
   bool ÄàííûåÎáíîâëåíû;
   bool ÐåçóëüòàòÎáðàáîòêè;
   int ÏîçèöèÿÏîèñêà;
   int ÏîçèöèÿÏîèñêàÐàçäåëèòåëÿ;
   string Òåêñò;
   int Ñ÷åò÷èê;
   int Ðåçóëüòàò;
   int ÂðåìÿÏîñëåäíåéÊîòèðîâêè;
   string ÂðåìÿÎáíîâëåíèÿ;
   int Ñ÷åò÷èêÇàöèêëèâàíèÿ;
   int Òåê×àñ,ÒåêÌèíóòà;
   int ÂðåìÿÑíà,Íà÷àëîÑíà,Îêîí÷àíèåÑíà;

   //êëþ÷åâûå
   int ÐåçóëüòàòÈíèöèàëèçàöèè;
   string ÈìÿÔàéëà;
   int Êîëè÷åñòâîÏåðèîäîâ;
   string ÊîäÈíñòðóìåíòà;
   string ÊîäÏåðèîäè÷íîñòè;

   string ÑòðîêàÊîòèðîâîê;

   // ÎÑÍÎÂÍÀß ÏÐÎÃÐÀÌÌÀ
   while (true) // â ýòîì öèêëå îæèäàåì îáíîâëåíèå êîòèðîâîê
   {
   Òåê×àñ = Hour();
   ÒåêÌèíóòà = Minute();

   // ïðîâåðèì, à íå ïîðà ëè ñïàòü? ïðîâåðÿòü ôàéë íóæíî êàæäûé ðàç, èáî ôàéë òåîðåòè÷åñêè ìîæåò èçìåíèòüñÿ â ëþáîé ìîìåíò
   ÂðåìÿÑíà = 0;
   Íà÷àëîÑíà = 0;
   Îêîí÷àíèåÑíà = 0;
   Òåêñò = Ïðî÷èòàòüÇíà÷åíèå("Îáìåí/! Ñîí.csv",1);
   if (Òåêñò != "-1"    // óäàëîñü ïðî÷èòàòü ôàéë 
      && Òåêñò != "")   // è â ñòðîêå åñòü íåêàÿ çàïèñü
      {
      Íà÷àëîÑíà = StrToInteger(Òåêñò)*60+StrToInteger(Ïðî÷èòàòüÇíà÷åíèå("Îáìåí/! Ñîí.csv",2)); // â ìèíóòàõ îò 00:00
      }
   Òåêñò = Ïðî÷èòàòüÇíà÷åíèå("Îáìåí/! Ñîí.csv",3);
   if (Òåêñò != "-1"    // óäàëîñü ïðî÷èòàòü ôàéë 
      && Òåêñò != "")   // è â ñòðîêå åñòü íåêàÿ çàïèñü
      {
      Îêîí÷àíèåÑíà = StrToInteger(Òåêñò)*60+StrToInteger(Ïðî÷èòàòüÇíà÷åíèå("Îáìåí/! Ñîí.csv",4)); // â ìèíóòàõ îò 00:00
      }
   if (Íà÷àëîÑíà != 0 && Îêîí÷àíèåÑíà != 0) //âðåìÿ ñíà çàäàíî, íàäî ñðàâíèòü èíòåðâàëû
      {
      if (Òåê×àñ*60+ÒåêÌèíóòà >= Íà÷àëîÑíà) //âîçìîæíî ïîðà ñïàòü
         {
         if (Íà÷àëîÑíà < Îêîí÷àíèåÑíà && Òåê×àñ*60+ÒåêÌèíóòà < Îêîí÷àíèåÑíà) ÂðåìÿÑíà = Îêîí÷àíèåÑíà - (Òåê×àñ*60+ÒåêÌèíóòà);
         if (Íà÷àëîÑíà > Îêîí÷àíèåÑíà) ÂðåìÿÑíà = Îêîí÷àíèåÑíà + (24-Òåê×àñ-1)*60 + (60-ÒåêÌèíóòà);
         }
      else //Òåê×àñ*60+ÒåêÌèíóòà < Íà÷àëîÑíà //âîçìîæíî ðàíî ïðîñíóëèñü
         {
         if (Íà÷àëîÑíà > Îêîí÷àíèåÑíà && Òåê×àñ*60+ÒåêÌèíóòà < Îêîí÷àíèåÑíà) ÂðåìÿÑíà = Îêîí÷àíèåÑíà - (Òåê×àñ*60+ÒåêÌèíóòà);
         }
      }
      
   if (ÂðåìÿÑíà != 0)
      {
      ÂðåìÿÑíà = (ÂðåìÿÑíà - 1)*60 + (60-Seconds()); // òåïåðü â ñåêóíäàõ
      Comment("Ñïèì ñ "+Ïðî÷èòàòüÇíà÷åíèå("Îáìåí/! Ñîí.csv",1)+":"+Ïðî÷èòàòüÇíà÷åíèå("Îáìåí/! Ñîí.csv",2)+" äî "+Ïðî÷èòàòüÇíà÷åíèå("Îáìåí/! Ñîí.csv",3)+":"+Ïðî÷èòàòüÇíà÷åíèå("Îáìåí/! Ñîí.csv",4));
      Sleep(ÂðåìÿÑíà*1000);
      }
   // ïðîâåðèëè, íå íóæíî ëè ñïàòü
   

   Comment("Îæèäàíèå îáíîâëåíèÿ...");
   ÄàííûåÎáíîâëåíû = RefreshRates();
      
   if (!ÄàííûåÎáíîâëåíû) continue; // êîòèðîâêè íå îáíîâèëèñü
   ÂðåìÿÎáíîâëåíèÿ = TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS);
   
   // Îáðàáîòêà ôàéëà èíèöèàëèçàöèè
   Comment("Èíèöèàëèçàöèÿ");
   while (true) //áóäåì ïûòàòüñÿ îòêðûòü ôàéë áåñêîíå÷íî, ïîêà îí íå îòêðîåòñÿ
      {
      ÐåçóëüòàòÈíèöèàëèçàöèè = FileOpen("Îáìåí\! Âûãðóçêà.csv", FILE_CSV|FILE_READ);
      if (ÐåçóëüòàòÈíèöèàëèçàöèè == 1) break;
      }
   
   while (true)
      {
      if (FileIsEnding(ÐåçóëüòàòÈíèöèàëèçàöèè)) break; //ýòî ïîñëåäíÿÿ ñòðîêà

      ÈìÿÔàéëà = FileReadString(ÐåçóëüòàòÈíèöèàëèçàöèè); //÷èòàåò äî ðàçäåëèòåëÿ ;
      if (StringLen(ÈìÿÔàéëà) == 0) continue; // ïóñòàÿ ñòðîêà
            
      // Êîëè÷åñòâî ïåðèîäîâ äëÿ âûãðóçêè
      Êîëè÷åñòâîÏåðèîäîâ = 0;
      Comment("×òåíèå \"Îáìåí/"+ÈìÿÔàéëà+".csv\"");
      Òåêñò = Ïðî÷èòàòüÇíà÷åíèå("Îáìåí/"+ÈìÿÔàéëà+".csv",1);
      if (Òåêñò != "-1"                                              // óäàëîñü ïðî÷èòàòü ôàéë 
         && Òåêñò != ""                                              // è â ïåðâîé ñòðîêå åñòü íåêàÿ çàïèñü
         && StringSubstr(Òåêñò,0,21) == "Êîëè÷åñòâî ïåðèîäîâ: ")   // è ýòà çàïèñü - èäåíòèôèêàòîð çàïðîñà ïåðèîäîâ
         {
         Òåêñò = StringSubstr(Òåêñò,21);
         if (Òåêñò == "Âñå")
            {Êîëè÷åñòâîÏåðèîäîâ = 16383;} //ìàêñèìàëüíî âîçìîæíîå êîëè÷åñòâî
         else
            {
            Êîëè÷åñòâîÏåðèîäîâ = StrToInteger(Òåêñò);
            if (Êîëè÷åñòâîÏåðèîäîâ > 16383) Êîëè÷åñòâîÏåðèîäîâ = 16383; //ìàêñèìàëüíîå âîçìîæíîå êîëè÷åñòâî
            } //êîëè÷åñòâî ïåðèîäîâ äëÿ âûãðóçêè
         
         FileDelete("Îáìåí/"+ÈìÿÔàéëà+".csv"); //ôàéë áóäåì ïåðåçàïèñûâàòü, èíà÷å êàæäûé ðàç áóäóò âûãðóæàòüñÿ íåíóæíûå ïåðèîäû
         }
   
      // Ïðåîáðàçóåì èìÿ ôàéëà â êîä èíñòðóìåíòà è ÒÔ
      ÏîçèöèÿÏîèñêà = StringFind(ÈìÿÔàéëà,",");
      ÏîçèöèÿÏîèñêàÐàçäåëèòåëÿ = StringFind(ÈìÿÔàéëà,";");
      if (ÏîçèöèÿÏîèñêà == 0) continue; //ýòî êàêîé-òî íåêîððåêòíûé èäåíòèôèêàòîð
      ÊîäÈíñòðóìåíòà = StringSubstr(ÈìÿÔàéëà,0,ÏîçèöèÿÏîèñêà);
      ÊîäÏåðèîäè÷íîñòè = StringSubstr(ÈìÿÔàéëà,ÏîçèöèÿÏîèñêà+1,ÏîçèöèÿÏîèñêàÐàçäåëèòåëÿ);
      
      Comment("Ïðîâåðêà ôàêòà îáíîâëåíèÿ \""+ÊîäÈíñòðóìåíòà+"\"");
      ÂðåìÿÏîñëåäíåéÊîòèðîâêè = MarketInfo(ÊîäÈíñòðóìåíòà,MODE_TIME);
      if (ÂðåìÿÏîñëåäíåéÊîòèðîâêè == 0) continue; // îáíîâèëàñü äðóãàÿ êîòèðîâêà, èëè èíñòðóìåíò îòñóòñòâóåò â îêíå "Îáçîð ðûíêà". 
      if (ÂðåìÿÎáíîâëåíèÿ != TimeToStr(ÂðåìÿÏîñëåäíåéÊîòèðîâêè,TIME_DATE|TIME_SECONDS)) continue; //îáíîâèëàñü êàêàÿ-òî äðóãàÿ êîòèðîâêà
      
      // Âûãðóæàåì 
      Comment("Çàïèñü "+ÊîäÈíñòðóìåíòà+":"+ÊîäÏåðèîäè÷íîñòè);
      for (Ñ÷åò÷èê=Êîëè÷åñòâîÏåðèîäîâ; Ñ÷åò÷èê >= 0; Ñ÷åò÷èê--) 
         {
         
         ÑòðîêàÊîòèðîâîê = ÂðåìÿÎáíîâëåíèÿ + ";";
         if (ÊîäÏåðèîäè÷íîñòè == "M1")
            {
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + TimeToStr(iTime(ÊîäÈíñòðóìåíòà,   PERIOD_M1, Ñ÷åò÷èê),TIME_DATE|TIME_SECONDS) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iOpen(ÊîäÈíñòðóìåíòà,   PERIOD_M1, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iHigh(ÊîäÈíñòðóìåíòà,   PERIOD_M1, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iLow(ÊîäÈíñòðóìåíòà,    PERIOD_M1, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iClose(ÊîäÈíñòðóìåíòà,  PERIOD_M1, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iVolume(ÊîäÈíñòðóìåíòà, PERIOD_M1, Ñ÷åò÷èê) + ";";
            }
         if (ÊîäÏåðèîäè÷íîñòè == "M5")
            {
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + TimeToStr(iTime(ÊîäÈíñòðóìåíòà,   PERIOD_M5, Ñ÷åò÷èê),TIME_DATE|TIME_SECONDS) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iOpen(ÊîäÈíñòðóìåíòà,   PERIOD_M5, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iHigh(ÊîäÈíñòðóìåíòà,   PERIOD_M5, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iLow(ÊîäÈíñòðóìåíòà,    PERIOD_M5, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iClose(ÊîäÈíñòðóìåíòà,  PERIOD_M5, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iVolume(ÊîäÈíñòðóìåíòà, PERIOD_M5, Ñ÷åò÷èê) + ";";
            }
         if (ÊîäÏåðèîäè÷íîñòè == "M15")
            {
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + TimeToStr(iTime(ÊîäÈíñòðóìåíòà,   PERIOD_M15, Ñ÷åò÷èê),TIME_DATE|TIME_SECONDS) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iOpen(ÊîäÈíñòðóìåíòà,   PERIOD_M15, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iHigh(ÊîäÈíñòðóìåíòà,   PERIOD_M15, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iLow(ÊîäÈíñòðóìåíòà,    PERIOD_M15, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iClose(ÊîäÈíñòðóìåíòà,  PERIOD_M15, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iVolume(ÊîäÈíñòðóìåíòà, PERIOD_M15, Ñ÷åò÷èê) + ";";
            }
         if (ÊîäÏåðèîäè÷íîñòè == "M30")
            {
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + TimeToStr(iTime(ÊîäÈíñòðóìåíòà,   PERIOD_M30, Ñ÷åò÷èê),TIME_DATE|TIME_SECONDS) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iOpen(ÊîäÈíñòðóìåíòà,   PERIOD_M30, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iHigh(ÊîäÈíñòðóìåíòà,   PERIOD_M30, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iLow(ÊîäÈíñòðóìåíòà,    PERIOD_M30, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iClose(ÊîäÈíñòðóìåíòà,  PERIOD_M30, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iVolume(ÊîäÈíñòðóìåíòà, PERIOD_M30, Ñ÷åò÷èê) + ";";
            }
         if (ÊîäÏåðèîäè÷íîñòè == "H1")
            {
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + TimeToStr(iTime(ÊîäÈíñòðóìåíòà,   PERIOD_H1, Ñ÷åò÷èê),TIME_DATE|TIME_SECONDS) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iOpen(ÊîäÈíñòðóìåíòà,   PERIOD_H1, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iHigh(ÊîäÈíñòðóìåíòà,   PERIOD_H1, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iLow(ÊîäÈíñòðóìåíòà,    PERIOD_H1, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iClose(ÊîäÈíñòðóìåíòà,  PERIOD_H1, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iVolume(ÊîäÈíñòðóìåíòà, PERIOD_H1, Ñ÷åò÷èê) + ";";
            }
         if (ÊîäÏåðèîäè÷íîñòè == "H4")
            {
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + TimeToStr(iTime(ÊîäÈíñòðóìåíòà,   PERIOD_H4, Ñ÷åò÷èê),TIME_DATE|TIME_SECONDS) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iOpen(ÊîäÈíñòðóìåíòà,   PERIOD_H4, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iHigh(ÊîäÈíñòðóìåíòà,   PERIOD_H4, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iLow(ÊîäÈíñòðóìåíòà,    PERIOD_H4, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iClose(ÊîäÈíñòðóìåíòà,  PERIOD_H4, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iVolume(ÊîäÈíñòðóìåíòà, PERIOD_H4, Ñ÷åò÷èê) + ";";
            }
         if (ÊîäÏåðèîäè÷íîñòè == "D1")
            {
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + TimeToStr(iTime(ÊîäÈíñòðóìåíòà,   PERIOD_D1, Ñ÷åò÷èê),TIME_DATE|TIME_SECONDS) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iOpen(ÊîäÈíñòðóìåíòà,   PERIOD_D1, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iHigh(ÊîäÈíñòðóìåíòà,   PERIOD_D1, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iLow(ÊîäÈíñòðóìåíòà,    PERIOD_D1, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iClose(ÊîäÈíñòðóìåíòà,  PERIOD_D1, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iVolume(ÊîäÈíñòðóìåíòà, PERIOD_D1, Ñ÷åò÷èê) + ";";
            }
         if (ÊîäÏåðèîäè÷íîñòè == "W1")
            {
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + TimeToStr(iTime(ÊîäÈíñòðóìåíòà,   PERIOD_W1, Ñ÷åò÷èê),TIME_DATE|TIME_SECONDS) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iOpen(ÊîäÈíñòðóìåíòà,   PERIOD_W1, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iHigh(ÊîäÈíñòðóìåíòà,   PERIOD_W1, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iLow(ÊîäÈíñòðóìåíòà,    PERIOD_W1, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iClose(ÊîäÈíñòðóìåíòà,  PERIOD_W1, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iVolume(ÊîäÈíñòðóìåíòà, PERIOD_W1, Ñ÷åò÷èê) + ";";
            }
         if (ÊîäÏåðèîäè÷íîñòè == "MN1")
            {
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + TimeToStr(iTime(ÊîäÈíñòðóìåíòà,   PERIOD_MN1, Ñ÷åò÷èê),TIME_DATE|TIME_SECONDS) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iOpen(ÊîäÈíñòðóìåíòà,   PERIOD_MN1, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iHigh(ÊîäÈíñòðóìåíòà,   PERIOD_MN1, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iLow(ÊîäÈíñòðóìåíòà,    PERIOD_MN1, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iClose(ÊîäÈíñòðóìåíòà,  PERIOD_MN1, Ñ÷åò÷èê) + ";";
            ÑòðîêàÊîòèðîâîê = ÑòðîêàÊîòèðîâîê + iVolume(ÊîäÈíñòðóìåíòà, PERIOD_MN1, Ñ÷åò÷èê) + ";";
            }
         if (StringLen(ÑòðîêàÊîòèðîâîê) <= 20) continue; //ñòðîêà ñîäåðæèò òîëüêî òåêóùåå âðåìÿ = êîòèðîâêè íå çàïîëíåíû / òàêàÿ ïåðèîäè÷íîñòü íå èñïîëüçóåòñÿ 

         Ðåçóëüòàò = GetLastError();
         if (Ðåçóëüòàò != 0) ÎáðàáîòêàÐåçóëüòàòà("Ôîðìèðîâàíèå êîòèðîâîê "+ÊîäÈíñòðóìåíòà);

         Ñ÷åò÷èêÇàöèêëèâàíèÿ = 0;
         while (true)
            {
            Ñ÷åò÷èêÇàöèêëèâàíèÿ++;
            if (Ñ÷åò÷èêÇàöèêëèâàíèÿ == 1000000) break; //îò çàöèêëèâàíèÿ
            
            ÐåçóëüòàòÎáðàáîòêè = ÇàïèñàòüÑòðîêó("Îáìåí/"+ÈìÿÔàéëà+".csv", ÑòðîêàÊîòèðîâîê);
            if (ÐåçóëüòàòÎáðàáîòêè) break;
            }
         Comment("Óñïåøíî çàïèñàí \"Îáìåí/"+ÈìÿÔàéëà+".csv\"");
         }
      
      } //îáðàáîòêà ôàéëà èíèöèàëèçàöèè

   FileClose(ÐåçóëüòàòÈíèöèàëèçàöèè);   

   } //îáðàáîòàëè èçìåíåíèå êîòèðîâîê
   }
     
void ÎáðàáîòêàÐåçóëüòàòà(string Îïåðàöèÿ)
   {
   string ÒåêñòÎøèáêè = GetLastError();
   ÇàïèñàòüÎøèáêó(ÒåêñòÎøèáêè+";"+Îïåðàöèÿ);
   }
   
void ÇàïèñàòüÎøèáêó(string ÒåêñòÎøèáêè)
   {
   bool ÐåçóëüòàòÎáðàáîòêè;
   int Ñ÷åò÷èêÇàöèêëèâàíèÿ = 0;
   
   while (true)
      {
      Ñ÷åò÷èêÇàöèêëèâàíèÿ++;
      if (Ñ÷åò÷èêÇàöèêëèâàíèÿ == 1000000) break; //îò çàöèêëèâàíèÿ
      
      ÐåçóëüòàòÎáðàáîòêè = ÇàïèñàòüÑòðîêó("Îáìåí/! Îøèáêè.csv", TimeToStr(TimeCurrent(),TIME_DATE|TIME_MINUTES) + ";" + ÒåêñòÎøèáêè);
      if (ÐåçóëüòàòÎáðàáîòêè) break; //îøèáêó çàïèñàëè óñïåøíî
      }
   }

Comments