![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Не получиться, не все так просто, кнопка чей код находится выше всегда будет отжимать те кнопки чей код находится ниже ...
То есть если Мы нажали кнопку чей код выше а потом нажимаем кнопку чей код ниже то состояние первой кнопки всегда будет отжимать последнюю ...
Все намного проще, на самом деле. Вообще не виду ни проблемы ни сложности.
Что за кнопки которые выше?
При использовании OnChartEvent() нажатость кнопки можно определить по имени кнопки и тогда поступить как вы предложили выше, отжимать кнопки с другими именами, но в тестере такое не прокатит..
Каким образом умудряетесь вызвать ObjectGetInteger(), чтобы узнать, что кнопка нажата?
Как то так
bool tmp=false;
ObjectGetInteger(0,"name",OBJPROP_STATE,0,tmp);Это как так по имени? А нука? Не нажатость, а событие. А состояние определяется через ObjectGetInteger().
Вы прикалываетесь или на полном серьёзе ?
У вас там свой цикл какой-то. Значит нужен массив с состояниями кнопок. Постоянно все это перебираем, и если состоянии кнопки не соответствует состоянию из массива - вот оно наше событие. Теперь сами делаем что хотим, у нас и кнопки и массив.
Нет. На самом деле я ужасаюсь.
Нет никаких циклов , тупо отрисованные 10 кнопок ... Без циклов, без массивов, без структур.. Все в процедурном стиле ...
Это как так по имени? А нука? Не нажатость, а событие. А состояние определяется через ObjectGetInteger().
Событие щелчка мыши на графическом объекте
CHARTEVENT_OBJECT_CLICK
X координата
Y координата
Имя графического объекта, на котором произошло событие