Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1554

 

Все агенты Cloud застряли на READY, хотя средств достаточно? Есть идеи, почему так происходит?

 

Как определить, наличие/отсутствие объекта в конкретной точке графика.

Интересуют только объекты привязанные к координатам графика, а не к цена/время.

 
Aleksandr Slavskii #:

Как определить, наличие/отсутствие объекта в конкретной точке графика.

Интересуют только объекты привязанные к координатам графика, а не к цена/время.

ChartXYToTimePrice и перебор по объектам

или в обратку ChartTimePriceToXY и перебором по объектам входят или нет

 
WWolf #:

ChartXYToTimePrice и перебор по объектам

или в обратку ChartTimePriceToXY и перебором по объектам входят или нет

Координаты точки известны, поэтому  ChartXYToTimePrice и  ChartTimePriceToXY не нужны.

Перебором это понятно, думал может можно сделать как то без перебора всех объектов.

 
Aleksandr Slavskii #:

Координаты точки известны, поэтому  ChartXYToTimePrice и  ChartTimePriceToXY не нужны.

Перебором это понятно, думал может можно сделать как то без перебора всех объектов.

Всё зависит от цели. Для чего нужно знать есть-ли объект под курсором? Нажать или нет? Ну так нажми и обработайте событие в соответствующей функции.

 
Alexey Viktorov #:

Всё зависит от цели. Для чего нужно знать есть-ли объект под курсором? Нажать или нет? Ну так нажми и обработайте событие в соответствующей функции.

Как же всё сложно)))

Программа создаёт объект на графике, нужно, что бы он не перекрыл объекты созданные другими программами.

 
Aleksandr Slavskii #:
что бы он не перекрыл объекты созданные другими программами.

так фоном его создавай, всё остальное будет всегда поверх

 
WWolf #:

так фоном его создавай, всё остальное будет всегда поверх

Как же бывает сложно объяснить задачу)))

Казалось бы одно слово, а программист извратит весь смысл сказанного.

Хорошо, перефразируем.

Программа создаёт объект на графике, нужно, что бы он не пересекался с объектами созданные другими программами.


ЗЫ. Собственно проблема не в переборе всех объектов графика, а в поиске свободного места.

Допустим я перебрал все объекты графика и обнаружил, что то место на которое я хотел бы разместить объект занято.

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

И так до тех пор пока не найдётся свободное место.

Такой подход мне не нравится, не потому, что это сильно долго, просто на мой взгляд это не эффективно (не красиво), хочется красиво.

 
Aleksandr Slavskii #:

Как же бывает сложно объяснить задачу)))

Ну мы ж не знаем что у тебя в голове и как ты это видишь :)

Ну кроме перебора всего и вся только вариант таскаемой панельки и пусть пользователь сам суёт где ему удобно :)

 
WWolf #:

Ну мы ж не знаем что у тебя в голове и как ты это видишь :)

Ну кроме перебора всего и вся только вариант таскаемой панельки и пусть пользователь сам суёт где ему удобно :)

Так проблема именно в ней, в таскательности.

Как перетащить объекты, если они нагромоздились один на другой?