Предварительный билд терминала MetaTrader 4: Новый умный поиск, книги в Маркете и обновление окна параметров MQL4-программы - страница 8
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Прикрепил известный индикатор новостей. До 509 работал и не только у меня.
Сейчас адаптировал его под 625.
Вывод на печать символов в строке 175 сразу после чтения файла.
Посмотрите файл "News.csv" (создаётся после запуска индикатора) в HEX-редакторе. Там видны все комбинации символов - "\r\n". После чтения, взамен, появляются символы "rn".
05:14:06 News_3 EURUSD,M5: 68 117
05:14:06 News_3 EURUSD,M5: 69 115
05:14:06 News_3 EURUSD,M5: 70 10
05:14:06 News_3 EURUSD,M5: 71 83
05:14:06 News_3 EURUSD,M5: 72 117
05:14:06 News_3 EURUSD,M5: 73 110
05:14:06 News_3 EURUSD,M5: 74 32
05:14:06 News_3 EURUSD,M5: 75 65
05:14:06 News_3 EURUSD,M5: 76 112
Этот код работал в воскресение, когда не было котировок! Запустил в понедельник, когда котировки пошли, перестал правильно читать файл.
Это совсем непонятно. Какая связь?...
============================
Посмотрел внимательно... Оказывается, символы "\r" и "\n" после чтения произвольно меняется на какой-нибудь другой!
Разобрался! Комбинация "\r\n" заменяется на "\n"! Зачем?
Повторю вопрос - Зачем?
Там же есть макрос с параметром. Как-то странно этот параметр обрабатывается компилятором. В С++ можно имя параметра любое вставить. Потом оно подменяется переменной. Тут же, в MQL, только то, которое используется в коде. Т.е. только имя переменной.
Вот ещё проблемка - не рисуются объекты в тестере. Причём я не знаю, было ли такое раньше, или только в последних билдах появислоь, т.к. никогда не делал этого раньше, как-то не доводилось.
Простой код советника, который при размещении должен нарисовать линию на графике. И рисует, но не в тестере. В тестере почему-то выдаёт ошибку 4202 ERR_OBJECT_DOES_NOT_EXIST. Конечно does not exist, потому я его и создаю. :) Что ему надо?
Вот ещё проблемка - не рисуются объекты в тестере. Причём я не знаю, было ли такое раньше, или только в последних билдах появислоь, т.к. никогда не делал этого раньше, как-то не доводилось. Вот простой код советника - при размещении должен нарисовать линию на графике. И рисует, но не в тестере. В тестере почему-то выдаёт ошибку 4202 ERR_OBJECT_DOES_NOT_EXIST. Конечно does not exist, потому я его и создаю. :) Что ему надо?
А если
if(ObectFind(бла-бла-бла)<0) ObjectCteate(бла-бла-бла)
А если
if(ObectFind(бла-бла-бла)<0) ObjectCteate(бла-бла-бла)
При чём здесь это? Когда запускем визуализацию, понятно, что никаких объектов на графике ещё нет. Собственно, и ошибка сообщает об этом же. Почему-то.
При чём здесь это? Когда запускется тестер в режиме визуализации, понятно, что никаких объектов на графике ещё нет. Собственно, и ошибка сообщает об этом же.
Вам ехать? Или шашечки? Если ехать, то делайте. Если шашечки, то ждите ответа разработчиков.
У меня в тестере работает и в OnInit() и в OnTick(). Не нужно - звиняйте.
Мне линию нарисовать. Если у вас рисует - покажите свой код, если не жалко.
ЗЫ. Добавил я сейчас в код эту проверку. Естественно, ничего не изменилось.
Мне линию нарисовать. Если у вас рисует - покажите свой код, если не жалко.
ЗЫ. Добавил я сейчас в код эту проверку. Ничего не изменилось, как и ожидалось.
Некорректно работает функция ChartXYToTimePrice. Если координата X находится слева от нулевого бара на графике - то координаты преобразуются как и положено. А если координата X находится справа от нулевого бара - функция возвращает ошибку 4051 (Недопустимое значение параметра функции)
Я уже про это то же писал:
Errors, MetaTrader 4, Открыта, Начата: 2014.01.13 13:59, #928691
Comment(shirina," ",shirina-50," ",y," ",x);
Но к сожалению че то не как,
Ренат обратите на это внимание, если зона х и у координат находятся в видимом диапазоне а так же дата и время по шкале находятся в видимом диапазоне то
ChartXYToTimePrice Все таки должна возвращать координаты х и у при их запросе из под видимого времени и наоборот...
Даже если это видимое время еще не наступило !
Ваш вариант работает, спасибо за наводку. Но дело, конечно же, не в проверке наличия объекта, которого заведомо нет. Есть два варианта функции ObjectCreate() - с указанием ChartID и без него. В моём коде первый вариант, в вашем - второй. В тестере, как выяснилось, работает только второй вариант.