Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
задачу решал такую
1.есть объект по которому производится первый клик (при этом клик по графику не нужен, а он есть всегда)
2.зафиксировать клик по графику
координаты объекта всегда известны
клик по графику можно зафиксировать только вне объекта
только такое решение придумал
после первого нажатия существуют уже оба клика
да, я проверил
но приходят события по очереди, сначала событие клик по обьекту, затем клик по чарту, т.е OnChartEvent() вызывается 2 раза
и задержка между событиями, у меня от 8 до 20 мкс , поэтому и поставил сравнение с 50 мкс , сомневаюсь, что юзер с такой частотой (20 кликов в сек) сумеет накликать оба события
UPD: запустил свой пример, все четко работает - кликал сначала по прямоугольнику, затем по чарту:
2020.06.19 21:50:13.598 tst EURUSD,H1: Координаты щелчка мышки на графике: x = 711 y = 275.0
2020.06.19 21:50:13.118 tst EURUSD,H1: Координаты щелчка мышки на графике: x = 711 y = 275.0
2020.06.19 21:50:12.542 tst EURUSD,H1: Координаты щелчка мышки на графике: x = 711 y = 275.0
2020.06.19 21:50:11.822 tst EURUSD,H1: Координаты щелчка мышки на графике: x = 709 y = 278.0
2020.06.19 21:50:10.566 tst EURUSD,H1: Нажатие кнопки мышки на объекте с именем 'Rectangle 64203'
2020.06.19 21:50:10.278 tst EURUSD,H1: Нажатие кнопки мышки на объекте с именем 'Rectangle 64203'
2020.06.19 21:50:09.966 tst EURUSD,H1: Нажатие кнопки мышки на объекте с именем 'Rectangle 64203'
2020.06.19 21:50:09.702 tst EURUSD,H1: Нажатие кнопки мышки на объекте с именем 'Rectangle 64203'
2020.06.19 21:50:08.670 tst EURUSD,H1: Нажатие кнопки мышки на объекте с именем 'Rectangle 64203'
2020.06.19 21:50:08.439 tst EURUSD,H1: Нажатие кнопки мышки на объекте с именем 'Rectangle 64203'
2020.06.19 21:49:51.307 tst EURUSD,H1: initialized
2020.06.19 21:49:49.631 Expert tst EURUSD,H1: loaded successfully
задачу решал такую
1.есть объект по которому производится первый клик (при этом клик по графику не нужен, а он есть всегда)
2.зафиксировать клик по графику
координаты объекта всегда известны
клик по графику можно зафиксировать только вне объекта
только такое решение придумал
Может так подойдет, киньте пару стрелок и пару линий на график. Щелчок по стрелкам дает сообщение, x и y не выводится.
Ну и соответственно, перед return, где id==CHARTEVENT_CLICK задать, то на что нужно реагировать, а после return, на что не нужно.
UPD: запустил свой пример, все четко работает - кликал сначала по прямоугольнику, затем по чарту:
спасибо! помогло
можно так попробовать клики мыши разделить
И всё-же, решение костыльное. Разработчикам МТ нужно что-то решить с разделением событий.
Разработчикам МТ нужно что-то решить с разделением событий.
эти события разделены, можете проверить, вот код:
И всё-же, решение костыльное.
давайте не костыльное, первое, что приходит на ум это создать очередь сообщений, затем создать свои атрибуты событий и эти атрибуты нужно будет передать через битовую маску в одном событии, а юзер должен будет лишь выделить необходимые биты и проверить поступало ли такое событие
это сделали разработчики , но только для состояния кнопок мышки - битовая маска передается в параметре sparam ( справка )
эти события разделены, можете проверить, вот код:
давайте не костыльное, первое, что приходит на ум это создать очередь сообщений, затем создать свои атрибуты событий и эти атрибуты нужно будет передать через битовую маску в одном событии, а юзер должен будет лишь выделить необходимые биты и проверить поступало ли такое событие
это сделали разработчики , но только для состояния кнопок мышки - битовая маска передается в параметре sparam ( справка )
У меня была аналогичная задача, разделял как-то через флаги, но уже не помню чем окончилось, помню что времени отняло немало.
Ещё вариант поставить флаг обработки событий. Если клик по объекту, то клик по графику не обрабатывать.