#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