DRAW_COLOR_ZIGZAG в пределах одного бара. - страница 4

 
Viacheslav Kuptsov:

Я Вас понял.
Но если возникнет ситуация, когда отрезок будет на одном баре, то будет перерисовка предыдущего отрезка. 

Нет не будет. Потому, что одни отрезки рисует одна пара буферов, с одним буфером цвета, а другие, другая пара с другим буфером цвета.

Мне просто было лениво искать такой отрезок и параметры где можно воспроизвести то что вам надо. Потому я сделал так, как сделал.

 
Но Вы же "ненужному" отрезку будете присваивать индекс цвета clrNONE и если пики совпадут, то предыдущий "нужный" отрезок перекрасится.
 
Rashid Umarov:

Тут немного другое - воспроизвел. Пока объяснить поведение не могу


Цвет меняется от предыдущего бара до текущего и не важно что на одном баре заполнены оба буфера ZZ. Решить проблему можно, на мой взгляд, только введением отдельного буфера цвета на каждый буфер данных. Но это ... как-бы помягче выразиться... Необходимость в этом так редка, что стоит-ли с этим заморачиваться.

 
Viacheslav Kuptsov:
Но Вы же "ненужному" отрезку будете присваивать индекс цвета clrNONE и если пики совпадут, то предыдущий "нужный" отрезок перекрасится.

Проверьте потом обсудим.

Для каждого направления отрезков свои буферы данных и свой буфер цвета и никак не влияет на вторую часть индикатора.

Хотя-бы на моём тестовом, поставьте одному комплекту буферов цвет всегда clrNONE .

 
Viacheslav Kuptsov:

Логи простая: движение вверх - красим синим, движение вниз красим красным. Но если движение образуется на одном баре, то предыдущее движение перекрашивается.

Да, видно, что при изменении цвета на текущем баре (с вертикальным отрезком зигзага), закрашивается и предыдущий отрезок.Алгоритм ищет предыдущий бар, чтобы закрасить отрезок, он не пытается расширить сознание, чтобы понять, что весь отрезок уместился на одном баре. Видимо, унаследовано от простого зигзага.

Тут вариант один - использовать 4(!)  цветных зигзагов для гарантии с использованием PLOT_EMPTY_VALUE на ненужных барах.

 
Alexey Viktorov:

Для каждого направления отрезков свои буферы данных и свой буфер цвета и никак не влияет на вторую часть индикатора.

Хотя-бы на моём тестовом, поставьте одному комплекту буферов цвет всегда clrNONE .

Возможно, не проверял

 
Rashid Umarov:

Тут вариант один - использовать 4(!)  цветных зигзагов для гарантии с использованием PLOT_EMPTY_VALUE на ненужных барах. 

Не совсем удобно. 12 буферов на "один" зигзаг. А если нужно одновременно "два" таких использовать не разделяя (допустим какой-то сложный алгоритм нахождения пиков и что-бы не просчитывать несколько раз)?

Если только разработчики не захотят добавить дополнительный INDICATOR_COLOR_INDEX.

Думаю, что тема исчерпана. Топик можно закрывать.

 

Alexey Viktorov:

Потому я сделал так, как сделал.

Ваш код нерабочий. Для реализации надо 3 зигзага, двух недостаточно.

Возможно на 2 получится, но там будет замутная логика с пропуском вершин у второго зигзага
 
Подозреваю что решение ТС для 4ки с помощью трендовых будет наиболее простым и вполне эффективным.
 
TheXpert:
Подозреваю что решение ТС для 4ки с помощью трендовых будет наиболее простым и вполне эффективным.

Так и реализовал. Все успешно работает. И на 5-ке тоже реализовал через трендовые, но почему то медленновато работает. Думал, что ускорю через цветной зигзаг.

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