Скачать MetaTrader 5

Ретроспектива

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Используй MQL5 Cloud Network. Это безопасно!
-Aleks-
6982
-Aleks- 2015.04.06 21:56 

Всем известны индикаторы, которые перерисовываются с получением новых данных, пожалуй самым известным является индикатор Zig-Zag.

Вопрос, как получить значение таких индикаторов на в прошлом на каждом баре без корректировок - так, как это выглядело бы при при тестировании советника в режиме визуализации с наложением индикатора.

В частности, интересует, как узнать все точки  Zig-Zag, а не только пики?

Andrey F. Zelinsky
31295
Andrey F. Zelinsky 2015.04.07 02:12  
-Aleks-:

Всем известны индикаторы, которые перерисовываются с получением новых данных, пожалуй самым известным является индикатор Zig-Zag.

Зиг-Заг не совсем верно считать перерисовывающим индикатором -- он не перерисовывает вершины.

То что у Зиг-Зага последний луч находится в стадии формирования -- это нельзя назвать перерисовкой. 

Andrey F. Zelinsky
31295
Andrey F. Zelinsky 2015.04.07 04:59  

То что Зиг-Заг называют перерисовывающим индикатором -- это больше неверное понимание, что такое "перерисовка"

Даже Фрактал не корректно называть перерисовывающим индикатором.

Точно также как текущий (нулевой) бар МА (никто не относит МА к перерисовывающим индикаторам) находится в состоянии формирования -- так и последний луч Зиг-Зага и Фрактал на баре 2 -- находятся в состоянии формирования. 

-Aleks-
6982
-Aleks- 2015.04.07 07:54  
abolk:

То что Зиг-Заг называют перерисовывающим индикатором -- это больше неверное понимание, что такое "перерисовка"

Даже Фрактал не корректно называть перерисовывающим индикатором.

Точно также как текущий (нулевой) бар МА (никто не относит МА к перерисовывающим индикаторам) находится в состоянии формирования -- так и последний луч Зиг-Зага и Фрактал на баре 2 -- находятся в состоянии формирования.  

Название "перерисовывающийся" в данной ветке отражает действия индикатора приводящие к его изменению числовых показателей, вычисления по которым завершено на прошлых барах.
Зиг-заг отличный пример этих действий - я не обсуждаю правильно/неправильно или хорошо/нехорошо, а констатирую факт перерисовки.
Если говорить конкретно о Зиг-Заге, то он может затереть вектор начавшегося движения и поменять его на противоположный.
Задача стоит конкретная - получить данные индикатора на закрытии каждого бара. Есть идеи?

Andrey F. Zelinsky
31295
Andrey F. Zelinsky 2015.04.07 08:07  
-Aleks-:

Название "перерисовывающийся" в данной ветке отражает действия индикатора приводящие к его изменению числовых показателей, вычисления по которым завершено на прошлых барах.
Зиг-заг отличный пример этих действий - я не обсуждаю правильно/неправильно или хорошо/нехорошо, а констатирую факт перерисовки.
Если говорить конкретно о Зиг-Заге, то он может затереть вектор начавшегося движения и поменять его на противоположный.
Задача стоит конкретная - получить данные индикатора на закрытии каждого бара. Есть идеи?

вы дайте сначала понимание перерисовки (просто понимание).

не все конструкции барные

фрактал -- пятибарная конструкция

зиг-заг -- несколько-барная.

на каком основании -- вы по перерисовке луча зиг-зага (последнего луча) судите о перерисовке зиг-зага -- если суть зиг-зага -- это вершины -- и ни одну сформированную вершину зиг-заг не перерисовывает

зиг-заг никогда не был перерисовывающим индикатором -- то что вы его таким хотите видеть -- это не меняет сути 

Sergey Dzyublik
4818
Sergey Dzyublik 2015.04.07 08:38  

сделать то что надо можно.

Создать вертикальную линию-объект "эпохи",
при перемещении линии в прошлое индикатор будет перерассчитываться до текущей линии.

Если же хотите видеть все-все лучи сразу:
надо переписать индикатор и сделать его на событиях "новый бар" и "новый тик" с использованием для отображения результатов трендовых линий,
но лучше, как мне кажется, будет изменить тип отображения индикаторного буффера, просто добавив стрелки на исчезнувших вершинах. 

Vasiliy Sokolov
21693
Vasiliy Sokolov 2015.04.07 11:45  
-Aleks-:

Название "перерисовывающийся" в данной ветке отражает действия индикатора приводящие к его изменению числовых показателей, вычисления по которым завершено на прошлых барах.
Зиг-заг отличный пример этих действий - я не обсуждаю правильно/неправильно или хорошо/нехорошо, а констатирую факт перерисовки.
Если говорить конкретно о Зиг-Заге, то он может затереть вектор начавшегося движения и поменять его на противоположный.
Задача стоит конкретная - получить данные индикатора на закрытии каждого бара. Есть идеи?

Вам совершенно правильно заметили что Зиг-Заг ничего не перерисовывает. Его последний луч находиться в состоянии формирования, поэтому использовать его некорректно. Точно также как использовать цену закрытия у нулевого бара в МТ.

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

Вот посмотрите на один из вариантов зиг-зага. Он не перерисовывается. Вместо этого он помечает потенциальные вершины и впадины зелеными и синими маркерами. Благодаря чему видно сформированные вершины, которые не стали экстремумами зиг-зага:

 

Обратите внимание на самый конец котировок:  последние девять баров без линии зиг-зага. Если появиться новый экстремум, последняя линия зиг-зага будет продолжена вверх до него. Если появиться новый минимум, он будет помечен синей точкой, зиг-заг зафиксирует текущую линию на текущем экстремуме, и начнет новую линию вниз, соединяющую верхний экстремум с новым минимумом:

 

-Aleks-
6982
-Aleks- 2015.04.07 14:13  
abolk:

вы дайте сначала понимание перерисовки (просто понимание).

не все конструкции барные

фрактал -- пятибарная конструкция

зиг-заг -- несколько-барная.

на каком основании -- вы по перерисовке луча зиг-зага (последнего луча) судите о перерисовке зиг-зага -- если суть зиг-зага -- это вершины -- и ни одну сформированную вершину зиг-заг не перерисовывает

зиг-заг никогда не был перерисовывающим индикатором -- то что вы его таким хотите видеть -- это не меняет сути 

Что я считаю перерисовкой уже писал - изменение значение буфера индикатора на любом баре [n+1], кроме нулевого.

Повторюсь, я не хочу обсуждать сам индикатор и его особенности построение - интересует его значение в неизменном виде. То значение, когда нулевой бар закрылся и индикатор нарисовался (а в случае с Зиг-Заг значение может вообще отсутствовать на текущем баре).

И, вектор последнего луча может меняться - посмотрите работу стандартного Зиг-Заг в тестере стратегий при визуализации.


ALXIMIKS:

сделать то что надо можно.

Создать вертикальную линию-объект "эпохи",
при перемещении линии в прошлое индикатор будет перерассчитываться до текущей линии.

Если же хотите видеть все-все лучи сразу:
надо переписать индикатор и сделать его на событиях "новый бар" и "новый тик" с использованием для отображения результатов трендовых линий,
но лучше, как мне кажется, будет изменить тип отображения индикаторного буффера, просто добавив стрелки на исчезнувших вершинах. 

Про вертикальную линию-объект "эпохи" - интересное решение, но почему нельзя тогда автоматом - в индикаторе сдвинуть эту линию и выдать новое значение индикатора для каждого бара?

Решение переписью индикатора - понятное, но думал, что есть и иной алгоритм.


C-4:

Вам совершенно правильно заметили что Зиг-Заг ничего не перерисовывает. Его последний луч находиться в состоянии формирования, поэтому использовать его некорректно. Точно также как использовать цену закрытия у нулевого бара в МТ.

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

Вот посмотрите на один из вариантов зиг-зага. Он не перерисовывается. Вместо этого он помечает потенциальные вершины и впадины зелеными и синими маркерами. Благодаря чему видно сформированные вершины, которые не стали экстремумами зиг-зага:

 

Обратите внимание на самый конец котировок:  последние девять баров без линии зиг-зага. Если появиться новый экстремум, последняя линия зиг-зага будет продолжена вверх до него. Если появиться новый минимум, он будет помечен синей точкой, зиг-заг зафиксирует текущую линию на текущем экстремуме, и начнет новую линию вниз, соединяющую верхний экстремум с новым минимумом: 

По картинке создается ощущение, что точки появляются рано, относительно прошлого пика. Правильно я понимаю, что эти точки показывают пики индикатора для обычного Зиг-Зага, который более склонен к рисованию?
Vasiliy Sokolov
21693
Vasiliy Sokolov 2015.04.07 14:21  
-Aleks-:

По картинке создается ощущение, что точки появляются рано, относительно прошлого пика. Правильно я понимаю, что эти точки показывают пики индикатора для обычного Зиг-Зага, который более склонен к рисованию?

Точки появляются уже на нулевом баре и никогда уже не исчезают и не перерисовываются. Линия зиг-зага рисуется по этим точкам. Направление линии зиз зага не меняется,  но новые экстремумы/минимумы (зелены и синии точки) могут продолжить линию в ее направлении. Данный зиз-заг не имеет ни какого отношения к стандартному зиз-загу МТ.
-Aleks-
6982
-Aleks- 2015.04.07 16:02  
C-4:
Точки появляются уже на нулевом баре и никогда уже не исчезают и не перерисовываются. Линия зиг-зага рисуется по этим точкам. Направление линии зиз зага не меняется,  но новые экстремумы/минимумы (зелены и синии точки) могут продолжить линию в ее направлении. Данный зиз-заг не имеет ни какого отношения к стандартному зиз-загу МТ.
Принцип выставления точек понятен при продолжении движения цены - на экстремумах, но какой способ при смене вектора движения, как вы утверждаете там другой принцип, нежели в стандартном Зиг-Заге, но какой? У индикатора 4 буфера - два для пиков и два для точек?
-Aleks-
6982
-Aleks- 2015.04.07 16:12  
Возможно я не точно объяснился. Если говорить на примере Зиг-Заг, то мне нужно знать два значения индикатора - текущее [n+x] и ближайшее от текущего [n+x+y], где n - индекс бара в истории, x - отступ влево от найденного бара, если на текущем баре нет значения индикатора, и y - отступ влево до ближайшей точки от последней точки (до пика), при это n - это для расчета нулевой индекс бара.
123
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий