У меня есть индикатор, одна из его функций - рисует текст по мере необходимости.
Так вот, возникают неприятные ситуации, когда рисуется 2 разных текста по одной и той же цене
Чтобы решить эту пробелеу я решил написать функцию, которая будет пробегать по всем объектам и по метке TEXT в названии всех объектов типа text находить их цену и сравнивать с той, по которой в данный момент времени индикатор пытается отрисовать текст
И в случае совпадения этих цен возвращает число - количество баров - на которое сдвигается текст по оси времени, дабы избежать наложения
Но вот незадача - реакции на эту функцию у программы ноль. Сама функция вызывается в ObjectCreate и прибавляется к координате-времени. Может кто помочь с ошибкой, почему ничего не происходит?
Ищем начиная с 0.
if(StringFind(ObjectName(0,i,-1,-1),"TEXT",0)>=0)
Ищем начиная с 0.
а, точно блин, самое сложное в самом простом)
Спасибо
Ищем начиная с 0.
А вот еще вопрос появился. Просто не все объекты имею приписку, которую я сделал.
Все объекты создаются подряд, пропустить я не могу, уже несколько раз проверил. Просто у половины нет приписки, по которой я определяю удалять или нет объект
А вот еще вопрос появился. Просто не все объекты имею приписку, которую я сделал.
Все объекты создаются подряд, пропустить я не могу, уже несколько раз проверил. Просто у половины нет приписки, по которой я определяю удалять или нет объект
Может поможет такой вариант:
int TextChecker(double price) { for(int i=0; i<ObjectsTotal(0); i++) { string Name = ObjectName(0,i,-1,OBJ_TEXT); if(ObjectGetDouble(0,Name,OBJPROP_PRICE)==price) { Comment("true"); return (PeriodSeconds(PERIOD_CURRENT)); } } return 0; }
Написано на коленке, не проверял
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
У меня есть индикатор, одна из его функций - рисует текст по мере необходимости.
Так вот, возникают неприятные ситуации, когда рисуется 2 разных текста по одной и той же цене
Чтобы решить эту пробелеу я решил написать функцию, которая будет пробегать по всем объектам и по метке TEXT в названии всех объектов типа text находить их цену и сравнивать с той, по которой в данный момент времени индикатор пытается отрисовать текст
И в случае совпадения этих цен возвращает число - количество баров - на которое сдвигается текст по оси времени, дабы избежать наложения
Но вот незадача - реакции на эту функцию у программы ноль. Сама функция вызывается в ObjectCreate и прибавляется к координате-времени. Может кто помочь с ошибкой, почему ничего не происходит?