RSI: estrategia de tendencias de criptomonedas en ascenso

El autor:¿ Qué pasa?, fecha: 2023-10-17 17:08:31
Las etiquetas:

img

Resumen general

La RSI Rising Crypto Trending Strategy es una estrategia de trading de tendencias diseñada para períodos de tiempo más largos (4h+) en los cripto y mercados bursátiles.

Utiliza el RSI para identificar tendencias ascendentes y descendentes combinadas con Bollinger Bands y ROC para evitar el comercio en mercados laterales.

Estrategia lógica

La estrategia utiliza los siguientes indicadores:

  • RSI - Para identificar las tendencias ascendentes o descendentes
  • Las bandas de Bollinger - para identificar los mercados laterales
  • ROC - Para confirmar la dirección de la tendencia

Las reglas específicas para el comercio son:

Reglas de entrada

Entrada larga: RSI en alza Y no mercado lateral por BB y ROC Entrada corta: RSI en caída y no mercado lateral por BB y ROC

Reglas de salida

Salida cuando se activa la señal opuesta

Análisis de ventajas

  • Captura los puntos de inflexión de la tendencia temprano utilizando el RSI
  • Evita quedarse atrapado en los mercados laterales usando BB
  • ROC confirma la dirección de la tendencia para señales más sólidas
  • Buen para operaciones con un plazo de tiempo más largo y para captar tendencias
  • Mejor para los pares criptográficos/criptográficos para evitar la exposición fiduciaria

Análisis de riesgos

  • No hay stop loss, por lo que hay un alto riesgo de grandes pérdidas.
  • Los parámetros BB y ROC deficientes podrían llevar a operaciones perdidas o a malas señales
  • Es puramente técnico, así que se pierde los grandes eventos del cisne negro.

Aumentar el stop loss, optimizar los parámetros BB/ROC e incorporar el análisis fundamental.

Oportunidades de mejora

Algunas maneras en que esta estrategia podría mejorarse:

  1. Se añadirá el stop loss para la gestión del riesgo y se fijará la pérdida máxima por operación.

  2. Optimizar los parámetros BB y ROC mediante pruebas de retroceso para encontrar los mejores ajustes.

  3. Incorporar indicadores adicionales como MACD, KD para la fiabilidad de la señal de múltiples indicadores.

  4. Construir un modelo de liquidez para detener las operaciones durante los picos de volatilidad para evitar trampas.

  5. Utilice el aprendizaje automático para optimizar automáticamente los parámetros y la ponderación de la señal.

  6. Incorporar datos en la cadena como la liquidez de intercambio y los flujos de fondos para una mayor adaptabilidad.

Resumen de las actividades

La RSI Rising Crypto Trend Strategy captura tendencias de criptomonedas de mayor plazo utilizando RSI más BB y ROC. La ventaja es detectar rápidamente las inversiones de tendencia y evitar trampas. Las debilidades son la falta de stop loss y la dependencia de parámetros.


/*backtest
start: 2023-09-16 00:00:00
end: 2023-10-16 00:00:00
period: 2h
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/
// © exlux99

//@version=4
strategy(title = "RSI Rising", overlay = true, initial_capital = 100, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, slippage=0,commission_type=strategy.commission.percent,commission_value=0.03)

/////////////////////
source          = close
bb_length       = 20
bb_mult         = 1.0
basis           = sma(source, bb_length)
dev             = bb_mult * stdev(source, bb_length)
upperx           = basis + dev
lowerx           = basis - dev
bbr             = (source - lowerx)/(upperx - lowerx)
bbr_len         = 21
bbr_std         = stdev(bbr, bbr_len)
bbr_std_thresh  = 0.1
is_sideways     = (bbr > 0.0 and bbr < 1.0) and bbr_std <= bbr_std_thresh


////////////////
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2010, title = "From Year", minval = 1970)
 //monday and session 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2021, title = "To Year", minval = 1970)

startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true


sourcex = close
length = 2
pcntChange = 1

roc = 100 * (sourcex - sourcex[length])/sourcex[length]
emaroc = ema(roc, length/2)
isMoving() => emaroc > (pcntChange / 2) or emaroc < (0 - (pcntChange / 2))


periods = input(19)
smooth = input(14, title="RSI Length" )
src = input(low, title="Source" )


rsiClose = rsi(ema(src, periods), smooth)
long=rising(rsiClose,2) and not is_sideways and isMoving()
short=not rising(rsiClose,2) and not is_sideways and isMoving()


if(time_cond)
    strategy.entry('long',1,when=long)
    strategy.entry('short',0,when=short)


Más.