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

Автор:Чао Чжан, Дата: 2024-02-22 16:15:18
Тэги:

基于RSI指标和ZigZag指标趋势追踪策略

Обзор

Эта стратегия называется криптовалютная 15-минутная стратегия отслеживания тренда, основанная на индикаторе RSI и индикаторе ZigZag. Эта стратегия предназначена для криптовалютных рынков (например, ETHUSD/T, BTCUSD/T и т. д.) на 15-минутных циклах. Стратегия определяет направление тренда путем сочетания индикатора RSI с индикатором ZigZag для определения ценового скачка.

Принципы стратегии

Что касается RSI, то мы устанавливаем линию покупки на 75 и линию продажи на 25; когда линия RSI переходит от 25 вниз вверх, считается, что рынок переходит от продажи к продаже, когда линия RSI переходит от 75 вверх вниз, считается, что рынок переходит от продажи к продаже.

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

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

Стратегические преимущества

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

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

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

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

Оптимизация стратегии

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

  1. Внедрение алгоритмов машинного обучения, которые автоматически оптимизируют параметры с помощью технологий искусственного интеллекта, чтобы адаптироваться к изменениям на рынке.

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

  3. Оптимизировать управление позициями, например, путем распределения капитала в зависимости от тренда.

  4. Установка резервной политики и автоматическое переключение на необычные рынки.

Подведение итогов

В целом эта стратегия является типичной стратегией отслеживания трендов, основной идеей которой является сочетание индикаторов 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)


Больше информации