
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Это секция, которая открывает файл и закрывает файл:
Я использую стандартные файловые функции MQL4, а не вызовы DLL.
Не могли бы вы добавить следующее и сообщить, что получилось на выходе, пожалуйста. ...
Вы подтвердили, что файл существует в правильной директории? Он больше не должен находиться в experts\files. ... он должен быть в MQL4\Files вы можете найти правильную папку MQL4 в MT4, нажав Файл > Открыть папку данных
Orderticket - это int, StringLen ожидает строку
поэтому если количество цифр < 7 (как в тестере), вызов не работает. > 7 ведущие цифры удаляются?
Попытка IntegerToString( OrderTicket(), 7, '0') + ".DAT" // 12345 -> 0012345.DAT
Можете ли вы добавить следующее и сообщить о результате, пожалуйста. ...
Вы убедились, что файл существует в правильном каталоге? Он больше не должен находиться в experts\files. ... он должен быть в MQL4\Files Вы можете найти правильную папку MQL4 в MT4, нажав Файл > Открыть папку данных.
Можете ли вы добавить следующее и сообщить о результате, пожалуйста. ...
Вы убедились, что файл существует в правильной директории? Он больше не должен находиться в experts\files. ... он должен быть в MQL4\Files вы можете найти правильную папку MQL4 в MT4, нажав Файл > Открыть папку данных
Уважаемый RaptorUK,
Здесь я прикрепил файл из журнала после выполнения оператора Print.
Я знаю, что структура папок была изменена в сборке 610. Но тогда клиентская программа терминала должна настроить ее автоматически, потому что я использую папки по умолчанию.
Спасибо за помощь.
Orderticket - это int, StringLen ожидает строку
поэтому если количество цифр < 7 (как в тестере), вызов не работает. > 7 ведущие цифры удаляются?
Попытка IntegerToString( OrderTicket(), 7, '0') + ".DAT" // 12345 -> 0012345.DAT
Уважаемый WHRoder,
Я попробовал ваше предложение, и оно все еще дает мне тот же код ошибки: 5004. Вы указали хорошую информацию, что orderticket возвращает int. Но тогда старая клиентская терминальная программа (билд 580 какой-то) не выдавала ни ошибки компиляции, ни ошибки времени выполнения. Этот код ошибки 5004, как я уже говорил, не влияет на производительность моего советника. Мой советник по-прежнему может открывать и закрывать позиции в правильном состоянии.
Я использую каталог по умолчанию, я не указываю конкретный каталог. Я вижу, что файлы есть, но все равно не удается их открыть. Чтобы добавить больше путаницы, он не отказывает все время. В большинстве случаев файл удается открыть. Я добавил еще одно условие, чтобы проверить, удастся ли ему открыть файл. Процент успеха составляет примерно 10 : 1, где 1 - это неудача при открытии файла.
Спасибо за помощь в любом случае.
какую версию вы используете
И, возможно, это проблема UAC
Как сказал WHRoeder выше... если вы используете тестер и он не использует номер билета, который содержит по крайней мере 7 цифр, то вы просите его искать подстроку, начинающуюся с позиции 6 минус 7(ticketString-7) или -1... что заставит его упасть. Также вы упомянули папку "по умолчанию".
Папка "по умолчанию" изменилась по сравнению с тем, какой она была раньше. Я вынужден предположить, что когда вы говорите "по умолчанию", вы имеете в виду новую папку "по умолчанию" в Mql4/files, а не старую experts/files.
Убедитесь, что вы воспользовались предложением выше и использовали файл>Открыть папку данных и посмотрели в фактическое местоположение, которое использует ваша платформа. Она может находиться в users/appdata, если вы используете UAC, как уже было предложено... и это нормально, если вы знаете об этом и корректируете пути соответственно, если это необходимо.
Если торговля ведется правильно, очевидно, что эта часть кода предназначена только для ведения записей и журналов, а не является неотъемлемой частью стратегии. Надеюсь, некоторые из этих предложений помогут вам запустить стратегию без ошибок. Добро пожаловать на форум!
PipPip... Jimdandy
какую версию вы используете
И, возможно, это проблема UAC
Текущий клиентский терминал, который я использую - сборка 610.
Как сказал WHRoeder выше... если вы используете тестер и он не использует номер билета, который содержит по крайней мере 7 цифр, то вы просите его искать подстроку, начинающуюся с позиции 6 минус 7(ticketString-7) или -1... что заставит его упасть. Также вы упомянули папку "по умолчанию".
Папка "по умолчанию" изменилась по сравнению с тем, какой она была раньше. Я вынужден предположить, что когда вы говорите "по умолчанию", вы имеете в виду новую папку "по умолчанию" в Mql4/files, а не старую experts/files.
Убедитесь, что вы воспользовались предложением выше и использовали файл>Открыть папку данных и посмотрели в фактическое местоположение, которое использует ваша платформа. Она может находиться в users/appdata, если вы используете UAC, как уже было предложено... что вполне нормально, если вы знаете об этом и корректируете пути соответственно, если это необходимо.
Если торговля ведется правильно, очевидно, что эта часть кода предназначена только для ведения записей и журналов, а не является неотъемлемой частью стратегии. Надеюсь, некоторые из этих предложений помогут вам запустить стратегию без ошибок. Добро пожаловать на форум!
PipPip... Jimdandy
Как я уже ответил WHRoeder, я последовал его предложению, но он все еще дает мне тот же код ошибки 5004.
Что касается папки по умолчанию, я знаю, что структура папок изменилась в билде 610. Я перекомпилировал свой советник и никогда не указывал свои собственные папки. Поэтому я предположил, что советник будет создавать и искать DAT-файлы в папках по умолчанию клиентского терминала. И подтвердилось, что большую часть времени FILEOPEN работает успешно. Только в 10% случаев это утверждение терпит неудачу. (Я использую простой оператор if для проверки успешности).
Будьте здоровы,
Уважаемый RaptorUK,
Здесь я прикрепил файл из журнала, следующего за операцией Print.
Я знаю, что структура папок была изменена в сборке 610. Но тогда программа терминального клиента должна настроить ее автоматически, поскольку я использую папки по умолчанию.
Спасибо за помощь.
Не было прикрепленного файла...
Вы убедились, что файл, из которого вы пытаетесь прочитать, действительно существует? Пожалуйста, посмотрите в нужной папке и проверьте... И еще одно, почему у вас есть функция filewriting() для чтения из файла?