Как отлавливать в советнике его события?

 
Ппожалуйста. Имеется индикатор Phat_ZigZag (прикрепленный). Хочется отлавливать в советнике его события, но так как я еще плоховато в этом разбираюсь, получается ерунда.
Вот такая строчка
- iCustom(NULL,curTimeframe,"Phat_ZigZag",60,15,5,3, 1, i); запускаемая один раз в таймфрейм и в случае ненулевого значения рисует вертикальную линию. Так вот таких линий больше, чем сигналов индикатора и не слижком они совпадают с индикатором.. похоже отдаленно, но совсем не то. А вот если просто циклом пробежацца по истории в denit(), все отрисуется тютелька в тютельку до даты старта эксперта, а после нее опять лажа. Скажите пожалуйста как это исправить?..Ведь индикатор то рисует..

Спасибо!

Файлы:
 

Лажи никакой нет. ZigZag нащупывает правые бары, т.е. перерисовывается.

Ставит линию, затем переносит ее кончик, а у вас об этом на память остается vert. линия.

Исправить нельзя.

Где то в CodeBase есть вариант ZigZag с каналом регресcии к нулевому бару.

 
Korey:

Лажи никакой нет. ZigZag нащупывает правые бары, т.е. перерисовывается.

Ставит линию, затем переносит ее кончик, а у вас об этом на память остается vert. линия.

Исправить нельзя.

Где то в CodeBase есть вариант ZigZag с каналом регресcии к нулевому бару.


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

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

все происходило очень быстро, секунда точка есть, и пропала.

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

Смотрел, смотрел код и бросил. Не нашел основний тратить на него время.

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

Например, удержалась несколько тиков подряд, значит настоящая.

 
Korey:

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

все происходило очень быстро, секунда точка есть, и пропала.

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

Смотрел, смотрел код и бросил. Не нашел основний тратить на него время.

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

Например, удержалась несколько тиков подряд, значит настоящая.

Проверку я делую один раз в таймфрейм по предыдущему бару, пробовал даже shift в 2,3 и 10 выставлять и с такой задержкой линии не так рисуются. Как тогда определить ложность точки, если значение получаемое от индикатора не обнуляется?
 
И все таки я не пойму ничего. Если за один раз пробежатся циклом по барам например с 1500 по текущий, линии поставятся идеально, а если шифт поставить в 1500 и в реальном времени анализировать с задержкой в 1500 баров - строятся криво.
 

Вручную на истории можно еще и так 'Visual Start'

 
А как по истории? Если в различных ситуациях от эксперта я получаю разные данные. Почему так?
Для наглядности попытаюсь так рассказать о происходящем. Допустим стартую советника 2го мая и во время старта пробегаюсь по прошедшему дню (1го мая) и расставляю свои разнесчастные линии, которые кто-бы сомневался, попадают ровно на свои места (совпадают с индикацией индикатора - кружочками) А затем уже в функции start() с каждым новым баром (измерения делую один раз за бар, остальные тики пропускаю) получаю данные с бара, ровно 24й часовой давности и так на протяжении всего 2го мая рисую линии на 1ом мая, и тут уже опять кто бы омневался - они садятся не по своим местам. Такое ощущение, если в каждый тик или бар полностью перегружать советник, то он бы строил правильно. Почему так происходит, объясните пожалуйста..
 
Korey:

Лажи никакой нет. ZigZag нащупывает правые бары, т.е. перерисовывается.

Ставит линию, затем переносит ее кончик, а у вас об этом на память остается vert. линия.




Да, но как написано выше, если беру отсчеты с задержкой в несколько 10ов баров - значение имеется, а индикатора в этом месте нет :/ Скажите пожалуйста, а на чем основывается индикатор, определяя - рисоваться ему или нет? И можно ли например заменить его рисунки, на uрафические объекты, доступ к котором можно получить из советника?
 

Никто больше чой то не советует, Получается на ZigZag в советнике давно уже не надеются.

Попробуйте более дружелюбный ZigZag 'Zigzag2 R'


Посмотрите/спросите Rosh на его личном блоге. http://www.simple-testing.blogspot.com/


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

 
Korey:

Никто больше чой то не советует, Получается на ZigZag в советнике давно уже не надеются.

Попробуйте более дружелюбный ZigZag 'Zigzag2 R'


Посмотрите/спросите Rosh на его личном блоге. http://www.simple-testing.blogspot.com/


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


Спасибо, посмотрим и этот.

И спасибо за ссылку на блог Rosh, пойду и туда с этим вопросом


Да, об этом знаю конечно. Это как раз и описывал. Шаблон tester со всеми индюками и загружается? где я все это и наблюдаю.

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

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