Как такое сделал программист в 1-м индикаторе?

 

Ребят, такой вопрос, в одном индикаторе располагается OBJ_RECTANGLE_LABEL и поверх него Пустое(с пробелами) OBJ_LABEL (дабы занять объем нажатия)
И самое интересное на этом  поле от OBJ_LABEL  как то осуществляется нажатие кнопки, хотя кнопки нету.

Как такое сделано? Имеется ввиду именно нажатие кнопки(без кнопки)
спросил бы, "а зачем?" но я так понимаю, что OBJ_LABEL для захвата объема нажатия, а  OBJ_RECTANGLE_LABEL дабы задать нужную картинку


 
В МТ клик на любом графическом объекте отслеживается через событие ChartEvent. Поэтому нажать можно не только на кнопку (которая не что иное, как графический объект), но и на текст, и на метку, и на линию.
 
vebster005:

Ребят, такой вопрос, в одном индикаторе располагается OBJ_RECTANGLE_LABEL и поверх него Пустое(с пробелами) OBJ_LABEL (дабы занять объем нажатия)
И самое интересное на этом  поле от OBJ_LABEL  как то осуществляется нажатие кнопки, хотя кнопки нету.

Как такое сделано? Имеется ввиду именно нажатие кнопки(без кнопки)
спросил бы, "а зачем?" но я так понимаю, что OBJ_LABEL для захвата объема нажатия, а  OBJ_RECTANGLE_LABEL дабы задать нужную картинку


Чтобы нажималась кнопка, а не прямоугольник, который поверх этой кнопки нарисован, нужно кноке задать приоритет на нажатие мыши, больше чем у прямоугольника.

//--- установим приоритет на получение события нажатия мыши на графике
   ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
 
Спасибо всем за ответы, подскажите как это сделать, я понимаю ответ перед глазами, через приоритет нажатия: 
OBJPROP_ZORDER

в документации не особо понял, написано, что чей выше тот и будет

тут я поставил 1 так как по документации у всех изначально 0

1) тут имеется ввиду числа?

if (ObjectSet(name_label,OBJPROP_ZORDER,1)) { // тут если строит приоритет то выполняется
        ...             // какое то действие
        }

2) как мне сделать что если я 2-й раз шелкну по этому объекту, то другое действие должно произойти, пребывал с иначе( else ) но тут я так понял не работает как с кнопкой

3) как добавить еще 3-й вариант условия
Спасибо

 
vebster005 #:
Спасибо всем за ответы, подскажите как это сделать, я понимаю ответ перед глазами, через приоритет нажатия: 

в документации не особо понял, написано, что чей выше тот и будет

тут я поставил 1 так как по документации у всех изначально 0

1) тут имеется ввиду числа?

2) как мне сделать что если я 2-й раз шелкну по этому объекту, то другое действие должно произойти, пребывал с иначе( else ) но тут я так понял не работает как с кнопкой

3) как добавить еще 3-й вариант условия
Спасибо

можно и без кнопки, просто к кликам мыши в райне прямоугольника , добавить счётчик, который обнуляется после нескольких кликов.

и будет у вас : клик на прямоугольнике, поменяли цвет прямоугольника и/или надпись, совершили нужное действие, добавили к счётчику +1 , п т.д  пока счётчик не дойдёт до нужного значения, потом счётчик сбрасывается и всё сначала )

Примерно так,

клик на прямоугольнике, смотрим счётчик, счётчик равен 0, цвет прямоугольника делаем синим, открываем лонг. счётчик++

клик на прямоугольнике, смотрим счётчик, счётчик равен 1, цвет прямоугольника делаем красным, закрываем все сделки. счётчик++

клик на прямоугольнике, смотрим счётчик, счётчик равен 2, цвет прямоугольника делаем жёлтый, выводим результат торговли. счётчик=0;

 
Aleksandr Slavskii #:

можно и без кнопки, просто к кликам мыши в райне прямоугольника , добавить счётчик, который обнуляется после нескольких кликов.

и будет у вас : клик на прямоугольнике, поменяли цвет прямоугольника и/или надпись, совершили нужное действие, добавили к счётчику +1 , п т.д  пока счётчик не дойдёт до нужного значения, потом счётчик сбрасывается и всё сначала )

Примерно так,

клик на прямоугольнике, смотрим счётчик, счётчик равен 0, цвет прямоугольника делаем синим, открываем лонг. счётчик++

клик на прямоугольнике, смотрим счётчик, счётчик равен 1, цвет прямоугольника делаем красным, закрываем все сделки. счётчик++

клик на прямоугольнике, смотрим счётчик, счётчик равен 2, цвет прямоугольника делаем жёлтый, выводим результат торговли. счётчик=0;

Спасибо за долгожданный ответ, разобрался

Причина обращения: