Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Не было прикрепленного файла...
Вы подтвердили, что файл, из которого вы пытаетесь считать, действительно существует? Пожалуйста, загляните в нужную папку и проверьте... И еще одно, почему у вас есть функция filewriting() для READ из файла?
Уважаемый RaptorUK,
Да, я могу подтвердить, что файл DAT находится в папке MQL4/files. На самом деле, я сообщил, что я поставил условие, удастся ли открыть файл, и это удается в большинстве случаев (90%), а 10% не удается открыть и выдает код ошибки 5004.
Функция filewriting() вызывается при неудачном открытии файла. Затем функция filewriting пытается создать файл (открыть для записи) и в конце функции выполняет закрытие файла.
Я приложил файл из оператора Print() из папки MQL4\logs. Я нажал на кнопку "Choose File" и увидел, что имя файла отображается.
С теплыми пожеланиями,
Raisingfire
Уважаемый RaptorUK,
Да, я могу подтвердить, что файл DAT находится в папке MQL4/files. Фактически, я сообщил, что поставил условие, удастся ли открыть файл, и это удается в большинстве случаев (90%), а 10% не удается открыть и выдает код ошибки 5004.
Функция filewriting() вызывается при неудачном открытии файла. Затем функция filewriting пытается создать файл (открыть для записи) и в конце функции выполняет закрытие файла.
Я приложил файл из оператора Print() из папки MQL4\logs. Я нажал на кнопку "Choose File" и увидел, что имя файла отображается.
С теплыми пожеланиями,
Raisingfire
Откуда берутся эти файлы? Что их пишет?
Уважаемый RaptorUK,
Все файлы DAT предназначены для временного хранения начальных значений определенных индикаторов каждый раз, когда мы открываем позицию. Мы создали и использовали их в наших программах.
Для открытия файла для записи мы используем стандартную функцию:
fhandle=FileOpen(mf, FILE_BIN|FILE_WRITE);
Стандартная запись массива в временные файлы (DAT) :
FileWriteArray(fhandle, mpara, 0, maxori); // где mpara - массив, Maxori - максимальный размер массива.
Стандартная функция закрытия файла:
FileClose(fhandle);
Спасибо за помощь.
С уважением,
Raisingfire
Уважаемый RaptorUK,
Все файлы DAT предназначены для временного хранения начальных значений определенных индикаторов каждый раз, когда мы открываем позицию. Мы создали и использовали их в наших программах.
Для открытия файла для записи мы используем стандартную функцию:
fhandle=FileOpen(mf, FILE_BIN|FILE_WRITE);
Стандартная запись массива в временные файлы (DAT) :
FileWriteArray(fhandle, mpara, 0, maxori); // где mpara - массив, Maxori - максимальный размер массива.
Стандартная функция закрытия файла:
FileClose(fhandle);
Хорошо, но вы не ответили на мой вопрос... они написаны тем же экспертом, который пытается их прочитать? или другим экспертом, скриптом или индикатором?
Хорошо, но вы не ответили на мой вопрос... они написаны тем же экспертом, который пытается их прочитать? или другим экспертом, скриптом или индикатором?
Функция записи файлов находится в одном и том же советнике. Каждый раз, когда мы выпускаем "FILEOPEN", мы всегда следуем за ним "FILECLOSE" после того, как мы выполняем определенную задачу с ним. Так что, я не думаю, что есть проблема с заблокированным файлом, который пытаются открыть.
Давным-давно у нас была подобная проблема, когда заблокированный файл пытались прочитать. И MT4 автоматически сообщал об этом в своем лог-файле. Таким образом, через 1-2 дня папки Logs и history становились огромными по размеру (сотни мегабайт), заполненными этими отчетами. Тогда мы выдавали FILECLOSE каждый раз, когда делали FILEOPEN. Проблема была решена, и папки журналов и истории больше не становились огромными. Теперь папки журналов и истории вместе взятые содержат только менее 100 Кбайт (несмотря на код ошибки 5004, который постоянно выскакивает).
Спасибо,
Raisingfire
Функция записи файлов находится все в том же советнике. Каждый раз, когда мы выпускаем "FILEOPEN", мы всегда следуем за ним "FILECLOSE" после выполнения определенной задачи с ним. Так что, я не думаю, что есть проблема с заблокированным файлом, который пытаются открыть.
Давным-давно у нас была подобная проблема, когда заблокированный файл пытались прочитать. И MT4 автоматически сообщал об этом в своем лог-файле. Таким образом, через 1-2 дня папки Logs и history становились огромными по размеру (сотни мегабайт), заполненными этими отчетами. Тогда мы выдавали FILECLOSE каждый раз, когда делали FILEOPEN. Проблема была решена, и папки журналов и истории больше не становились огромными. Теперь папки журналов и истории вместе взятые содержат всего менее 100 Кбайт (несмотря на постоянно появляющийся код ошибки 5004).
Хорошо, спасибо за информацию. У меня нет идей ... все, что я могу предложить сейчас, это создать тестовый советник, воспроизводящий проблему, который вы можете опубликовать здесь и отправить в MetaQuotes как часть тикета Service Desk и попросить их провести расследование.
Уважаемый RaptorUK,
Спасибо за всю вашу помощь и информацию в любом случае. Я постараюсь сделать то, что вы мне сказали.
Еще раз спасибо.
С уважением,
Уважаемый RaptorUK,
Спасибо за всю вашу помощь и информацию в любом случае. Я попробую сделать то, что вы мне сказали.
Еще раз спасибо.
С уважением,
Есть ли решение для ошибки 5004? Я получаю такое же сообщение об ошибке при попытке записи в файл.
Я нахожусь на сборке 765.
Ваша помощь будет очень признательна.