Обьекты

 

Здравствуйте, кто может помочь с этими вопросами ниже.

1) Как сделать что бы объект OBJ_EDIT появлялся над линией(любой)?

2) Как мне сделать что бы  объект OBJ_EDIT двигался за моей линией(если я ее передвину)?

 
Aleksei Zhukov:

Здравствуйте, кто может помочь с этими вопросами ниже.

1) Как сделать что бы объект OBJ_EDIT появлялся над линией(любой)?

2) Как мне сделать что бы  объект OBJ_EDIT двигался за моей линией(если я ее перевину)?

на оба вопроса : 

- получить цену соотв.линии ObjectGetDouble(0,objHLine,OBJPROP_PRICE)

- получить Y координту по этой цене ChartTimePriceToXY(..)

- задать новую координату для поля редактирования ObjectSetInteger(0,objEdit,OBJPROP_YDISTANCE,coordY)

- не забыть ChartRedraw()

сие делать внутри OnChartEvent по событиям id=CHARTEVENT_OBJECT_DRAG, CHARTEVENT_OBJECT_CHANGED для objHLine

 
Спасибо вроде понял
 
Maxim Kuznetsov #:
ChartRedraw()

Интересно, а что лучше использовать в индикаторе, WindowRedraw() или ChartRedraw()?

 
Vitaly Murlenko #:
WindowRedraw()

Это вытащено с мусорки

 
Vitaly Muzichenko #:

Это вытащено с мусорки

Что Вы имеете ввиду? Я нашёл это в справке языка.

 

ChartRedraw

Вызывает принудительную перерисовку указанного графика


WindowRedraw

Принудительно перерисовывает текущий график


Вы думаете, что это чем-то отличается?

Конечным результатом не отличается. Только ChartRedraw из MQL5, а WindowRedraw устаревшая функция MQL4.

 

Спасибо, парни :)

ChartRedraw

ChartRedraw() - из индикатора график будет перерисован только после окончания расчетов в функции OnCalculate() - это из справки.

WindowRedraw() - Принудительная перерисовка текущего графика обычно применяется после изменения свойств объектов  - это из справки. 

Я так понимаю, что WindowRedraw() перерисовывает сразу, без ожиданий окончания OnCalculate(). Отсюда закономерный вопрос, что если обе эти функции применять в советнике? Ведь в эксперте можно создавать и менять свойства объекта. Я имею ввиду, что просто интересно, будет ли функция  CуhartRedraw() ожидать окончания работы всего кода советника на текущем тике, или перерисует сразу? И вообще можно ли использовать  ChartRedraw() в советнике?

 
Vitaly Murlenko #:

Спасибо, парни :)

ChartRedraw

ChartRedraw() - из индикатора график будет перерисован только после окончания расчетов в функции OnCalculate() - это из справки.

WindowRedraw() - Принудительная перерисовка текущего графика обычно применяется после изменения свойств объектов  - это из справки. 

Я так понимаю, что WindowRedraw() перерисовывает сразу, без ожиданий окончания OnCalculate(). Отсюда закономерный вопрос, что если обе эти функции применять в советнике? Ведь в эксперте можно создавать и менять свойства объекта. Я имею ввиду, что просто интересно, будет ли функция  CуhartRedraw() ожидать окончания работы всего кода советника на текущем тике, или перерисует сразу? И вообще можно ли использовать  ChartRedraw() в советнике?

Вы хотите применять функцию в советнике, а читаете о тонкостях применения в индикаторе.

Вам правильно сказали