Как открыть файл Excel csv

 
Необходимо открыть файл Excel формата csv и получить от туда данные. Нашел на форуме подобные вопросы, но так и не получилось открыть по ним. 
int filehandle=FileOpen("1.txt",FILE_CSV|FILE_READ,";");
if(filehandle!=INVALID_HANDLE)
   Alert("Файл открыт");

Код простой. И почему после различных отладок файл из папки в тестере всегда удаляется? В файле находятся данные через ";"
Файлы:
1.txt  12 kb
 

Справка:

Все тестерные агенты изолированы друг от друга и от клиентского терминала: у каждого  агента есть собственная папка, в которую записываются логи агента. Кроме того, все файловые операции при тестирования агента происходят в папке имя_агента/MQL5/Files. Однако можно реализовать взаимодействие между локальными агентами и клиентским терминалом через общую папку всех клиентских терминалов, если при открытии файла указать флаг FILE_COMMON


Таким образом, если Вы запускаете отладку на истории ("Ctrl" + "F5") или запускаете тестер стратегий (из терминала) - то и свой файл для тестов нужно положить в папку имя_агента/MQL5/Files.

 
Vladimir Karputov:

Справка:

Все тестерные агенты изолированы друг от друга и от клиентского терминала: у каждого  агента есть собственная папка, в которую записываются логи агента. Кроме того, все файловые операции при тестирования агента происходят в папке имя_агента/MQL5/Files. Однако можно реализовать взаимодействие между локальными агентами и клиентским терминалом через общую папку всех клиентских терминалов, если при открытии файла указать флаг FILE_COMMON


Таким образом, если Вы запускаете отладку на истории ("Ctrl" + "F5") или запускаете тестер стратегий (из терминала) - то и свой файл для тестов нужно положить в папку имя_агента/MQL5/Files.


Да, я данным вопросом уже занимался. Папку я перепутать не мог. Есть скрипт, который открывает файл для записи и если файла нету, создает в этой же папке. Да и всё равно я кинул и в папку Files, где терминал, и в папку Files где tester. 
Примерный ход действий :

Файл есть в папке. 

Данные файла

Код советника

Результат -1 = Ошибка открытия файла

Файл в папке удаляется после отладки

 
Fresto:

Да, я данным вопросом уже занимался. Папку я перепутать не мог. Есть скрипт, который открывает файл для записи и если файла нету, создает в этой же папке. Да и всё равно я кинул и в папку Files, где терминал, и в папку Files где tester. 
Примерный ход действий :

Файл есть в папке. 

Данные файла

Код советника

Результат -1 = Ошибка открытия файла

Файл в папке удаляется после отладки


Код из первого поста - рабочий. Всё дело в том, КАК вы запускаете свой код и ГДЕ лежит файл "Si.txt".

В общем разместите свой файл в общей папке, а для открытия пользуйте флаг FILE_COMMON.

 
Vladimir Karputov:

Код из первого поста - рабочий. Всё дело в том, КАК вы запускаете свой код и ГДЕ лежит файл "Si.txt".

В общем разместите свой файл в общей папке, а для открытия пользуйте флаг FILE_COMMON.


Спасибо за флаг FILE_COMMON, проблема была с папкой, но странно, что такая ошибка. Потому что, в аналогичном советнике файл открывается и создается именно в папке tester/...../MQL5/Files/

 
Fresto:

***


Вставьте этот код - он много прояснит о папках

   Print("TERMINAL_PATH = ",TerminalInfoString(TERMINAL_PATH)); 
   Print("TERMINAL_DATA_PATH = ",TerminalInfoString(TERMINAL_DATA_PATH)); 
   Print("TERMINAL_COMMONDATA_PATH = ",TerminalInfoString(TERMINAL_COMMONDATA_PATH)); 

при различных запусках (обычным накидыванием на график, запуск в тестере ...)

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