Esta estrategia se llama estrategia de seguimiento de tendencias de 15 minutos de criptomonedas basadas en el RSI y el ZigZag. Esta estrategia está diseñada específicamente para los mercados de criptomonedas con ciclos de tiempo de 15 minutos (como ETHUSD/T, BTCUSD/T, etc.).
La lógica central de esta estrategia es usar el RSI y el ZigZag para determinar la tendencia de los precios. En concreto, el RSI determina si el precio es sobrecomprado o sobrevendido, y el ZigZag determina si el precio se mueve en un porcentaje determinado. Cuando ambos envían señales de negociación al mismo tiempo, determinamos que la tendencia está cambiando y podemos operar en sentido contrario.
En el caso del RSI, establecemos una línea de venta superior a 75 y una línea de venta superior a 25. Cuando la línea del RSI atraviesa 25 desde abajo hacia arriba, se considera que el mercado se ha convertido de venta superior a venta superior, y cuando la línea del RSI atraviesa 75 desde arriba hacia abajo, se considera que el mercado se ha convertido de venta superior a venta superior.
En el caso de los indicadores ZigZag, establecemos un umbral de amplitud de salto de precios del 1%; cuando el precio se mueve más de un 1%, la línea del indicador ZigZag emite una señal. Combinada con el juicio de tendencia, podemos ver los puntos de inflexión de la tendencia del precio.
Si el indicador binario emite señales de que la tendencia anterior es positiva y ahora el RSI está sobrecomprando y el ZigZag está mostrando un déficit de salto, entonces determinamos que el mercado está al tope y podemos considerar el vacío; por el contrario, si la tendencia anterior es negativa y ahora el RSI está sobrecomprando y el ZigZag está mostrando un déficit de salto, entonces determinamos que el mercado está al fondo y podemos considerar el vacío. Con esta lógica, podemos realizar operaciones de seguimiento de tendencias.
La mayor ventaja de esta estrategia es que, en combinación con el juicio de los dos indicadores, se pueden filtrar eficazmente las falsas señales para mejorar la calidad de la señal. Confiando en un solo indicador, es fácil generar falsas señales, mientras que esta estrategia puede filtrar algunas señales ineficaces mediante la verificación del indicador RSI y el indicador ZigZag, lo que mejora las probabilidades de ganar el comercio.
Otra ventaja es la flexibilidad en la configuración de los parámetros. Los parámetros RSI y ZigZag de esta estrategia son tanto personalizables, que podemos ajustar los parámetros según las características de diferentes mercados para obtener el mejor efecto. Esto da una gran flexibilidad a la estrategia.
El principal riesgo de esta estrategia es la probabilidad de que el indicador emita una señal errónea. Aunque adoptamos la verificación de combinaciones de dos indicadores, es posible que el indicador falle en momentos de fuerte volatilidad del mercado, lo que puede causar errores comerciales. Además, la configuración incorrecta de los parámetros también puede afectar el efecto de la estrategia.
Para reducir el riesgo, podemos reducir el tiempo de mantenimiento de las posiciones de manera apropiada y detener las pérdidas en el momento oportuno. Al mismo tiempo, la optimización de la configuración de los parámetros es muy importante y requiere tener en cuenta las características del mercado. También es necesario intervenir manualmente para detener las operaciones cuando se enfrenta a un mercado anormal.
Esta estrategia se puede optimizar en los siguientes aspectos:
El aumento de la combinación de indicadores y la introducción de más indicadores para el juicio integral, como KDJ, MACD, etc., pueden filtrar aún más las señales.
Introducción de algoritmos de aprendizaje automático para optimizar la configuración de parámetros con tecnología de IA y adaptarse a los cambios en el mercado.
Se ha añadido un mecanismo de detención de pérdidas adaptable, que permite ajustar dinámicamente la distancia de detención de pérdidas según la magnitud de las fluctuaciones del mercado.
Optimizar la gestión de posiciones, por ejemplo, distribuir el capital según la tendencia.
Configurar una política de reserva para cambiar automáticamente en un mercado excepcional.
La estrategia en su conjunto es una estrategia típica de seguimiento de tendencias, cuya idea central es combinar el indicador RSI y el indicador ZigZag para determinar los puntos de inflexión de la tendencia del precio. La ventaja de la estrategia es que ambos indicadores combinan señales filtradas y desviadas, lo que mejora la eficiencia de la negociación. Se necesita tener en cuenta plenamente el riesgo de fallo del indicador y perfeccionar continuamente la estrategia mediante optimización de parámetros, optimización de pérdidas, optimización de posiciones y otros medios. En general, la estrategia ofrece una solución de seguimiento de tendencias efectiva para el mercado de la criptomoneda.
/*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)