Скачать MetaTrader 5

В режиме тестирования mql5 работает только запись в файл, чтение не работает!!

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Миллиард задач уже выполнено в MQL5 Cloud Network. Тестируй роботов еще быстрее!
Evgeniy Scherbina
2131
Evgeniy Scherbina 2016.08.18 11:29 

Вот то, что работает В РЕЖИМЕ ТЕСТИРОВАНИЯ:

ResetLastError(); 

int handle = FileOpen("ну-хде-ты-там.csv", FILE_READ | FILE_WRITE | FILE_CSV); 

if(handle != INVALID_HANDLE){
  Print("FileOpen OK");
  FileWrite(handle, "да здеся я на");
  
}else Print("Операция FileOpen неудачна, ошибка ",GetLastError()); 

FileClose(handle);

 Потом я удаляю флаг FILE_WRITE, то есть пытаюсь прочитать созданный файл, но получаю ошибку 5004.

Объясните пож-та люди добрые,

как прочитать файл в режиме тестирования в MQL5 ??? 

Evgeniy Scherbina
2131
Evgeniy Scherbina 2016.08.18 11:31  
Кстати, сразу после второго запуска теста (то есть чтобы прочитать файл) файл исчезает. И фсе.
Andrey Barinov
39240
Andrey Barinov 2016.08.18 11:31  
evgeniy scherbina:

Вот то, что работает В РЕЖИМЕ ТЕСТИРОВАНИЯ:

 Потом я удаляю флаг FILE_WRITE, то есть пытаюсь прочитать созданный файл, но получаю ошибку 5004.

Объясните пож-та люди добрые,

как прочитать файл в режиме тестирования в MQL5 ??? 

Только флаг убрать мало. Надо еще и функцию правильную использовать. FileRead()
Vladimir Karputov
Модератор
45783
Vladimir Karputov 2016.08.18 11:31  
evgeniy scherbina:

Вот то, что работает В РЕЖИМЕ ТЕСТИРОВАНИЯ:

 Потом я удаляю флаг FILE_WRITE, то есть пытаюсь прочитать созданный файл, но получаю ошибку 5004.

Объясните пож-та люди добрые,

как прочитать файл в режиме тестирования в MQL5 ??? 

Уточните: прочитать в чём? Из Вашей программы, которая запущена в тестере или прочесть файл сторонней программой?
Evgeniy Scherbina
2131
Evgeniy Scherbina 2016.08.18 11:37  

Ну фсе, набежали самые умные. Уж простите за сарказм. Я не пытаюсь сделать ничего странного. Я пытаюсь только прочитать файл. И он не читается.

Что за функция FileRead() и как ее использовать?? Для начала нужно открыть файл, нет не так??

После записи я открываю файл в блокноте, все чики-пуки. 

Vladimir Karputov
Модератор
45783
Vladimir Karputov 2016.08.18 11:41  
evgeniy scherbina:

Ну фсе, набежали самые умные. Уж простите за сарказм. Я не пытаюсь сделать ничего странного. Я пытаюсь только прочитать файл. И он не читается.

Что за функция FileRead() и как ее использовать?? Для начала нужно открыть файл, нет не так??

После записи я открываю файл в блокноте, все чики-пуки. 

Что именно Вы хотите сделать?

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

В режиме тестирования mql5 работает только запись в файл, чтение не работает!!

Karputov Vladimir, 2016.08.18 11:31

Уточните: прочитать в чём? Из Вашей программы, которая запущена в тестере или прочесть файл сторонней программой, в то время как Ваша программа работает в тестере?

Evgeniy Scherbina
2131
Evgeniy Scherbina 2016.08.18 11:50  
Karputov Vladimir:

Что именно Вы хотите сделать?


Все mql5, никаких сторонних программ. Я хочу сделать вот это:

ResetLastError(); 

int handle = FileOpen("ну-хде-ты-там.csv", FILE_READ | FILE_CSV); 

if(handle != INVALID_HANDLE){
  Print("FileOpen OK");
  
}else Print("Операция FileOpen неудачна, ошибка ",GetLastError()); 

FileClose(handle);

И получаю ошибку 5004, хотя файл я вижу. Могу открыть его в блокноте, посмотреть что там. Потом закрыть, запустить второй тест, чтобы прочитать его из mql5. И получаю ошибку 5004 - "ошибка открытия файла". Сразу после запуска теста файл исчезает. То есть он как-то все же был найден, но не прочитан.

Я намекаю на то, что чтение в режиме тестировании в mql5 не работает!!! 

Evgeniy Scherbina
2131
Evgeniy Scherbina 2016.08.18 11:58  
Alexey Viktorov:

А эта строка

остаётся?

Я пропустил этот вопрос
Alexey Viktorov
6829
Alexey Viktorov 2016.08.18 12:00  
evgeniy scherbina:
Я пропустил этот вопрос
А я увидел что этой строки в последнем посте нет и удалил свой вопрос... Когда успел процитировать:))))
Vladimir Karputov
Модератор
45783
Vladimir Karputov 2016.08.18 12:04  
evgeniy scherbina:

Все mql5, никаких сторонних программ. Я хочу сделать вот это:

И получаю ошибку 5004, хотя файл я вижу. Могу открыть его в блокноте, посмотреть что там. Потом закрыть, запустить второй тест, чтобы прочитать его из mql5. И получаю ошибку 5004 - "ошибка открытия файла". Сразу после запуска теста файл исчезает. То есть он как-то все же был найден, но не прочитан.

Я намекаю на то, что чтение в режиме тестировании в mql5 не работает!!! 

А файл-то, перед запуском тестирования и попыткой чтения (FILE_READ), существует в папке /Files?
Evgeniy Scherbina
2131
Evgeniy Scherbina 2016.08.18 12:04  

Вот новые подробности.

Первый способ:

Запускаю тест. Останавливаю тест. Не закрываю терминал тестера. Запускаю второй тест. Файл читается!!!

Но получается, что для прочтения этого файла, нужно чтобы он был создан в первом тесте, и при этом терминал тестера не закрывался Б. 

Второй способ:

Запускаю тест. Останавливаю тест. Закрываю терминал тестера. Запускаю второй тест. Файл не читается!!! 

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий