TradingView
ROBO_Trading
7 янв 2019 г., 14:28

Всё про зигзаги 

Bitcoin / DollarBitfinex

Описание

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

Перерисовка

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



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

Новички впервые увидевшие зигзаг думают что оно грааль, вон она кнопка счастья. Но радость длится очень не долго. Либо его зигзаг перерисовывается, либо просто не показывает последние значения. Зато на графике смотрится очень красиво, всё время знает где дно (выделил черными стрелками). То есть нам такой вариант совершенно не подойдет, поэтому его использовать и не будем.

Без перерисовки

Существуют другие варианты как реализовать зигзаг без перерисовки. Один из таких вариантов в моем скрипте стратегии Noro's ZigTrend Strategy. Эта стратегия определяет тренд цены используя только зигзаг. Чтобы он не перерисовывался приходится делать эдакое отставание по времени. Такой зигзаг указывает на дно и топ рынка, но с отставанием.



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

Могу объяснить на каких принципах это работает. Первая синяя стрелка внизу появилась 2 свечи спустя неспроста. Сигнал индикатора зигзаг появился после закрытия очень длинной растущей свечи, как видим. А это значит что рост цены был достаточно сильным, чтобы можно было нарисовать движение зигзага вверх. А значит дно уже было. Вот только насколько сильным будет движение вверх зигзаг еще не знает. Но знает что дно было. Поэтому такой индикатор в этой точке уже может нарисовать сигнал "это дно", но пока еще не может нарисовать линию роста вверх. Она появится позже. Вот по этой причине и происходит запаздывание индикатора. Зато не перерисовывается.

Стратегия ZigTrend более-менее работает на дневном таймфрейме, а на малых таймфреймах плохо.

Находить уровни

Зизгаз обычно не используют для определения тренда, как это было сделано в ZigTrend. Гораздо полезнее он для автоматического определения где БЫЛО дно или топ рынка. Ключевое слово БЫЛО. А не где будет. А полезно это знать для пробойных стратегий. Предполагается что если цена превысит предыдущий топ, то более вероятно продолжит расти. И верно обратно, если цена уйдет хоть чуть-чуть ниже предыдущего дна, то более вероятно падать продолжит. На этом построена логика вообще всех пробойных торговый стратегий.

Эта идея реализована в моём скрипте стратегии Noro's ZZ-2 Strategy. Тут тоже зигзаг запаздывает и не перерисовывается. От вершин и оснований зигзага проводятся лаймовые и красные линии, которые показывают где уровни предыдущего дна и топа. Поэтому на любой свечке будет только одна лаймовая линия и только одна красная.



Как видно на скриншоте все линии начинаются на вершинах и основаниях ("на углах") зигзага. А заканчиваются если появилась новая линия (новый угол зигзага). Черными стрелками выделил где по этой логике надо было купить и потом закрыть позицию.

В идеале для этого использовать нужно рыночные стоп-ордеры. Например, на бирже BitMEX.com такие есть. Есть и на многих других биржах, но не на всех. Не путайте с лимитными стоп-ордерами, надо в идеале именно рыночные стоп-ордеры. При создании ордера ставится условие а-ля "Если цена заденет $5000 то сразу купить по рынку".

Это реверсивная стратегия, поэтому в ней нет понятия уровня тейк-профит и уровня стоп-лосса. Убыточные позиции закрываются тоже по сигналу. Это и заменяет стоп-лоссы.

Переворот

Трейдунско-русского словаря до сих не изобрели. Обычно это называется словом "перевернуть позицию", или "перевернуться". То есть, допустим, у Вас есть длинная позиция на 200 долларов, и Вы ставите ордер на продажу на 400 долларов. Тогда если Ваш ордер сработает то у Вас во-первых, закроется длинная позиция на 200 долларов, а во-вторых, откроется короткая позиция тоже на 200 долларов. То есть Ваш 200-долларовый лонг превращается в 200-долларовый шорт. Это и называют "перевернуться".

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

Бектест ниже это стратегия ZZ-2 с настройками по умолчанию и комиссией 0,1%. Замечу что торговать ею без комиссии не получится, раз уж надо рыночные стоп-ордеры. Все эти скрипты можно найти в моём профиле на TradingView, они бесплатные и не требуют платного аккаунта TradingView или какой-то софт.
Комментарии
amig
Вот такую штуку наблюдаю на склеенном фьючерсе по нефти:


Это нормально?
ROBO_Trading
@amig, почему то не открывается...
amig
turr1
А можно добавить Take Profit к этой стратегии? Если несложно.
ROBO_Trading
@turr1, только хуже с ним станет.
parzillum
На BitMEX полностью "перевернуться" при лоте 100% будет стоить мне 0.1% получается?
parzillum
Спасибо за развернутую информацию, как раз ждал про ZZ-2.
ROBO_Trading
@parzillum, хороший вопрос. Там комиссия 0,075% вообще то, однако, есть еще она противная штука, которую очень уж часто не учитываю и забывают - проскальзывание. Если ты по рынку хочешь купить на 100 долларов, то рынок ты не сдвинешь такими копейками. Во всяком случае на бикойн/долларе на битмексе. Однако, если купить на миллион долларов сразу, то стакан "прострелит" намного сильнее. Соответственно, покупка выйдет несколько дороже. Поэтому есть вполне понятная и логичная закономерность: "Чем больше сумма - тем больше проскальзывание". А проскальзывание это всегда плохо, это всегда минус к результату. А так как мне сумма не известна какой ты будешь торговать, то я не могу ничего внятного сказать по вопросу какое у тебя проскальзывание будет в среднем.

Вот почему я всё время рекомендую тестировать с комиссией 0,1%. А не 0,075%. То есть тут еще 0,025% остается "запаса" на случаи проскальзывания. В скриптах стратегий тут на TradingView можно задать проскальзывание отдельно, кстати, но по сути разницы не будет, так что можно 0,1% комиссию поставить, а можно поставить 0,075% комиссии плюс 0,025% проскальзывания и выйдет одинаково.

Разумеется эффект от проскальзывания (да и комиссией тоже) сильно снизится если использовать таймфреймы побольше. Например, если таймфрейм выбрать 4 часа а не 1 час, то просто сами сделки будут в 4 раза реже, а значит реже платим комиссию, реже проскальзывание, тоже примерно в 4 раза. Для этой стратегии так.
parzillum
@Noro, Благодарю за развернутый ответ. Я думал что "перевернуться" на BitMEX в теории мне обойдется в 2 комиссии(закрыть по рынку, открыть по рынку).
По логике ZZ-2 строится от пиков и значит чувствительна к торгуемой валюте USD, USDT, USDC и тд.?
Мне как раз нравится как ZZ-2 работает именно на 4ч ТФ. ZigZag Extreme оставляю всегда =4, а ZigZag Length от 4 до 8. Некоторые пары в бектестах дают пиковый результат при ZigZag Length 5 или 7.
ROBO_Trading
@parzillum, да, там будет "в 2 комиссии", но бектест TradingView это тоже ведь учитывает, так что надо в бектесте на встройках всё равно 0,1% ставить.
Ещё