La estrategia se llama
La lógica central de esta estrategia es utilizar tanto los indicadores RSI como ZigZag para determinar la tendencia del precio. Específicamente, el indicador RSI juzga si el precio está sobrecomprado o sobrevendido. El indicador ZigZag detecta si el precio tiene un pico porcentual significativo. Cuando ambos indicadores dan señales comerciales simultáneamente, determinamos que hay una reversión de tendencia para una contraposición.
Para el indicador RSI, fijamos la línea de sobrecompra en 75 y la línea de sobreventa en 25. Cuando el RSI sube de menos de 25 a más de 25, se considera una reversión de sobreventa a alcista. Cuando el RSI cae de más de 75 a menos de 75, indica una reversión de alcista a sobreventa.
Para el indicador ZigZag, establecemos el umbral de aumento de precios a 1% en cambio porcentual. Cuando el precio hace un aumento de más del 1% en amplitud, la línea ZigZag dará una señal. Combinada con el juicio de tendencia, podemos identificar inversiones de tendencia.
Cuando ambos indicadores dan señales, si la tendencia anterior es alcista y ahora el RSI está sobrecomprado mientras que ZigZag muestra un aumento de precios, determinamos que el precio está superando y puede considerar el corto. Por el contrario, si la tendencia anterior es bajista y ahora el RSI está sobrevendido mientras ZigZag muestra un aumento de precios, determinamos que el precio está bajando y puede considerar el anhelo. A través de esta lógica, podemos seguir la tendencia.
La mayor ventaja de esta estrategia es la mejora de la calidad de la señal mediante la combinación de dos indicadores. Un solo indicador tiende a dar muchas señales falsas. Pero esta estrategia utiliza RSI y ZigZag para la verificación, filtrando muchas señales falsas y mejorando la tasa de ganancia.
El RSI y los parámetros ZigZag son personalizables de acuerdo con las diferentes condiciones del mercado para obtener mejores resultados.
El principal riesgo son las señales incorrectas de los indicadores. A pesar de la validación de indicadores duales, todavía puede haber fallas durante la alta volatilidad que conduce a errores comerciales.
Para reducir los riesgos, podemos acortar el período de mantenimiento de la posición para detener la pérdida oportuna. La optimización de parámetros también es muy importante para satisfacer las características del mercado. La intervención manual puede ser necesaria cuando se enfrentan condiciones anormales del mercado.
La estrategia puede mejorarse en los siguientes aspectos:
Añadir más indicadores como KDJ y MACD para el juicio combinado para filtrar más señales.
Introducir algoritmos de aprendizaje automático para la optimización automática de parámetros adaptados a los cambios del mercado.
Construir un mecanismo de stop loss adaptativo con protección dinámica basada en la volatilidad del mercado.
Optimizar el tamaño de las posiciones en función de las fortalezas de la tendencia.
Establecer estrategias alternativas para cambiar automáticamente en mercados poco comunes.
En resumen, esta es una estrategia típica de seguimiento de tendencias. La idea central es identificar las reversiones de tendencias utilizando indicadores RSI y ZigZag en combinación. La ventaja radica en una mejor calidad de señal a través de la filtración de indicadores duales. Los riesgos de fallo del indicador deben considerarse completamente, y la estrategia debe mejorarse continuamente a través de la puesta a punto de parámetros, optimización de pérdidas, dimensionamiento de posiciones, etc. En general, esto proporciona una solución efectiva de seguimiento de tendencias para el mercado de criptomonedas.
/*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)