Как правильно в MQL4 сделать..

 
... чтобы линия (например МА) меняля свой цвет в зависимости от условий. Ну .например ,
5 баров она красная затем зеленая и т.д.

Образец кода пожалуйста дайте.
Заранее благодарен.
 
Не парься, просто ставь символы нужного цвета на этой линии. Я так думаю.
 
... чтобы линия (например МА) меняля свой цвет в зависимости от условий. Ну .например ,
5 баров она красная затем зеленая и т.д


К сожалению, у одной линии может быть только один цвет.
Есть выход - использовать индикатор с несколькими линиями, разными цветами и с
режимом вывода отрезков.
 
Привет Ренат.
Если бы вы реализовали возможность рисования линии с динамически меняемыми параметрами (цвет, стиль, толщина), то было бы просто супер !
 
To Renat:
Скажите, нелюбовь к объектам это отчего?
На мой взгляд торговые терминалы - одна из наиболее легко адаптируемых областей применения объектных технолгий. Тогда не было бы проблемы менять параметры индикаторов и баров путем внесения больших кусков кода программы.
А смена цвета линий - это кроме всего прочего весьма эргономичная вещь, т.к. позволяет уменьшить количество сущностей на экране. Так что было бы весьма не плохо бы внедрить такую возможность для индикаторов .
 
никто не мешает динамически менять цвет, стиль, и толщину линии в пользовательском индикаторе

===
void SetIndexStyle(int index, int type, int style, int width, color clr)

Sets new type, style, width and color for pointed indicator line.

Parameters
index - Line index.
type - Shape style. Can be one of DRAW_LINE, DRAW_SECTION, DRAW_HISTOGRAM, DRAW_ARROW.
style - Drawing style. Valid when width=1.
width - Line width. valid values - 1,2,3,4,5.
clr - Line color.

Sample
SetIndexStyle(3, DRAW_LINE, PS_SOLID, 2, Red);
 
To slawa

Если делать как Вы предлагаете - рисует отрывками. Надо ,чтобы линия не вся меняля цвет, а кусками.

И еще - у Вас с ренатом разные ответы на вопрос - кому верить?
 
wellx, совместите наши 2 ответа в одном решении и получите желаемое. единственная неточность у Рената в том, что он предложил стиль DRAW_SECTION (если дословно понимать "с режимом вывода отрезков"). он имел в иду стиль DRAW_LINES, но заполнять отрезками, то есть часть индексного массива заполнять реальными данными, часть - пустыми. на обед пойду, сделаю работающий вариант пользовательского индикатора
 
Скажите, нелюбовь к объектам это отчего?
На мой взгляд торговые терминалы - одна из наиболее легко адаптируемых областей применения объектных технолгий. Тогда не было бы проблемы менять параметры индикаторов и баров путем внесения больших кусков кода программы.


Доведем идею до реальности: надо иметь возможность каждому отрезку назначать свой цвет и стиль.
Это получается, что надо на один индикатор иметь/резервировать в несколько раз больше памяти и
при отрисовке терять в скорости. Вобщем-то это не наш выбор, у нас другие приоритеты.
И потом, индикатор - это объект, а вот кусочки линий в индикаторе - это не объект.

И еще - у Вас с ренатом разные ответы на вопрос - кому верить?


Слава указал что у _всего_ индикатора разово можно поменять цвет, а я про то, что у разных
частей индикатора нельзя независимо цвета выставлять. Вы ведь именно о независимом назначении
цветов на любой отрезок индикатора говорили?
 
To slawa
- Буду ждать пример индикатора.
To Renat
>>Это получается, что надо на один индикатор иметь/резервировать в несколько раз больше памяти и при отрисовке терять в скорости.............
.......
, индикатор - это объект, а вот кусочки линий в индикаторе - это не объект.
>>
Все зависит от заложенной реализации. Как Вы реализовали я не знаю, Вам виднее. Насчет линии в индикаторе - это тоже объект ,Но не индикатор ,а набор индикаторов - часто именуется в разных языках как List, Collection & etc. Но нет и нет. реализуем иначе. Спасибо за ответы и внимание к нам.
Успехов и далее.
 
Доведем идею до реальности: надо иметь возможность каждому отрезку назначать свой цвет и стиль.
Это получается, что надо на один индикатор иметь/резервировать в несколько раз больше памяти и
при отрисовке терять в скорости. Вобщем-то это не наш выбор, у нас другие приоритеты.
И потом, индикатор - это объект, а вот кусочки линий в индикаторе - это не объект.


Renat, Slawa, хочу привести весомые (IMHO) аргументы в пользу реализации в MT4 линии, у которой можно менять для произвольной секции цвет стиль и толщину:

1. Подозреваю, что и при текущих возможностях MT4 можно нарисовать обсуждаемую нами линию. Ее можно сделать из нескольких (до 8) обычных линий с типом DRAW_SECTION. Соответственно один пользовательский индикатор сможет выводить только одну линию с 8ю стилями или 2е с 4мя или 4е с 2мя.
Если у пользователя будет необходимость выводить несколько линий у которых по бизнес смыслу полагается иметь 8 стилей, то пользователь просто наложит на график несколько индикаторов и получит то что он хочет.
Соответственно полюбомуэто можно сделать и полюбому получится замедление работы и отжор памяти.
В связи с этим считаю оправданным реализацию линии с динамически меняемыми характеристиками.

2. Во многих популярных программах тех. анализа есть такая возможность. Например в омеге.

3. Т.к. в MT4 сделан прорыв в программировании индикаторов и экспертов (mq4 и dll), то я думаю что нужно сделать соответствующий прорыв в визуализировании результатов вычислений. В частности добавление полезных граф. возможностей. согласен, что далеко не все можно и нужно реализовывать, но линию с динамически меняемыми параметрами рассмотреть как кандита необходимо.

Спасибо.
Причина обращения: