AlanTrade
Интересующийся
Ошибка записи 0
Здравия всем , Господа форумчане.
МТ4 не пишет файл. Открывает файл, выдаёт «Ошибка записи 0», т.е. нет ошибки и закрывает.
С файлами только начал работать. Хэндл какой то странный "1". Элементарная программка, вроде, всё правильно написал, что может быть?
С уважением, А.Н.
Здравия всем , Господа форумчане.
МТ4 не пишет файл. Открывает файл, выдаёт «Ошибка записи 0», т.е. нет ошибки и закрывает.
С файлами только начал работать. Хэндл какой то странный "1". Элементарная программка, вроде, всё правильно написал, что может быть?
С уважением, А.Н.
/+------------------------------------------------------------------+
//| News.mq4 |
//| Copyright 2018 |
//| // |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018"
#property link "//"
#property version "1.00"
#property strict
double arClose[50][2];
string Handle; // Файловый описатель
int i;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
if(!AccountInfoInteger(ACCOUNT_TRADE_EXPERT))
Alert("Автоматическая торговля запрещена для счета ",AccountInfoInteger(ACCOUNT_LOGIN),
" на стороне торгового сервера");
//*************** Заполняем массив
for(i=0; i<50; i++) // Цикл по всему массиву
{
arClose[i,0]=Time;
arClose[i,1]=Close;
Print(arClose[i,0]);
Print(arClose[i,1]);
}//for(i=0; i<50; i++)
Handle=FileOpen("arClose"+TimeToString(arClose[0,0],TIME_DATE|TIME_MINUTES),FILE_WRITE|FILE_CSV,";");//Открытие файла +TimeToString(arClose[0,0])
if(Handle==-1) // Неудача при открытии файла
{
Alert("Ошибка при открытии файла. ",GetLastError());// Сообщение об ошибке
}//if(Handle==-1)
else
{
Alert("Файл открыт. ",Handle);// Сообщение об открытии
}//if(Handle==-1)
for(i=0; i<50; i++) // Цикл по всему массиву
{
if((FileWrite(Handle,arClose[i,0],arClose[i,1]))<0);//Запись в файл
{
Alert("Ошибка записи в файл ",GetLastError());// Сообщение
//FileClose( Handle ); // Закрываем файл
}
}//for(int i=0; i<9000; i++)
FileClose( Handle ); // Закрываем файл
Alert("Файл закріт.");// Сообщение
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
if(!FileIsExist("arClose"+TimeToString(arClose[0,0])))
{
Handle=FileOpen("arClose"+TimeToString(arClose[0,0],TIME_DATE|TIME_MINUTES),FILE_CSV|FILE_WRITE,";");//Открытие файла
if(Handle==-1) // Неудача при открытии файла
{
Alert("Ошибка при открытии файла Deinit. ");// Сообщение об ошибке
}//if(Handle==-1)
for(int i=0; i<50; i++) // Цикл по всему массиву
{
if((FileWrite(Handle,arClose[i,0],arClose[i,1]))< 0);//Запись в файл
{
Alert("Ошибка записи в файл Deinit",GetLastError());// Сообщение
FileClose( Handle ); // Закрываем файл
}
}//for(int i=0; i<9000; i++)
FileClose( Handle ); // Закрываем файл
Alert("Файл создан.");// Сообщение
}// if(FileIsExist())
else Alert("Deinit. Файл существует.");
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
i=0;
}
//+------------------------------------------------------------------+
//| News.mq4 |
//| Copyright 2018 |
//| // |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018"
#property link "//"
#property version "1.00"
#property strict
double arClose[50][2];
string Handle; // Файловый описатель
int i;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
if(!AccountInfoInteger(ACCOUNT_TRADE_EXPERT))
Alert("Автоматическая торговля запрещена для счета ",AccountInfoInteger(ACCOUNT_LOGIN),
" на стороне торгового сервера");
//*************** Заполняем массив
for(i=0; i<50; i++) // Цикл по всему массиву
{
arClose[i,0]=Time;
arClose[i,1]=Close;
Print(arClose[i,0]);
Print(arClose[i,1]);
}//for(i=0; i<50; i++)
Handle=FileOpen("arClose"+TimeToString(arClose[0,0],TIME_DATE|TIME_MINUTES),FILE_WRITE|FILE_CSV,";");//Открытие файла +TimeToString(arClose[0,0])
if(Handle==-1) // Неудача при открытии файла
{
Alert("Ошибка при открытии файла. ",GetLastError());// Сообщение об ошибке
}//if(Handle==-1)
else
{
Alert("Файл открыт. ",Handle);// Сообщение об открытии
}//if(Handle==-1)
for(i=0; i<50; i++) // Цикл по всему массиву
{
if((FileWrite(Handle,arClose[i,0],arClose[i,1]))<0);//Запись в файл
{
Alert("Ошибка записи в файл ",GetLastError());// Сообщение
//FileClose( Handle ); // Закрываем файл
}
}//for(int i=0; i<9000; i++)
FileClose( Handle ); // Закрываем файл
Alert("Файл закріт.");// Сообщение
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
if(!FileIsExist("arClose"+TimeToString(arClose[0,0])))
{
Handle=FileOpen("arClose"+TimeToString(arClose[0,0],TIME_DATE|TIME_MINUTES),FILE_CSV|FILE_WRITE,";");//Открытие файла
if(Handle==-1) // Неудача при открытии файла
{
Alert("Ошибка при открытии файла Deinit. ");// Сообщение об ошибке
}//if(Handle==-1)
for(int i=0; i<50; i++) // Цикл по всему массиву
{
if((FileWrite(Handle,arClose[i,0],arClose[i,1]))< 0);//Запись в файл
{
Alert("Ошибка записи в файл Deinit",GetLastError());// Сообщение
FileClose( Handle ); // Закрываем файл
}
}//for(int i=0; i<9000; i++)
FileClose( Handle ); // Закрываем файл
Alert("Файл создан.");// Сообщение
}// if(FileIsExist())
else Alert("Deinit. Файл существует.");
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
i=0;
}
//+------------------------------------------------------------------+
Вложения
Последнее редактирование модератором: