Тестирую советник в МТ5. В процессе работы он создаёт и по ходу торговли модифицирует файлы. При повторном тестировании созданные файлы (они должны быть исходными) стираются и создаются заново. Это не ошибка советника, стираются все файлы из рабочего каталога. Пробовал и в текущей папке (...Tester\Agent-127.0.0.1-3000\MQL5\Files) и в общей (...AppData\Roaming\MetaQuotes\Terminal\Common\Files). Очень неожиданная неприятность, в МТ4 такого не было. Как решить данный вопрос, ведь в МТ5 можно работать только в "песочнице", убрали возможность явно задавать сторонний путь.
Может быть в рабочем режиме при запуске советника файлы стираться не будут, но как отлаживать советник?
А где это в агент-папке вдруг появилась папка MQL5 да ещё и с вложенной в неё папкой Files?
И разве была когда-то возможность писать файлы в сторонний путь???
Чтобы файлы не переписывались открывать их надо с флагами чтение и запись, а не только запись.
А где это в агент-папке вдруг появилась папка MQL5 да ещё и с вложенной в неё папкой Files?
И разве была когда-то возможность писать файлы в сторонний путь???
Чтобы файлы не переписывались открывать их надо с флагами чтение и запись, а не только запись.
1. Есть такая папка :). Она появляется, когда пишешь в файл. Дистрибутив МТ5 от binary.com я недавно скачал ещё изучаю. Заодним и переписал свой старый советник с МТ4. Получил такую проблемку. А старый советник пишет файлы туда, куда я напишу. Единственно, что необходимо пописать полный путь с именем диска.
2. Открываю файлы с флагами: FILE_READ|FILE_WRITE|FILE_BIN|FILE_COMMON .Это файл для записи структуры. Второй проще, текстовый. Пробовал и с флагом FILE_COMMON и без него, результат одинаковый.
1. Есть такая папка :). Она появляется, когда пишешь в файл. Дистрибутив МТ5 от binary.com я недавно скачал ещё изучаю. Заодним и переписал свой старый советник с МТ4. Получил такую проблемку. А старый советник пишет файлы туда, куда я напишу. Единственно, что необходимо пописать полный путь с именем диска.
2. Открываю файлы с флагами: FILE_READ|FILE_WRITE|FILE_BIN|FILE_COMMON .Это файл для записи структуры. Второй проще, текстовый. Пробовал и с флагом FILE_COMMON и без него, результат одинаковый.
Выдержка из документации
Примечание
Из соображений безопасности в языке MQL5 строго контролируется работа с файлами. Файлы, с которыми проводятся файловые операции средствами языка MQL5, не могут находиться за пределами файловой "песочницы".
Так было всегда. И в mql4 тоже. Мне почему-то больше нравится писать в общую папку. От 6** билда МТ4 и не искал никогда куда будет писать из тестера если не использовать FILE_COMMON.
Может не перемещается указатель в конец файла? Потому и перезаписывает файл...

- www.mql5.com
Выдержка из документации
Так было всегда. И в mql4 тоже. Мне почему-то больше нравится писать в общую папку. От 6** билда МТ4 и не искал никогда куда будет писать из тестера если не использовать FILE_COMMON.
Может не перемещается указатель в конец файла? Потому и перезаписывает файл...
1. Проверил. Действительно в последнем билде МТ4 тот мой старый советник не пишет файлы. Давно этим не пользовался и не обратил внимания когда это запретили. Я старым советником уже несколько лет не пользуюсь. Это уже неважно. Я тоже пришёл к выводу, что надо использовать COMMON, единственно, что будет неудобно, это искать эти файлы сторонними программами, особенно на виртуальных серверах.
2. Указатель я перемещаю нормально, ведь пока советник работает у меня записи дописываются (они пишутся по одной). Я пробовал в эту папку FILES просто левые файлы копировать. Агент при пуске всю папку чистит. В папке COMMON этой проблемы нет, буду пользоваться ей. Спасибо за подсказку.
И ещё одна недоработка в MQL5 - если я при тестировании нажимаю кнопку "Стоп", то DELINIT() не выполняется и я не получаю итоговую статистику. В MQL4 такой ошибки нет, я этим постоянно пользуюсь.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Тестирую советник в МТ5. В процессе работы он создаёт и по ходу торговли модифицирует файлы. При повторном тестировании созданные файлы (они должны быть исходными) стираются и создаются заново. Это не ошибка советника, стираются все файлы из рабочего каталога. Пробовал и в текущей папке (...Tester\Agent-127.0.0.1-3000\MQL5\Files) и в общей (...AppData\Roaming\MetaQuotes\Terminal\Common\Files). Очень неожиданная неприятность, в МТ4 такого не было. Как решить данный вопрос, ведь в МТ5 можно работать только в "песочнице", убрали возможность явно задавать сторонний путь.
Может быть в рабочем режиме при запуске советника файлы стираться не будут, но как отлаживать советник?