Вопрос программистам MQL4. Файловые операции. Робот не читает файл данных .csv ?

 

Добрый день.

Прописал в роботе открытие файла c расширением .csv для чтения, но он его не читает. Файл создан из таблицы Exel.

   По команде:      Alert("Ошибка при открытии файла: ", File_Name);    Print("Код ошибки : ",GetLastError()); 

Пишет:  Ошибка при открытии файла: ...   Код ошибки: 0

Прописал этот файл во всех директориях:

 Каталог терминала\Experts \History\<текущий брокер>\ - для файлов истории;

- Каталог_терминала\Experts \Files\ - для общего случая;

- Каталог терминала\Tester\ Files\ - для файлов, используемых при тестировании.

- Каталог \Terminal\Common\Files

Прописал ему все флаги:  FILE_CSV|FILE_READ|FILE_COMMON  и все-равно выдаёт ошибку по коду: 0

Не могу понять, что нужно ещё сделать ? Спасибо.




 

Забыли самое очевидное, то, что описано в документации: MQL5\Files. Только тогда нужно флаг FILE_COMMON убрать.

И еще непонятно, чем не нравится код ошибки 0? Ведь это означает успешное выполнение.

 
Ihor Herasko #:

Забыли самое очевидное, то, что описано в документации: MQL5\Files. Только тогда нужно флаг FILE_COMMON убрать.

И еще непонятно, чем не нравится код ошибки 0? Ведь это означает успешное выполнение.

Пробовал без флага  FILE_COMMON  и тоже не работает. Но Вашу мысль понял. 

Вероятно где-то из цикла не выходит, а файл прописан верно. Ладно. Посмотрю код. Большое спасибо ! ))

Документация по MQL5: Константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов
Документация по MQL5: Константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов
  • www.mql5.com
Флаги открытия файлов - Константы ввода/вывода - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Aleksandr Milyayev:

Добрый день.

Прописал в роботе открытие файла c расширением .csv для чтения, но он его не читает. Файл создан из таблицы Exel.

   По команде:      Alert("Ошибка при открытии файла: ", File_Name);    Print("Код ошибки : ",GetLastError()); 

Пишет:  Ошибка при открытии файла: ...   Код ошибки: 0

Прописал этот файл во всех директориях:

 Каталог терминала\Experts \History\<текущий брокер>\ - для файлов истории;

- Каталог_терминала\Experts \Files\ - для общего случая;

- Каталог терминала\Tester\ Files\ - для файлов, используемых при тестировании.

- Каталог \Terminal\Common\Files

Прописал ему все флаги:  FILE_CSV|FILE_READ|FILE_COMMON  и все-равно выдаёт ошибку по коду: 0

Не могу понять, что нужно ещё сделать ? Спасибо.

Не все

FILE_WRITE|FILE_CSV|FILE_ANSI
 
Vitaly Muzichenko #:

Не все

Спасибо, Виталий. Да, этот параметр ANSI тоже указал. И что-то не пошло опять. Вероятно, что из Exel в .CSV нужно сохранять файл с другими настройками. Но в итоге решил задачу путем объявления двухмерного массива. Занес в него все исходные параметры (из WORD скопировал). Сейчас все читает, обрабатывает без проблем. Кстати, в учебнике Ковалева по MQL нашел ошибку.    // К слову сказать - я с большим уважением к самому Сергею.

Причина обращения: