Подскажите пожалуйста.
Когда нажимаю колесико мыши на графике, курсор переходит в режим "перекрестие".
Есть ли какой-то способ програмно узнать, находится ли курсор прямо сейчас в режиме перекрестия или нет?
Хочу, чтобы индикатор мне выдавал одну информацию, когда курсор в обычном режиме и другую, когда в режиме перекрестие.
Пробовал вытащить с графика с помощью ChartGetInteger(chart_id, CHART_CROSSHAIR_TOOL), но эта функция возвращает информацию о том, включена ли возможность использовать режим "перекрестие" в принципе. А как вытащить информацию о том, в каком режиме находится курсор в данный момент времени что-то с ходу не нашел.
Всем спасибо. Буду благодарен за подсказку )
вот наверное что то связанное с вашим вопросом https://www.mql5.com/ru/docs/event_handlers/onchartevent
![Документация по MQL5: Обработка событий / OnChartEvent Документация по MQL5: Обработка событий / OnChartEvent](https://c.mql5.com/36/52/dokumentaciya-po-mql5-obrabotka__1.png)
- www.mql5.com
вот наверное что то связанное с вашим вопросом https://www.mql5.com/ru/docs/event_handlers/onchartevent
Спасибо за ответ. Правда, по-моему это не совсем то. Вроде в OnChartEvent() нету параметра, который говорил бы, в каком состоянии находится курсор. Обычном или в состоянии "перекрестие".
Спасибо за ответ. Правда, по-моему это не совсем то. Вроде в OnChartEvent() нету параметра, который говорил бы, в каком состоянии находится курсор. Обычном или в состоянии "перекрестие".
Параметра нет. Все придется делать самому, отслеживая клик на колесике мыши. Правда, остается вариант, когда перекрестие активировано с тулбара. В этом случае без WinAPI, по-моему, не обойтись. Там можно будет получить текущий режим курсора.
вот наверное что то связанное с вашим вопросом https://www.mql5.com/ru/docs/event_handlers/onchartevent
Можно попробовать отслеживать нажатие средней кнопки мыши и нажатие другой кнопки мыши. Т.е. если последнее, что нажал пользователь мышью на графике была средняя кнопка мыши, значит сейчас режим перекрестие. А если любую другую кнопку или еще ничего не нажимал, то значит сейчас не режим "перекрестие".
В целом, я думаю, мне этого решения достаточно. Так что всем спасибо.
Но если вдруг все таки существует встроенный в MQL метод для получения напрямую информации о том, сейчас курсор в режиме перекрестие или нет, то был бы благодарен за подсказку. В будущем все равно пригодится.
Параметра нет. Все придется делать самому, отслеживая клик на колесике мыши. Правда, остается вариант, когда перекрестие активировано с тулбара. В этом случае без WinAPI, по-моему, не обойтись. Там можно будет получить текущий режим курсора.
Да, спасибо )
Только что пришла эта же идея, что можно через нажатие колесика мыши )
Спасибо за ответ
Мне потребовалось пол дня, чтобы меня осенило, что вы имели ввиду )
Да, вы правы, это косяк в моей логике. Но я пишу индикатор для себя, а я ни разу в жизни сюда не нажимал. Но если вдруг решу свое творение выставить на маркете, данный аспект и правда нужно будет проработать отдельно
Спасибо за ответ
Мне потребовалось пол дня, чтобы меня осенило, что вы имели ввиду )
Да, вы правы, это косяк в моей логике. Но я пишу индикатор для себя, а я ни разу в жизни сюда не нажимал. Но если вдруг решу свое творение выставить на маркете, данный аспект и правда нужно будет проработать отдельно
Вот решение если не пользоваться панелью инструментов
/***********************OnChartEvent function************************/ void OnChartEvent(const int id, // идентификатор события const long& lparam, // параметр события типа long const double& dparam, // параметр события типа double const string& sparam // параметр события типа string ) { if(id == CHARTEVENT_MOUSE_MOVE) { if(sparam == "16") Print(__LINE__, sparam); } }/******************************************************************/
Левая кнопка крыски sparam == "1", правая == "2"
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Подскажите пожалуйста.
Когда нажимаю колесико мыши на графике, курсор переходит в режим "перекрестие".
Есть ли какой-то способ програмно узнать, находится ли курсор прямо сейчас в режиме перекрестия или нет?
Хочу, чтобы индикатор мне выдавал одну информацию, когда курсор в обычном режиме и другую, когда в режиме перекрестие.
Пробовал вытащить с графика с помощью ChartGetInteger(chart_id, CHART_CROSSHAIR_TOOL), но эта функция возвращает информацию о том, включена ли возможность использовать режим "перекрестие" в принципе. А как вытащить информацию о том, в каком режиме находится курсор в данный момент времени что-то с ходу не нашел.
Всем спасибо. Буду благодарен за подсказку )