Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1794

 
Mihail Matkovskij #:

А в случае ошибки, что твоя функция вернет, true?!

Какой ошибки? Приведи пример.
 
MakarFX #:

Это да, должно работать.

 
Nerd Trader #:

ты про смену цветов через свойство? у меня такой вариант есть, мне нужно понять почему этот не робит.

Он работает, но реагируют на любое OnChartEven, т.е. удаляет->создает с ценой "0"-> перемещает к курсору. Отсюда и мерцание

 
Nerd Trader #:

ты про смену цветов через свойство? у меня такой вариант есть, мне нужно понять почему этот не робит.

Нет. Это чтобы объекты не мелькали и не появлялись/исчезали, не скакали, как ошпаренные и проц. при этом не шумел...

Ну и что не так, когда объект в главном окне "0" твоя функция вернёт false? Объясни момент с >= 0... или равно ноль

Смотри внимательно

if (ObjectFind(chart, name) >= 0)

При каком диапазоне значений условие вернет true?

 
MakarFX #:
Какой ошибки? Приведи пример.

Что обычно true? Всё, что не 0 (выше я об этом говорил). А у тебя true только когда условие вернет false при значении 0. Объект находится в подвале (ObjectFind(ch, name) > 0) - false. Но ошибка (-1) - true.

Поэтому, вот правильный вариант:

bool objectExist(const long _chartID, const string _name) { return(ObjectFind(_chartID, _name) >= 0); } // чётко определим условие существования объекта!
 
Mihail Matkovskij #:

Нет. Это чтобы объекты не мелькали и не появлялись/исчезали, не скакали, как ошпаренные и проц. при этом не шумел...

Смотри внимательно

При каком диапазоне значений условие вернет true?

А если
ObjectFind(chart, name)=-1

что тогда?

 
MakarFX #:

Он работает, но реагируют на любое OnChartEven, т.е. удаляет->создает с ценой "0"-> перемещает к курсору. Отсюда и мерцание

why? Почему этого не происходит для зеленой линии? условия идентичные только инверсивные (price > Ask) для желтой и (price < Bid) для зеленой.


Mihail Matkovskij #:

Нет. Это чтобы объекты не мелькали и не появлялись/исчезали, не скакали, как ошпаренные и проц. при этом не шумел...

Вот зеленая и красные линии почему-то создаются только в одном экземпляре и не мерцают при перемещении курсора.


Mihail Matkovskij #:

Смотри внимательно

При каком диапазоне значений функция вернет true?

от нуля и выше?
 
Mihail Matkovskij #:

Что обычно true? Всё, что не 0 (выше я об этом говорил). А у тебя true только когда условие вернет false при значении 0. 

Посмотри еще раз внимательно

 
MakarFX #:

Посмотри еще раз внимательно

Дополнил сообщение. Протестируй свою функцию и мою при некорректном Chart ID и когда объект создан в подокне. И посмотри, что твоя функция вернет и что вернет моя. И документацию внимательно прочитай. Все ссылки и цитата приведены выше.