Estrategia de seguimiento de tendencias basada en el indicador RSI y el indicador ZigZag


Fecha de creación: 2024-02-22 16:15:18 Última modificación: 2024-02-22 16:15:18
Copiar: 0 Número de Visitas: 944
1
Seguir
1617
Seguidores

Estrategia de seguimiento de tendencias basada en el indicador RSI y el indicador ZigZag

Descripción general

Esta estrategia se llama la estrategia de seguimiento de tendencias de 15 minutos de criptomonedas basadas en el indicador RSI y el indicador ZigZag. La estrategia está diseñada específicamente para los mercados de criptomonedas con un período de tiempo de 15 minutos (como ETHUSD/T, BTCUSD/T, etc.). La estrategia determina la dirección de la tendencia combinando el indicador RSI para determinar el exceso de compra y venta y el indicador ZigZag para determinar la oscilación del precio.

Principio de estrategia

La lógica central de esta estrategia es usar el indicador RSI y el indicador ZigZag para determinar la tendencia de los precios al mismo tiempo. En concreto, el indicador RSI determina si los precios están sobrecomprados o sobrevendidos, y el indicador ZigZag determina si los precios se mueven en un porcentaje especificado. Cuando ambos emiten señales de negociación al mismo tiempo, juzgamos que la tendencia se vuelca y se puede realizar una operación inversa.

En cuanto al indicador RSI, establecemos una línea de sobrecompra de 75 y una línea de sobreventa de 25. Cuando la línea de RSI cruza de abajo hacia arriba 25 se considera que el movimiento se ha convertido de sobreventa a favor, y cuando la línea de RSI cruza de arriba hacia abajo 75 se considera que el movimiento se ha convertido de favor a favor.

En cuanto al indicador ZigZag, establecemos el umbral de amplitud de movimiento del precio en el 1% . Cuando el precio se mueve más de un 1%, la línea del indicador ZigZag emite una señal . En combinación con el juicio de tendencia, podemos ver el punto de inflexión de la tendencia del precio .

Cuando el indicador binario emite una señal, si la dirección de la tendencia anterior es positiva, y ahora el RSI está sobrecomprando y el ZigZag muestra un hueco de salto, entonces juzgamos que la situación es alta, y en ese momento podemos considerar una baja; Por el contrario, si la dirección de la tendencia anterior es bajista, y ahora el RSI está sobrevendido y el ZigZag muestra un hueco de salto, entonces juzgamos que la situación es baja, y en ese momento podemos considerar más.

Ventajas estratégicas

La mayor ventaja de esta estrategia es que, combinada con el juicio de dos indicadores, puede filtrar eficazmente las señales falsas y mejorar la calidad de la señal. Es fácil generar señales falsas con solo un indicador, y esta estrategia puede filtrar algunas señales ineficaces mediante la verificación del indicador RSI y el indicador ZigZag, lo que mejora la ganancia comercial.

Otra ventaja es la flexibilidad en la configuración de los parámetros. Los parámetros RSI y ZigZag de esta estrategia son personalizables, y podemos ajustar los parámetros según las características de los diferentes mercados para obtener el mejor resultado. Esto otorga una gran flexibilidad a la estrategia.

Riesgo estratégico

El principal riesgo de esta estrategia reside en la probabilidad de que los indicadores emitan una señal errónea. A pesar de que hemos utilizado la verificación de la combinación de dos indicadores, es posible que los indicadores no funcionen en un momento de gran volatilidad en el mercado, lo que lleva a un error de negociación. Además, la configuración incorrecta de los parámetros también puede afectar la eficacia de la estrategia.

Para reducir el riesgo, podemos reducir adecuadamente el tiempo de tenencia de la posición y detener los pérdidas a tiempo. Al mismo tiempo, la configuración de los parámetros de optimización es muy importante y debe tener en cuenta las características del mercado.

Dirección de optimización de la estrategia

Esta estrategia puede ser optimizada en los siguientes aspectos:

  1. Aumentar la combinación de indicadores, introducir más indicadores para el juicio integral, como KDJ, MACD, etc., puede filtrar aún más la señal.

  2. La introducción de algoritmos de aprendizaje automático para optimizar automáticamente los parámetros mediante la tecnología de IA y adaptarse a los cambios en el mercado.

  3. Se ha añadido un mecanismo de suspensión de pérdidas adaptativo, que permite ajustar dinámicamente la distancia de suspensión de pérdidas según la amplitud de las fluctuaciones del mercado.

  4. Optimización de la gestión de posiciones, como la distribución de fondos según la tendencia de fortaleza y debilidad.

  5. Establecer estrategias alternativas para cambiar automáticamente en mercados anormales.

Resumir

La estrategia en su conjunto es una estrategia típica de seguimiento de tendencias, la idea central es combinar el indicador RSI y el indicador ZigZag para determinar el punto de inflexión de la tendencia de los precios. La ventaja de la estrategia reside en que la combinación de dos indicadores filtra las señales engañosas y mejora la eficiencia comercial.

Código Fuente de la Estrategia
/*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)