Попробуйте сразу закрыть файл после записи.
//+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { EventSetTimer(5); file_handle=FileOpen(InpDirectoryName+"//"+InpFileName, FILE_READ|FILE_WRITE|FILE_TXT); if(file_handle!=INVALID_HANDLE) { FileWrite(file_handle, 12+"\r\n"); for(int i=0; i<12; i++) FileWrite(file_handle, i+"fdfdfdfdffdf"); } FileClose(file_handle); // TODO //--- return INIT_SUCCEEDED; }
У меня вот тут он появился:
C:\Users\Admin\AppData\Roaming\MetaQuotes\Tester\xxx\Agent-127.0.0.1-3000\MQL5\Files\Data\muy3.csv
Отладка на истории.
Согласно Документации:
...По умолчанию все файловые операции в языке MQL5 производятся в пределах "файловой песочницы" и при тестировании эксперту доступна только собственная "файловая песочница". Для того чтобы индикатор и эксперт при тестировании работали с файлами из одной папки, использовался флаг FILE_COMMON...

Документация по MQL5: Программы MQL5 / Тестирование торговых стратегий
- www.mql5.com
Тестирование торговых стратегий - Программы MQL5 - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Denis Kirichenko #:
Спасибо.
Попробуйте сразу закрыть файл после записи.
У меня вот тут он появился:
C:\Users\Admin\AppData\Roaming\MetaQuotes\Tester\xxx\Agent-127.0.0.1-3000\MQL5\Files\Data\muy3.csv
Отладка на истории.
Согласно Документации:
Denis Kirichenko #:
Попробуйте сразу закрыть файл после записи.
У меня вот тут он появился:
C:\Users\Admin\AppData\Roaming\MetaQuotes\Tester\xxx\Agent-127.0.0.1-3000\MQL5\Files\Data\muy3.csv
Отладка на истории.
Согласно Документации:
Спасибо! Заработало с FILE_COMMON

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Добрый день.
Столкнулся с любопытной проблемой.
Немного истории, для понимания.
В ходе отладки работы советника возникла необходимость записывать ряд значений, используемых для инициации некоторых функций. Отладку запускал в режиме исторических данных. Но, несмотря на то, что FileOpen получал хэндлер файла, FileWrite отрабатывал процедуру записи без выдачи ошибки, и даже FileClose отладка проходила без сбоев, файл логов не возникал после окончания работы советника.
Начал разбираться с простыми примерами.
Заметил закономерность. Если запускать отладку на реальных данных, то советник отрабатывает, файл создается, в него записываются данные. Файл появляется в ожидаемом месте.
Если запускать в режиме отладки на исторических данных, происходит ровно то-же самое за исключением последнего пункта. Файл не появляется.
Есть какие-то незадокументированные особенности работы с файлами в режиме отладки на исторических данных?