Доработка ботов (советников, индикаторов) vol. 2

mmaxx

Интересующийся
Уважаемые программисты. подскажите пожалуйста.

Сделал на графике кнопки при помощи которых открываю, закрываю и модифицирую ордера. Но есть два раздражающих момента.

1) Если под кнопкой оказывается линия индикатора, то при нажатии на кнопку кликается и по линии индикатора и открывается окно настроек индикатора.

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

Возможно ли решить эти две проблемки и сделать кнопки "непрозрачными" для курсора?
Пробовал вставить в кнопку строчку ObjectSetInteger(0,name,OBJPROP_ZORDER,1); но это не помогает.
 
Последнее редактирование:

mobidik

-----
Уважаемые программисты. подскажите пожалуйста.

Сделал на графике кнопки при помощи которых открываю, закрываю и модифицирую ордера. Но есть два раздражающих момента.

1) Если под кнопкой оказывается линия индикатора, то при нажатии на кнопку кликается и по линии индикатора и открывается окно настроек индикатора.

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

Возможно ли решить эти две проблемки и сделать кнопки "непрозрачными" для курсора?
Пробовал вставить в кнопку строчку ObjectSetInteger(0,name,OBJPROP_ZORDER,1); но это не помогает.

Как вариант: в индикаторе в ф-ции OnInit() укажите для всех "видимых" буферов: SetIndexLabel(0,NULL); - тем самым не будет всплывающей подсказки и открытия настроек индикатора.
 

Elvis Burunduk

Элитный участник
Как вариант: в индикаторе в ф-ции OnInit() укажите для всех "видимых" буферов: SetIndexLabel(0,NULL); - тем самым не будет всплывающей подсказки и открытия настроек индикатора.

Саня, я тебя уважаю... :facepalm:
Как тебе хватает такта и терпения...отвечать в тысячный раз, вести ветку.. :facepalm:
Ну ты вчера ночью, наверно читал тот срач в моей ветке... :facepalm:
 

Bolivar

Активный участник
Уважаемые программисты! Очень прошу доработать индикатор, таким образом, чтобы убрать лишнюю информацию в виде надписей. Индикатор и необходимую информацию о доработке прилагаю. С уважением к Вам- Леонид
 

Вложения

  • Доработка индикатора.docx
    145,5 КБ · Просмотры: 59
  • Ind_2 Line+11-Histo.mq4
    30,1 КБ · Просмотры: 84

mmaxx

Интересующийся
Как вариант: в индикаторе в ф-ции OnInit() укажите для всех "видимых" буферов: SetIndexLabel(0,NULL); - тем самым не будет всплывающей подсказки и открытия настроек индикатора.

mobidik, спасибо за помощь. Так и поступил.
Но такой вариант все-таки не идеальный. Во-первых, есть индикаторы без открытого кода. Во-вторых, я использую новостной индикатор, который рисует вертикальные линии и по всплывающей подсказке можно видеть какая новость скрывается за линией. Поэтому отключать всплывающие подсказки не хотелось бы. Но смог обойти и этот момент. Теперь всплывающая подсказка появляется только в верхней половине графика, а в нижней(там где кнопки) подсказка не появляется.
Еще раз спасибо, mobidik.

А почему не работает ObjectSetInteger(0,name,OBJPROP_ZORDER,1);
 

mobidik

-----
mobidik, спасибо за помощь. Так и поступил.
Но такой вариант все-таки не идеальный. Во-первых, есть индикаторы без открытого кода. Во-вторых, я использую новостной индикатор, который рисует вертикальные линии и по всплывающей подсказке можно видеть какая новость скрывается за линией. Поэтому отключать всплывающие подсказки не хотелось бы. Но смог обойти и этот момент. Теперь всплывающая подсказка появляется только в верхней половине графика, а в нижней(там где кнопки) подсказка не появляется.
Еще раз спасибо, mobidik.

А почему не работает ObjectSetInteger(0,name,OBJPROP_ZORDER,1);

Вы писали:
Если под кнопкой оказывается линия индикатора, то при нажатии на кнопку кликается и по линии индикатора и открывается окно настроек индикатора.
Из этого следует, что данные индикатора выводятся через буфер - значит нужно что-то изменить с буферами индикатора.
На счет ObjectSetInteger(0,name,OBJPROP_ZORDER,1); - а это уже не к буферу относится, а к объекту - эти вещи между собой не пересекаются.
А вот новостной индюк, скорее всего, наносит на график вертикальные линии как объект. Тогда можно, и даже нужно, запретить доступ к данным линиям с помощью мышки - использовать ф-ции: ObjectSetInteger(0,name,OBJPROP_SELECTABLE,false); и ObjectSetInteger(0,name,OBJPROP_SELECTED,false); да и скрыть их, слегка, с помощью ObjectSetInteger(0,name,OBJPROP_HIDDEN,true); - теперь можно кликать сколь угодно по линиям - и никакой реакции не будет.
А использование параметра OBJPROP_ZORDER актуально когда есть наложение одного объекта на другой - вот тут нужны приоритеты.
 

mobidik

-----
Саня, я тебя уважаю... :facepalm:
Как тебе хватает такта и терпения...отвечать в тысячный раз, вести ветку.. :facepalm:
Ну ты вчера ночью, наверно читал тот срач в моей ветке... :facepalm:

Привет. Ветку я не веду, так, время от времени нужно на что-то отвлектись, слегка... На счет твоей ветки - таки да, конструктива нет, а жаль.
 

MrGreen86

Гуру форума
Уважаемые программисты! Очень прошу доработать индикатор, таким образом, чтобы убрать лишнюю информацию в виде надписей. Индикатор и необходимую информацию о доработке прилагаю. С уважением к Вам- Леонид

сверху слева надпись убрать нельзя, а вот всео стальное пожалуйста.
Посмотреть вложение Ind_2 Line+11-Histo_clean.mq4
 

Bolivar

Активный участник
MrGreen86,Огромнейшее спасибо!!! С уважением- Леонид
 

tolian

Активный участник
Здравствуйте! Уважаемые программисты.
Большая просьба в индикаторе DCE_BB_v3gm1 поменять сигнальные стрелки с графических на буферные.Заранее Спасибо!
 

Вложения

  • DCE_BB_v3gm1.mq4
    27,8 КБ · Просмотры: 57

koldun555

Новичок форума
уважаемые!!! просьба вытащить в настройки такую линию.
 

Вложения

  • Alpari NZ MT4.png
    Alpari NZ MT4.png
    150,3 КБ · Просмотры: 349
  • CCI RSX ATR.mq4
    5 КБ · Просмотры: 32

vjakrasikv

Почетный гражданин
Здравствуйте. Помогите плиз - не устанавливается на график
 

Вложения

  • 123 Patterns v6 Sound RUS [поручик+Tankk].mq4
    15,8 КБ · Просмотры: 69
Верх