Алгоритм(ы) ZZ

Тема в разделе "3. - зиг-заги", создана пользователем wellx, 6 дек 2006.

  1. nen

    nen Профи форума

    Это вариация на тему ZZ_Ensign. У ZZ_Ensign никогда не было потерь лучей. Всегда была однопроходность. Но идея по среднему размеру баров интересна.

    Такие зигзаги относятся к трендовым индикаторам. На самом деле этот тип зигзагов чисто формально называются зигзагами. Внешне рисуется зигзаг. Но по своей сути - это не зигзаг.
     
  2. wellx

    wellx Активный пользователь

    NEN, мы в этой ветке и пытаемся понять сермяжную правду-сущность "истинно-правоверного" ЗигЗага ;)

    Идею по среднему размеру давно зрела, по сути, это как отпечаток пальцев , но для данного таймфрейма+валютная пара. Именно здесь не уместны обобщенные значения. Для меня смысл в том, чтобы не влезать в торговлю если колебания идут внутри выбранного мной значения. Кто что выберет - это личное дело каждого, его характера и видения процесса.
    Тут уж кому как удобней.
     
  3. Rosh

    Rosh Новичок

    <a href="http://codebase.mql4.com/ru/1419" target="_blank">DT_ZZ_optimized</a>
     
  4. wellx

    wellx Активный пользователь

    Вот 4ая альфа двухуровнего индикатора ЗЗ.
    Есть большие подозрения , что работает теперь нормально :)
     

    Вложения:

    • ZZ_2L.zip
      Размер файла:
      2,1 КБ
      Просмотров:
      201
  5. nen

    nen Профи форума

    <div align="center"> <b>Идеальный индикатор зигзаг</b></div>

    Сегодня спросил у многоточек.

    Мои вопросы:

    nen @ Today

    Допустим, мы на нескольких планах создаем цепочки чередующихся моделей.
    1. Всегда ли возможно создать такую цепочку из чередующихся моделей?
    2. Или бывают ситуации, когда движение цены не может быть полностью разложено на модели?
    3. Значимые развороты рынка теоретически происходят на уровне т.6. Если мы строим модели на разных планах, то можно предположить, что на значимом развороте шестые точки со всех планов должны совпадать? Имеется в виду уровень т. 6. Иле же это не обязательно? То сеть т. 6 могут и не совпадать.

    Ответы:

    ... @ Today

    …1. на одном Плане цепочку создать можно. Но модели ее составляющие будут принадлежать разным Планам и в приложении к данному будут не всегда соответствовать правилам в своих точках построений. Такие разложения мы публиковали и были несколько публикаций форумян Паука.
    2. на модели движение будет разложено, но модели разных Планов.
    3. это не обязательно и 6-ые могут не совпадать…

    <a href="http://protoforma.com/news/?p=166" target="_blank"><a href="http://protoforma.com/news/?p=166" target="_blank"><a href="http://protoforma.com/news/?p=166" target="_blank"><a href="http://protoforma.com/news/?p=166" target="_blank"><a href="http://protoforma.com/news/?p=166" target="_blank"><a href="http://protoforma.com/news/?p=166" target="_blank"><a href="http://protoforma.com/news/?p=166" target="_blank"><a href="http://protoforma.com/news/?p=166" target="_blank"><a href="http://protoforma.com/news/?p=166" target="_blank"><a href="http://protoforma.com/news/?p=166" target="_blank"><a href="http://protoforma.com/news/?p=166" target="_blank">http://protoforma.com/news/?p=166</a></a></a></a></a></a></a></a></a></a></a>

    ====================

    Из вышеизложенного вытекает:
    1. поиск следующей модели ТАдв (после завершения предыдущей) от т.6 предыдущей надо начинать с минимально возможного плана. То есть с минуток.
    2. <b>идеальный индикатор зигзаг</b>, как вариант, должен иметь экстремумы на шестых точках моделей Тактики Адверза.
     
  6. micmed

    micmed Активный пользователь


    Тогда видимо и методика его построения должна быть по ТАдв ?
     
  7. nen

    nen Профи форума

    Да. Другой вопрос, как эти построения сделать? Пока вижу это в поиске правильных ответов на возникающие по ходу вопросы. Таким образом будет возникать цепочка логических построений, ведущая к "заветной" цели.

    Почему именно тактика Адверза дает возможность приблизиться к построению правильного зигзага? Да потому, что, как мне кажется, ТАдв достаточно хорошо трактует тренды и цели этих трендов. И такой зигзаг будет своими лучами точно воспроизводить тренды. То есть идеальный зигзаг в этом случае идеален с точки зрения точного отражения трендов.
     
  8. nen

    nen Профи форума

    А этот ответ:

    ... @ Today

    …1. на одном Плане цепочку создать можно. Но <b>модели ее составляющие будут принадлежать разным Планам и в приложении к данному будут не всегда соответствовать правилам в своих точках построений</b>.

    выделенная часть ответа, приближает к пониманию того, каким образом строятся протоформы на портале...
     
  9. MaKVell

    MaKVell Новичок

    Нету правды в Вашей догадке. :)
    Построение Протоформ базируется на других принципах.

    С уважением, MaKVell.
     
  10. nen

    nen Профи форума

    MaKVell, здесь не написано многое.


    Надо давать развернутое описание. Пока этого делать не буду. Не здесь это надо обсуждать. И не это главное в затронутой теме.
    Просто возьмите на заметку это сообщение.

    ПС. вспомните, что многоточки сказали, что протоформы построены не полностью на тактике Адверза... плюс тема План на портале.
     
  11. MaKVell

    MaKVell Новичок

    Я тут перечитал свою эту фразу из 5 слов... Как-то категорично прозвучало, как для человека, который не является автором метода. Потому считаю необходимым пояснить, что лично я не знаю алгоритм формирования Протоформ на портале Многоточек, а информация, высказанная мною выше получена из "достоверных третьих рук" :).

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


    1. Дьявол таится в мелочах и второстепенных моментах ;)
    2. Взял, безусловно.

    С уважением, MaKVell.
     
  12. nen

    nen Профи форума

    Ок! MaKVell

    Перенес свое сообщение из другого форума. Потом нашу переписку можно будет куда-то перенести.

    Итак, сообщение:

    У многоточек интересно почитать. Некоторые вопросы явно не проговариваются.

    <b>Про протоформы</b>. В одном из их сообщений было сказано, что протоформы строятся, скажем так, не совсем по Адверзе.
    <b>Про Планы</b>. Есть в теме План на портале картинки с вложенностью планов. Там явно сказано, что план на самом деле один... все строится, грубо говоря, на тиках... Утрирую от себя. (то есть несколько отсебятина идет).
    Везде у них в открытом для всеобщего обозрения виде говорится, что необходимо соблюдать правила. А из их ответа, что я привел также следует, что на одном плане модели построятся, но они будут с разных планов и, соответственно, получатся с некоторыми нарушениями.
    И вот это <b>с некоторыми нарушениями </b> наводит на следующую мысль. Раз протоформы строятся не совсем по Адверзе, значит, скорее всего, протоформы строятся на основе моделей имеющих некоторые нарушения. Но про нарушения явно нельзя говорить. И это, в общем случае, правильно. Необходимо соблюдать правила. Во время учебы отступать от правил нельзя. Но как построить на любом плане модели без нарушений? Не получится. А ведь кривая протоформ на портале строится на любом плане. Значит, я для себя делаю вывод, что многоточки иногда нарушают правила. Но они в теме и понимают прекрасно, что делают, знают последствия своих действий. Как где-то на Пауке сказал Маквелл, надо понимать что ты делаешь и к каким последствиям это может привести. Передаю это (слова Маквелла) своими словами.
     
  13. Gorillych

    Gorillych Активный пользователь

    Извините, прочитал все 8 страниц темы. Выскажу свое мнение.
    Почему-то, используя много лет Омегу, в сознании утвердилось, что пороговое ценовое изменение тренда описывется графиком "крестиков-ноликов", а процентное - зигзагом. Здесь везде в этой теме обсуждается ценовое изменение тренда, т.е. не зиг-заг, а "крестики-нолики", пусть и представленные линиями от экстремумов. Но сути это не меняет.
    Поскольку тема предусматривает рассмотрение различных алгоритмов, приведу код зигзага из Омеги:

    {Description : This Indicator plots ZigZag Percent}

    Inputs: WavePcnt(5), Color(Red), Thicknes(1);
    Variables: SH(0), SL(0), RP(0), RPDate(0), RPTime(0), ZigZag(0), Switch(0), NextZig(0);

    IF CurrentBar = 1 Then Begin
    RP = MedianPrice;
    RPDate = Date;
    RPTime = Time;
    NextZig = Text_New(Date, Time, 0, NumToStr(WavePcnt, 0)+"%-");
    Text_SetColor(NextZig, Color);
    End;

    SH = SwingHigh(1, High, 1, 2);
    SL = SwingLow(1, Low, 1, 2);

    IF SH <> -1 Then Begin
    IF Switch <> -1 AND SH >= RP * (1+(WavePcnt*.01)) Then Begin
    Condition1 = True;
    Switch = -1;
    Condition2 = True;
    End;
    IF Condition1 = False AND Switch = -1 AND SH >= RP Then Begin
    TL_SetEnd(ZigZag, Date[1], Time[1], SH);
    Condition2 = True;
    End;
    IF Condition2 Then Begin
    Condition2 = False;
    RP = SH;
    RPDate = Date[1];
    RPTime = Time[1];
    End;
    End;

    IF SL <> -1 Then Begin
    IF Switch <> 1 AND SL <= RP - (RP*(WavePcnt*.01)) Then Begin
    Condition1 = True;
    Switch = 1;
    Condition2 = True;
    End;
    IF Condition1 = False AND Switch = 1 AND SL <= RP Then Begin
    TL_SetEnd(ZigZag, Date[1], Time[1], SL);
    Condition2 = True;
    End;
    IF Condition2 Then Begin
    Condition2 = False;
    RP = SL;
    RPDate = Date[1];
    RPTime = Time[1];
    End;
    End;

    IF Condition1 Then Begin
    Condition1 = False;
    ZigZag = TL_New(RPDate, RPTime, RP, RPDate[1], RPTime[1], RP[1]);
    TL_SetSize(ZigZag, Thicknes);
    TL_SetColor(ZigZag, Color);
    TL_SetExtRight(ZigZag, False);
    TL_SetExtLeft(ZigZag, False);
    IF False Then Plot1[1](RP, "RP");
    End;

    IF Switch = 1 Then Begin
    Text_SetLocation(NextZig, Date, Time, RP * (1+(WavePcnt*.01)));
    Text_SetStyle(NextZig, 1, 2);
    End;
    IF Switch = -1 Then Begin
    Text_SetLocation(NextZig, Date, Time, RP - (RP*(WavePcnt*.01)));
    Text_SetStyle(NextZig, 1, 2);
    End;

    И коды используемых в нем функций:

    {Description: Swing High}

    Inputs: Occur(NumericSimple), Price(NumericSeries), Strength(NumericSimple), Length(NumericSimple) ;
    Variables: X(0), J(0), Counter(0), Found(FALSE), Price1(0), Truth(FALSE);

    J = Strength;
    Found = FALSE;

    If J > 0 Then Begin
    Counter = 0;
    While J < Length AND Found = FALSE Begin
    Price1 = Price[J];
    X = J + 1;
    Truth = TRUE;
    While Truth AND X - J <= Strength Begin
    If Price1 < Price[X] Then
    Truth = FALSE;
    X = X + 1;
    End;
    X = J - 1;
    While Truth AND J - X <= Strength Begin
    If Price1 <= Price[X] Then
    Truth = FALSE;
    X = X - 1;
    End;
    If Truth Then
    Counter = Counter + 1;
    If Counter >= Occur Then
    Found = TRUE;
    J = J + 1;
    End;
    End;
    If Found Then
    SwingHigh = Price1
    Else
    SwingHigh = -1 ;

    {Description: Swing Low}

    Inputs: Occur(NumericSimple), Price(NumericSeries), Strength(NumericSimple), Length(NumericSimple);
    Variables: X(0), J(0), Counter(0), Found(FALSE), Price1(0), Truth(FALSE);

    J = Strength;
    Found = FALSE;

    If J > 0 Then Begin
    Counter = 0;
    While J < Length AND Found = FALSE Begin
    Price1 = Price[J];
    X = J + 1;
    Truth = TRUE;
    While Truth AND X - J <= Strength Begin
    If Price1 > Price[X] Then
    Truth = FALSE;
    X = X + 1;
    End;
    X = J - 1;
    While Truth AND J - X <= Strength Begin
    If Price1 >= Price[X] Then
    Truth = FALSE;
    X = X - 1;
    End;
    If Truth Then
    Counter = Counter + 1;
    If Counter >= Occur Then
    Found = TRUE;
    J = J + 1;
    End;
    End;
    If Found Then
    SwingLow = Price1
    Else
    SwingLow = -1 ;
     
  14. Gorillych

    Gorillych Активный пользователь

    Совершенно согласен. Линия тренда по многоточкам и по Эллиоту строится одинаково.
    Кстати, Alex Nyroba, не говоря напрямую что ему нужно от программиста, очевидно имеет в виду, в первую очередь, качественный зигзаг для определения концов волн, во вторую очередь, доступ к характеристикам этих экстремумов (цена, время, бар), чтобы иметь возможность по имеющимся лучам рассчитывать будущие, в третью очередь (возможно приоритеты другие), строить канал по Low (High) экстремумов зигзага.
     
  15. nen

    nen Профи форума

    <b>Gorillych</b> писал
    В связи с такой постановкой вопроса необходимо ответить на вопрос: А что есть зигзаг?

    Самое простое и общее определение независимо от алгоритма: Зигзаг - это ломаная линия, соединяющая локальные (в том числе и глобальные) максимумы и минимумы.

    А уже далее можно классифицировать зигзаги в зависимости от алгоритма.

    ======================

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


    Зигзаг Ensign. С этим зигзагом работают паттерны Песавенто в Ensign. Это не совсем зигзаг. Это трендовый индикатор. В этом зигзаге можно задать число баров (minBars), которые пропускаются после бара, на котором остановился луч зигзага. Анализ дальше идет начиная с бара minBars +1.
    Также у этого зигзага можно задать минимальный размер луча по высоте в пунктах (minSize).

    Есть другие трендовые (индикаторы) зигзаги.

    1. Зигзаг Александра (ник ANG или ANG3110). В ZUP - это зигзаг Алекса. В этом зигзаге можно задавать минимальную высоту луча, как в предыдущем загзаге или в процентах от текущей рыночной цены.

    2. Зигзаги рисующие свинги Ганна. Алгоритм как в книге Хьержика "Модель. Цена. Время." Есть различные реализации этого алгоритма.
    Разработка велась на Пауке.
    У Rosh'а он не доведен до конца.
    У Кайзера не знаю, в каком состоянии.
    Profi_R все-таки довел алгоритм до конца. Не проверял. Но, кажется, он исправил ошибки в восьмой версии.
    Наиболее близок к книжному индикатор Profi_R.

    У меня: в ZUP и отдельно Swing_ZZ. Немного отличается от книжного алгоритма.
    Отличие еще и в, как я называю, встроенном алгоритме фазового сдвига. В некоторых ситуациях имеется явно видимый свинг, но книжный алгоритм его не позволяет показать. Рынок вещь иногда рваная и плохо предсказуемая. Так вот этот фазовый сдвиг перескакивает на новую настройку и показывает свинги как бы сначала с новой настройкой. Это грубое объяснение. Сравнивал при программировании с индикатором Profi. (Сравнивал чисто визуально, не глядя в его код. Чужой код - потемки.) И реализовал такой алгоритм.

    Также в ZUP есть встроенный зигзаг Саши - ник товаровед (мухи, гудрый мудвин). У него зигзаг строится по другому принципу. Он учитывает и цену и время. Но, как сказал Саша, там имеется небольшая неточность. Он попытался исправить, но из-за путаницы с размерностями не довел до конца. И еще имеется встроенный зигзаг Tauber'а.

    В ZUP есть еще один экзотический вариант зигзага Ensign и еще один
    экзотический ZZ_Ensign_2 (представлен ОТДЕЛЬНЫМ ИНДИКАТОРОМ)- в тренде и во флэте работает с разными настройками.

    Зигзаг Talex'a - строит последние несколько лучей. Экономичный.

    И самый последний в этом списке будет зигзаг из Метатрейдера с его запутанным алгоритмом. Хотя он должен быть первым в списке. Знакомство с зигзагами чаще всего начинается с этого зигзага.

    ==================

    Вопрос о зигзаге на основе построений по Адверзе возник чисто теоретически.
    Также был бы очень интересен зигзаг, отображающий волны Эллиотта. О таком зигзаге многие волновики давно мечтают. Но если будет такой зигзаг строиться автоматом, то зачем будут нужны волновики... %)
     
  16. Gorillych

    Gorillych Активный пользователь

    Я давно читаю здесь и на mql4 обсуждения, касающиеся зигзагов, поэтому я в теме, поэтому-то и написал.
    Всё-таки зигзаг с одним управляющим параметром Вы сами где-то уже называли более правильным. Это было про зигзаг tauber. Поэтому и Вас напрягал с его работой. Но он тоже строится от пороговой цены. Значит на каждом таймфрейме для него нужно подбирать свое значение. Мне кажется, что процентный сможет работать с одним значением на всех таймфреймах. Во всяком случае, хотелось бы.

    Про волны Эллиота могу сказать, что их сможет показать, наверное, любой зигзаг.
    Давайте на примере. Есть зигзаг, который отметил лоу хай лоу и строит уже переломившийся хай. Проведите луч из первого лоу через второй. Это будет канал 0-2 по Эллиоту. Теперь, когда эта линия будет пробита, лоу который под ней появится станет точкой 4. Корректируете луч от 2 через 4 и ждете, когда образуется хай (волна 5) и пробой канала 2-4. Пробой уйдет ниже точки 4. Это схематично, но довольно часто бывает. Там есть некоторые тонкости, но идентифицировать таким образом волны Эллиота вполне можно. Это, вероятно, и хочет от Вас, как часть работы, Алекс Nyroba :)
     
  17. nen

    nen Профи форума

    Я читал про это. Это не мои слова.
     
  18. Gorillych

    Gorillych Активный пользователь

    Извините, значит мы вместе это читали :)
    Но в зигзаге Омеги только один управляющий параметр и это процент.
    А как по-поводу применения зигзага к волнам?
     
  19. nen

    nen Профи форума

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

    До последнего времени старался обходить волны стороной. Сейчас потихоньку читаю про волны. Перенапрягаться вредно.

    У меня с института выработалась привычка несколько раз прочитывать один материал. Сначала первое прочтение (как думцы делают). Потом, если тема того требует, второе - углубленное - прочтение. Далее приходится некоторые места перечитывать, чтобы понять до тонкостей.

    По волнам сейчас где-то между первым и вторым прочтением.
     
  20. wellx

    wellx Активный пользователь

    А можно от Вас получить какое-либо обоснование процента и его (это важнее) тип. Т.е. процент чего мы берем как единственный параметр? В голову приходят:
    - процент от цены экстремума (хай / лоу)
    - от цены закрытия (тогда нет смысла в 0 баре)\
    - от значения одного из вариантов МА
    - от плеча (отрезка ) ЗЗ
    - от средней (простой, экспонен. взвеш.) суммы длин лучей , плюс ко всему какое кол-во лучей надо брать?

    Я планирую внести в свой ЗЗ 2DL_ZZ учет процентов, вот хотелось бы услышать аргументы за и против.
     

Поделиться этой страницей