Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Только начал изучать MQL, и вот написал советника, который рисует iMA и проводит касательную (весьма приближенную) к графику в iMA в точке, где находится указатель мыши по оси времени.
Проблема первая. Советник ОООЧЕНЬ тупит. То есть касательная долго перерисовывается, и не успевает за движением мышки...
Посмотрите мой вариант:
На ноутбуке - всё летает!
Получаю ошибку 5040 (Испорченный параметр типа string) при первом вызове функции создания объекта
Если до вызова задать
nTL="";
ошибка 4002 (Ошибочный параметр при внутреннем вызове функции клиентского терминала)
Если до вызова задать
nTL="a";
первый объект будет с именем а.
Вызываю так
Подскажите, где ошибка?
В старом варианте
сбоев не было ни разу.
Это ошибка в коде или в терминале?
Подскажите, где ошибка?
Получаю ошибку 5040 (Испорченный параметр типа string) при первом вызове функции создания объекта
Если до вызова задать
ошибка 4002 (Ошибочный параметр при внутреннем вызове функции клиентского терминала)
Если до вызова задать
первый объект будет с именем а.
Вызываю так
Подскажите, где ошибка?
Вы волнуетесь из-за того что Гет ласт эррор принтует чего-то отличное от нуля? Если так, то запрашивать ошибку стоит только если функция отчиталась о провале. А запрашивать в конце участка ошибку не стоит, можно получить мусорное значение. Так в МТ4, может здесь как-то иначе.
Псевдокод:
Получаю ошибку 5040 (Испорченный параметр типа string) при первом вызове функции создания объекта
Если до вызова задать
ошибка 4002 (Ошибочный параметр при внутреннем вызове функции клиентского терминала)
Если до вызова задать
первый объект будет с именем а.
Вызываю так
Подскажите, где ошибка?
Попробуйте строки через StringConcatenate() "склеивать"
Где ошибка хз, но работа с именами объектов мягко говоря очень спорная.
Непонятно зачем вам случайное число в названии объекта, это может и привести к ошибке.
Другой вариант на пару сотен объектов с уникальными именами есть?
(Группа объектов должна быть с одинаковой частью строки в имени, для удаления группы.)
Вы волнуетесь из-за того что Гет ласт эррор принтует чего-то отличное от нуля? Если так, то запрашивать ошибку стоит только если функция отчиталась о провале. А запрашивать в конце участка ошибку не стоит, можно получить мусорное значение. Так в МТ4, может здесь как-то иначе.
Вы волнуетесь из-за того что Гет ласт эррор принтует чего-то отличное от нуля?
Ну вообще по логике если функция вообще выставляет last error, то при успешном завершении функции должно быть нулевое значение ошибки или значение, описанное в документации. И никак по-другому.
Т.е. если вызов был успешным и ошибка ненулевая, то этот случай должен быть описан в документации.
Эдак я ещё неделю голову ломать буду. Можно немного подробней? (можно грубо :))
Ну обычно имена однотипных объектов формируются из общей части, для удобства удаления ("nTL_" у вас) и различий. Я еще использую идентификатор модуля, если на графике этих самых модулей может быть больше одного сразу.
Различие может быть вообще любое, хоть счетчик, который вы увеличиваете каждый раз, когда создаете объект. Но лучше делать различия по логике -- время объекта, координата объекта, цель -- добиться гарантированной уникальности. Побочный положительный эффект -- сконструировав имя повторно, можно изменять свойства нужного уже созданного объекта.
Рандом этой самой "гарантированной уникальности" не дает.