Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 353
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я не понял. Эта опция указывает на местоположение файла - \\MetaQuotes\Terminal\Common. Без этой опции я не смогу взять файл, который сформировался в тестере. Без этой опции файл будет искаться в MQL4\Files - а туда файл из тестера я не смогу положить.
Именно на отсутствие этого флага я указал.
Именно на отсутствие этого флага я указал.
Спасибо за помощь - это просто опечатка - я этот флаг знаю. Проблема не решена - файл не хочет открываться в режиме общего чтения - даже без использования тестера. Пока этот файл открыт индикатором - скрипт не может его открыть. А вот Блокнот открывает его без проблем.
Спасибо за помощь - это просто опечатка - я этот флаг знаю. Проблема не решена - файл не хочет открываться в режиме общего чтения - даже без использования тестера. Пока этот файл открыт индикатором - скрипт не может его открыть. А вот Блокнот открывает его без проблем.
Попробуй периодически принудительно скидывать данные на диск FileFlush().
зы: вот ещё что заметил не сразу
tvv:
ExtHandle=FileOpen(c_symbol+(string)20+".csv",FILE_BIN|FILE_WRITE|FILE_SHARE_WRITE|FILE_READ|FILE_SHARE_READ|FILE_COMMON);
Файл в скрипте открыт так: ExtHandleR=FileOpen("EURUSD20.csv",FILE_BIN|FILE_READ|FILE_SHARE_READ);
Прошу указать на мою ошибку.
Попробуй периодически принудительно скидывать данные на диск FileFlush().
зы: вот ещё что заметил не сразу
Странно что читает. Должен быть флаг FILE_CSV.CSV - это расширение файла - оно может быть любое - я выбрал такое, чтобы можно было в Блокноте смотреть. Вот интересная статья - https://www.mql5.com/ru/articles/2720. Мой код соответствует правилам, которые там описаны - но не могу прочитать файл программно. в режиме FILE_SHARE_READ. Для файла EURUSD20.HST с расширением .HST - флаг должен быть FILE.BIN, так чтобы в МТ4 файл можно было открыть автономно.
.CSV - это расширение файла - оно может быть любое - я выбрал такое, чтобы можно было в Блокноте смотреть. Вот интересная статья - https://www.mql5.com/ru/articles/2720. Мой код соответствует правилам, которые там описаны - но не могу прочитать файл программно. в режиме FILE_SHARE_READ. Для файла EURUSD20.HST с расширением .HST - флаг должен быть FILE.BIN, так чтобы в МТ4 файл можно было открыть автономно.
Я пробовал работать не в тестере а просто на обычном графике (EURUSD M1) - запускаю индикатор, который формирует ТФ М20.
Код открытия файла:
ExtHandle= FileOpen("EURUSD20.csv",FILE_BIN|FILE_WRITE|FILE_SHARE_WRITE|FILE_READ|FILE_SHARE_READ).
Этот файл в этом случае появится в папке MQL4\Files. Далее запуска скрипт на обычном графике (EURUSD M5), который копирует содержимое файла EURUSD20.csv в файл EURUSD20.HST. Файл EURUSD20.HST формируется в папке history в том же каталоге, что и MQL4.
Код скрипта:
файл для чтения ExtHandleR=FileOpen("EURUSD20.csv",FILE_BIN|FILE_READ|FILE_SHARE_READ);
файл для записи ExtHandleW=FileOpenHistory("EURUSD20.hst",FILE_BIN|FILE_WRITE|FILE_SHARE_WRITE|FILE_SHARE_READ);
Все работает только тогда, когда я удаляю индикатор с графика М1. То есть режим разделения файла по чтению у меня не работает.
Здравствуйте! Что за глюк метатрейдера на графике евродолар? Появилась дневная свеча за восскресенье 9.10.2011 , на часовом графике только один час 23:00 за это число. Наверно это связано с переводом часов на зимнее время. Как это исправить? Раньше этой свечи не было.
Проблема решается так: Программа, записывающая файл, должна после каждой операции записи закрывать файл FileClose тем самым освобождая его для чтения другой программой. Это связано с тем, что данные при записи сначала попадают в буфер и в файле физически какое-то время отсутствуют. Закрытие файла освобождает буфер в файл. Перед следующей записью
файл снова открывается и указатель перемещается к концу
Здравствуйте! Подскажите а верным ли будет утверждение, что получаемое количество пунктов будет одинаково в обоих выражениях?? Мне это действительно важно!
Точнее сказать Ведь пункты не могут быть отрицательными??? Или все же.....))
Добрый вечер.
Начал изучать mql5 появилось несколько вопросов, поэтому прошу помощи.
Задача получить в массив значения хаев n последних свечей, и отсортировать массив отобрав только не побитые хаи.
Написал такую функцию:
Выдает ошибку array out of range. в строке.
Данная ошибка, как я понял, вызвана обращением к несуществующей ячейки массива.
Но найти ошибку с хода не смог, подскажите где накосячил, или может есть более элегантная сортировка.
Добрый вечер.
Начал изучать mql5 появилось несколько вопросов, поэтому прошу помощи.
Задача получить в массив значения хаев n последних свечей, и отсортировать массив отобрав только не побитые хаи.
Написал такую функцию:
Выдает ошибку array out of range. в строке.
Данная ошибка, как я понял, вызвана обращением к несуществующей ячейки массива.
Но найти ошибку с хода не смог, подскажите где накосячил, или может есть более элегантная сортировка.