Скачать MetaTrader 5

Индикатор из прерывистых линий.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Michail Smikov
188
Michail Smikov  

Уважаемый господа, прошу вашей помощи в написании индикатора. 

Не получается и не знаю как сделать индикатор состоящий из прерывистых линий.

 

Если прописать DRAW_LINE, то индикатор соединяет линие только соседние бары, например бар с индексом i и i+1 (или  i-1)         Если попробовать соединить с баром i+2 то линяя вообще пропадает с графика.

    SetIndexStyle(1,DRAW_LINE,0,3,clrDeepPink);

Если прописать DRAW_SELECTION, то соединяются все непустые значения индикатора, образуя неприрывистую линию.

 

Мне необходимо сделать так чтоб линией соединялись отдельные фрагменты. 

Например как на рисунке.

 

Valeriy Korobeynik
24967
Valeriy Korobeynik  
Нужно вычислить значение линии на каждом баре, где будет линия. Крайних точек недостаточно, хотя можно и объектами рисовать, если буферы заполнять необязательно.
Vitalie Postolache
12318
Vitalie Postolache  
dr0:

Уважаемый господа, прошу вашей помощи в написании индикатора. 

Не получается и не знаю как сделать индикатор состоящий из прерывистых линий.

 

Если прописать DRAW_LINE, то индикатор соединяет линие только соседние бары, например бар с индексом i и i+1 (или  i-1)         Если попробовать соединить с баром i+2 то линяя вообще пропадает с графика.

    SetIndexStyle(1,DRAW_LINE,0,3,clrDeepPink);

Если прописать DRAW_SELECTION, то соединяются все непустые значения индикатора, образуя неприрывистую линию.

 

Мне необходимо сделать так чтоб линией соединялись отдельные фрагменты. 

Например как на рисунке.

А DRAW_ZIGZAG не пробовали?

А ещё можно попробовать через DRAW_SECTION, но ненужный буфер заполнять EMPTY_VALUE.

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



Michail Smikov
188
Michail Smikov  
evillive:

А DRAW_ZIGZAG не пробовали?

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




Как нарисовать графикй, я понимаю. Это слишком просто.=))

 

Как с ZIGZAG можете подсказать пример кода? Я так с ним не разобрался. Там каких два масива нужно объявлять.  

Valeriy Korobeynik
24967
Valeriy Korobeynik  
ЗЗ не получится. Известно же кол-во баров, и разница в пунктах между крайними точками. Рассчитать разницу на 1 бар, и заполнить значение буфера на протяжении всей линии.
Michail Smikov
188
Michail Smikov  
valeryk:
ЗЗ не получится. Известно же кол-во баров, и разница в пунктах между крайними точками. Рассчитать разницу на 1 бар, и заполнить значение буфера на протяжении всей линии.


Нашел пример индикатора где используется DRAW_ZIGZAG  - это то же самое что SELECTION, только с двумя буферами.   Непустые значения соединяются линиями.

 

Видимо прийдется делать как вы советуете. Спасибо.

 

Еще вопрос 

В Хелпе упоминаются фразы про доп. массив где будет хранится цвет индикатора на определенном баре. Это работает только в MQL5 ? или на 4й версии можно реализовать? 

Valeriy Korobeynik
24967
Valeriy Korobeynik  
dr0:


Нашел пример индикатора где используется DRAW_ZIGZAG  - это то же самое что SELECTION, только с двумя буферами.   Непустые значения соединяются линиями.

 

Видимо прийдется делать как вы советуете. Спасибо.

 

Еще вопрос 

В Хелпе упоминаются фразы про доп. массив где будет хранится цвет индикатора на определенном баре. Это работает только в MQL5 ? или на 4й версии можно реализовать? 

 

 

 

 

 

 



Я пока не сталкивался, вроде как можно. Но в данном примере судя по графику удобней иметь 2 буфера, отдельно поддержка и отдельно сопротивление.
Victor Nikolaev
Модератор
14807
Victor Nikolaev  
И чем обычные машки не нравятся. Их точно так же можно делать прерывистыми. Самое главное - ничего сложного и всегда работает
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий