Стратегия отслеживания тренда с индикаторами RSI и ZigZag

Обзор

Стратегия называется «Crypto 15-minute Trend Tracking Strategy на основе индикаторов RSI и ZigZag». Он специально разработан для 15-минутных криптовалютных рынков, таких как ETHUSD/T и BTCUSD/T. Стратегия определяет направление тренда, комбинируя индикатор RSI для оценки уровней перекупленности/перепроданности и индикатор ZigZag для обнаружения ценовых скачков. Он относится к типичной стратегии следования за трендом.

Логика стратегии

Основная логика этой стратегии заключается в использовании индикаторов RSI и ZigZag для определения ценового тренда. В частности, индикатор RSI определяет, является ли цена перекупленной или перепроданной. Индикатор ZigZag определяет, есть ли у цены значительный процентный всплеск. Когда оба индикатора дают торговые сигналы одновременно, мы определяем, что для встречной позиции произошел разворот тренда.

Для индикатора RSI мы установили линию перекупленности на уровне 75 и линию перепроданности на уровне 25. Когда RSI поднимается с уровня ниже 25 до уровня выше 25, это считается разворотом от перепроданности к бычьему. Когда RSI падает с уровня выше 75 до уровня ниже 75, это указывает на разворот от бычьего к перепроданному.

Для индикатора ZigZag мы установили порог скачка цены в 1% в процентном отношении. Когда цена совершает скачок амплитуды более 1%, линия Зигзага подает сигнал. В сочетании с суждением о тренде мы можем определить развороты тренда.

Когда оба индикатора подают сигналы, если предыдущий тренд бычий и теперь RSI перекуплен, а ZigZag показывает всплеск цены, мы определяем, что цена находится на пике, и можем рассмотреть возможность шортинга. И наоборот, если предыдущий тренд медвежий, а сейчас RSI перепродан, а зигзаг показывает скачок цены, мы определяем, что цена достигла дна, и можем рассматривать тоску. Благодаря этой логике мы можем следовать тренду.

Сильные стороны стратегии

Самым большим преимуществом этой стратегии является улучшение качества сигнала за счет объединения двух индикаторов. Один индикатор, как правило, дает много ложных сигналов. Но эта стратегия использует RSI и ZigZag для проверки, отфильтровывая множество ложных сигналов и повышая винрейт.

Еще одна сильная сторона — гибкая настройка параметров. Параметры RSI и ZigZag настраиваются в соответствии с различными рыночными условиями для достижения наилучших результатов. Это привносит большую адаптивность в стратегию.

Стратегические риски

Основной риск – неверные сигналы от индикаторов. Несмотря на двойную проверку индикатора, во время высокой волатильности все еще могут быть сбои, приводящие к торговым ошибкам. Неправильная настройка параметров также влияет на эффективность стратегии.

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

Направления оптимизации

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

  1. Добавьте больше индикаторов, таких как KDJ и MACD, для комбинированного суждения для дальнейшей фильтрации сигналов.
  2. Внедрить алгоритмы машинного обучения для автоматической оптимизации параметров, адаптируясь к изменениям рынка.
  3. Постройте адаптивный механизм стоп-лосса с динамической защитой на основе волатильности рынка.
  4. Оптимизируйте размер позиции в зависимости от силы тренда.
  5. Настройте альтернативные стратегии для автоматического переключения на необычных рынках.

Заключение

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

Исходный код стратегии

/*backtest
start: 2024-01-22 00:00:00
end: 2024-02-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SoftKill21
//@version=4
strategy("Crypto ZigZag RSI strategy 15min",overlay=true)
length =input(5, title="RSI Length")
overSold = input(25)
overBought= input(75)

p =close

vrsi = rsi(p, length)
var bool long = na
var bool short = na

long :=crossover(vrsi,overSold)
short := crossunder(vrsi,overBought)

var float last_open_long = na
var float last_open_short = na

last_open_long := long ? close : nz(last_open_long[1])
last_open_short := short ? close : nz(last_open_short[1])


entry_value =last_open_long
entry_value1=last_open_short

//
ZZPercent = input(1, title="Minimum % Change", type=input.float)
r1Level=entry_value
s1Level=entry_value1
trend = 0
trend := na(trend[1]) ? 1 : trend[1]
LL = 0.0
LL := na(LL[1]) ? s1Level : LL[1]
HH = 0.0
HH := na(HH[1]) ?r1Level : HH[1]

Pi = ZZPercent * 0.01
zigzag = float(na)

if trend > 0
if r1Level >= HH
HH := r1Level
HH
else
if s1Level < HH * (1 - Pi)
zigzag :=r1Level[1]
trend := -1
LL := s1Level
LL
else

if s1Level <= LL
LL := s1Level
LL
else
if r1Level > LL * (1 + Pi)
zigzag := s1Level[1]
trend := 1
HH := s1Level
HH


shortc=crossunder(trend,0)
longc=crossover(trend,0)


longa =input(true)
shorta=input(false)

if(longa)
strategy.entry("long",1,when=longc)
strategy.close("long",when=shortc)
if(shorta)
strategy.entry("short",0,when=shortc)
strategy.close("long",when=longc)

Параметры стратегии

Первоначальный адрес: https://www.fmz.com/strategy/442536

Источник