Индикатор, Нужна консультация по авто-управлению ДИСТАНЦИЕЙ между текстом (МТ-4) - страница 2

 
В МТ4 нет нормального решения сей проблемы. Один вариант - использовать ATR с периодом этак 100 баров (и смещением 1), второй вариант - написать функцию возвращающую пункты в зависимости от таймрейма.
 
Dmitry Fedoseev:
В МТ4 нет нормального решения сей проблемы. Один вариант - использовать ATR с периодом этак 100 баров (и смещением 1), второй вариант - написать функцию возвращающую пункты в зависимости от таймрейма.

По-моему, канвас - абсолютно кроссплатформенное универсальное решение, имеющее огромные возможности в сравнении с граф.объектами.

 

зачем всё подписывать словами?
это ведь сильно перегрузит восприятие — куча текста на чарте.

я бы сделал разные значки-символы для каждого паттерна (ну и выбор кода символа в параметрах).

 
Всё правильно, порядок на графике важен. Но его нужно быстро сделать не увлекаясь украшениями, и направлять свои силы сами знаете куда
 

как сделать без канваса, но по тем же принципам:

1. для определения текущего отступа понадобится текущая высота окна графика в пикселях: ChartGetInteger со свойством CHART_HEIGHT_IN_PIXELS

2. для определения начала отрисовки: ChartTimePriceToXY

3. как определится какой участок графика мы сейчас видим? ChartGetInteger со свойствами CHART_VISIBLE_BARS и CHART_FIRST_VISIBLE_BAR

4. всё происходит в OnChartEvent. рисуем объекты типа метка OBJ_LABEL

а вообще вспоминается старый скулёж (мой в том числе) по поводу многострочного текста... эх, если бы...

 
Igor Zakharov:

как сделать без канваса, но по тем же принципам:

1. для определения текущего отступа понадобится текущая высота окна графика в пикселях: ChartGetInteger со свойством CHART_HEIGHT_IN_PIXELS

2. для определения начала отрисовки: ChartTimePriceToXY

3. как определится какой участок графика мы сейчас видим? ChartGetInteger со свойствами CHART_VISIBLE_BARS и CHART_FIRST_VISIBLE_BAR

4. всё происходит в OnChartEvent. рисуем объекты типа метка OBJ_LABEL

а вообще вспоминается старый скулёж (мой в том числе) по поводу многострочного текста... эх, если бы...

Канвас кажется монстром? И поэтому нужно создать Франкенштейна...
Многострочный комментарий делается на раз.
 
Artyom Trishkin:
Многострочный комментарий делается на раз.

комментарий? это тот что в левом верхнем углу? как он поможет автору топика?

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

пассаж про канвас и монстра я не понял... 

кстати, вот пример на канвасе от Николая, почти то, что нужно автору, правки минимальные:

https://www.mql5.com/ru/forum/329224#comment_14363671

 
Igor Zakharov:

как сделать без канваса, но по тем же принципам:

1. для определения текущего отступа понадобится текущая высота окна графика в пикселях: ChartGetInteger со свойством CHART_HEIGHT_IN_PIXELS

2. для определения начала отрисовки: ChartTimePriceToXY

3. как определится какой участок графика мы сейчас видим? ChartGetInteger со свойствами CHART_VISIBLE_BARS и CHART_FIRST_VISIBLE_BAR

4. всё происходит в OnChartEvent. рисуем объекты типа метка OBJ_LABEL

а вообще вспоминается старый скулёж (мой в том числе) по поводу многострочного текста... эх, если бы...

Лучше написать функцию возвращающая дистанцию по цене, но соответствующую заданному количеству пикселей. Потом еще в OnChartEvent пройтись по видимой части графика и подкорректировать дистанции до текстовых меток. При таком подходе объем доработок минимален и отличие индикатора от обычного индикатора тоже минимально.

 
Artyom Trishkin:

По-моему, канвас - абсолютно кроссплатформенное универсальное решение, имеющее огромные возможности в сравнении с граф.объектами.

Нет. Это никому не нужно, кроме маленькой горстки энтузиастов. А в основном людям нужно так, что бы все было просто, прямо и понятно. 

 
Dmitry Fedoseev:

Нет. Это никому не нужно, кроме маленькой горстки энтузиастов. А в основном людям нужно так, что бы все было просто, прямо и понятно. 

Так ведь проще и понятнее написать/нарисовать на канвасе всё изобретаемое-двигаемое-подстраиваемое при помощи граф.объектов. Объект прост. Но их соотношение - огород. А канвас - тоже объект, но один на свечу - создал холст и нарисовал там всё необходимое. И не нужно думать как сохранить дистанции межстрочные при изменении периода графика и верт.масштаба.