Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2386

 
Alexey Viktorov #:

И как в OnChartEvent подвигать объект мышкой??? Отловить перемещение — понятно. Но ведь в вопросе именно двигать мышкой не выделив объект…

Я делала такое, двигая прямоугольную метку. Здесь правда координаты цена/время у объекта. а не пиксели, но думаю можно будет пересчитывать

 
Alexey Viktorov #:

И как в OnChartEvent подвигать объект мышкой??? Отловить перемещение — понятно. Но ведь в вопросе именно двигать мышкой не выделив объект…

Координаты курсора известны?

Координаты объекта известны?

Что мешает смещать объект за курсором?

 
Artyom Trishkin #:

OBJ_BITMAP

Я тоже подумала про этот объект, но раньше им не пользовалась. Посмотрю, спасибо

 
Artyom Trishkin #:

Координаты курсора известны?

Координаты объекта известны?

Что мешает смещать объект за курсором?

А если координаты курсора в пикселях, а объекта - цена время, не будет торомзить при пересчете из одного измерения в другое. Я так еще не пробовала )

 
Elena Baranova #:

Как с помощью кода MQL5 разместить объект типа стрелка, чтобы его центр совпал с координатой цена/время

Например, если в координатах объекта задать лоу свечи, то получается так:

А нужно, чтобы центр объекта был на лоу свечи. В параметрах предусмотрено выравнивание только по верхнему и нижнему краю, но не по центру.

вот если бы вы рисовали через буфер индикатора (что для индикаторов и должно быть) то там есть свойство  PLOT_ARROW_SHIFT и его можно задать от размера шрифта. И терминал авто-позиционирует

 
Maxim Kuznetsov #:

вот если бы вы рисовали через буфер индикатора (что для индикаторов и должно быть) то там есть свойство  PLOT_ARROW_SHIFT и его можно задать от размера шрифта. И терминал авто-позиционирует

И как его потом мышкой двигать?
 
Elena Baranova #:

А если координаты курсора в пикселях, а объекта - цена время, не будет торомзить при пересчете из одного измерения в другое. Я так еще не пробовала )

Пересчитывать нужно только при перемещении курсора. Функции затратные, но не настолько, чтобы повлиять на визуал при перемещении точки.

 
Elena Baranova #:

А если координаты курсора в пикселях, а объекта - цена время, не будет торомзить при пересчете из одного измерения в другое. Я так еще не пробовала )

Вам координаты курсора, нужны только для захвата объекта, а дальше отслеживаете цена/время объекта и устанавливаете на прямоугольник.
 
Tretyakov Rostyslav #:
Вам координаты курсора, нужны только для захвата объекта, а дальше отслеживаете цена/время объекта и устанавливаете на прямоугольник.

если делать хорошо : только экранные координаты, дивный секс с объектами (или даже канвасами), размерами шрифта, разрешением экрана, сдвигами чарта, определением "центра объекта типа стрелка" (визуально они у разных стрелок разные) :-)

транслировать время/цену в координаты, но точно угадывать моменты и сколько добавить по X,Y

на скорую руку : стрелкам давать правильный ANCHOR, разрешить SELECTABLE , отлеживать OBJECT_DRAG, при случайном удалении пересоздавать снова. В разы меньше кода

 
Artyom Trishkin #:

Координаты курсора известны?

Координаты объекта известны?

Что мешает смещать объект за курсором?

Это уже не соответствует «заданию»

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам

Elena Baranova, 2024.03.14 16:43

В итоге мне нужно реализовать следующее. Двигая красную метку мышкой, увеличивать ширину зоны. Высота зоны при этом не должна меняться. Я уперлась в то, что не могу создать метку четко в углу прямоугольника. Может это механизм можно реализовать как-то по другому? Может использовать в качестве метки какой-то другой объект, а не стрелку. При этом метка не должна выделяться, чтобы ее нельзя было случайно удалить.


Для твоего варианта красная метка вообще не нужна. надавил крыску в углу прямоугольника и двигая её меняется размер прямоугольника.

И ошибка Елены, видимо в том, что она берёт цену этой красной метки, а не цену прямоугольника. И на сколько-бы не сместилась эта красная метка, нижняя граница прямоугольника остаётся на прежнем уровне. А когда крыску отпустил, метка встаёт на уровень прямоугольника.

Причина обращения: