Estrategia de tendencia de correlación de criptomonedas del RSI promedio móvil

El autor:¿ Qué pasa?, Fecha: 2023-12-12 10:26:21
Las etiquetas:

img

Resumen general

Esta es una estrategia de tendencia de criptomonedas a largo plazo que combina promedio móvil, índice de fuerza relativa (RSI) y correlación de mercado para identificar tendencias de precios a medio y largo plazo, establecer posiciones cuando comienzan las tendencias, piramidizar a lo largo de las tendencias y obtener ganancias cuando se detectan señales de inversión de tendencia.

Estrategia lógica

La estrategia se basa principalmente en tres indicadores:

  1. Indice de fortaleza relativa (RSI): para identificar las condiciones de sobrecompra y sobreventa.

  2. Promedio móvil simple (SMA): SMA de 9 días del precio de cierre para determinar la dirección de la tendencia.

  3. Correlación de mercado: utilizar la criptocap total como referencia para calcular la correlación con el instrumento de negociación, reemplazando las barras originales por barras de correlación para mejorar la calidad de la señal.

En concreto, las reglas de negociación son las siguientes:

Entrada larga: Cuando el RSI cruza por encima de 51 y el precio de cierre está por encima de la SMA de 9 días.

Entrada corta: Cuando el RSI cruza por debajo de 49 y el precio de cierre está por debajo de la SMA de 9 días.

Tome ganancias/detenga pérdidas: 1%/0.1% para los comprados, 0.05%/0.03% para los cortos.

También existe una condición de tiempo que limita el período de negociación.

Análisis de ventajas

  1. La combinación de indicadores de tendencia y de sobrecompra/sobreventa permite realizar un seguimiento eficaz de las tendencias a medio y largo plazo.

  2. La correlación de mercado mejora la calidad de la señal, evitando tendencias falsas.

  3. La obtención de beneficios razonables y la detención de pérdidas previene pérdidas ampliadas.

  4. El período de negociación personalizable se adapta a las diferentes condiciones del mercado.

Análisis de riesgos

  1. Ineficaz en los mercados volátiles a corto plazo.

  2. La inversión del índice de referencia puede provocar salidas con retraso en los instrumentos de negociación.

  3. Potencialmente pierde oportunidades de reversión cuando solo hace compras largas/cortas.

Soluciones:

  1. Añadir indicadores a corto plazo, por ejemplo, KC, BOLL para la detección del régimen de mercado y paralizaciones.

  2. Mejorar el análisis de referencia para las salidas oportunas.

  3. Se trata de instrumentos de doble cara para capturar las inversiones.

Direcciones de optimización

  1. El valor de las pérdidas se calcula de acuerdo con el índice RSI.

  2. Evaluar más combinaciones de referencia/negociación con una mayor correlación y liquidez.

  3. Combinar con otras estrategias, utilizando esta para las tenencias a medio y largo plazo.

Conclusión

Se trata de una estrategia de seguimiento de tendencias de criptomonedas a medio y largo plazo optimizada y ampliamente adaptable. Combina eficazmente el análisis de tendencia, impulso y correlación para mejorar las decisiones comerciales. El ajuste adecuado de parámetros y el uso compuesto pueden mejorar enormemente su estabilidad y rentabilidad.


/*backtest
start: 2022-12-04 00:00:00
end: 2023-12-10 00:00:00
period: 1d
basePeriod: 1h
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 = "Crypto swing correlation", overlay = true,  pyramiding=1,initial_capital = 1, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.03)

//time
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

useCorrelation    = input(true, title="Use Correlation candles?")

symbol = input("BTC_USDT:swap", type=input.symbol)

haClose = useCorrelation ? security(symbol, timeframe.period, close) : close
haOpen  = useCorrelation ? security(symbol, timeframe.period, open) : open
haHigh  = useCorrelation ? security(symbol, timeframe.period, high) : high
haLow   = useCorrelation ? security(symbol, timeframe.period, low) : low

length = input( 50 )
overSold = input( 51 )
overBought = input( 49 )

s = input(title="Source", defval="haClose", options=["haClose", "haOpen", "haHigh", "haLow"])

price = s == "haClose" ? haClose: s == "haOpen" ? haOpen : s == "haHigh" ? haHigh : s == "haLow" ? haLow : na

len = input(8, "Length Moving average", minval=1)
src = price
ma = sma(src, len)


vrsi = rsi(price, length)
long = crossover(vrsi, overSold) and time_cond and price > ma
short = crossunder(vrsi, overBought) and time_cond and price < ma


takeProfit_long=input(1.0, step=0.005)
stopLoss_long=input(0.1, step=0.005)
takeProfit_short=input(0.05, step=0.005)
stopLoss_short=input(0.03, step=0.005)

strategy.entry("long",1,when=long)
strategy.entry("short",0,when=short)

strategy.exit("short_tp/sl", "long", profit=close * takeProfit_long / syminfo.mintick, loss=close * stopLoss_long / syminfo.mintick, comment='LONG EXIT',  alert_message = 'closeshort')
strategy.exit("short_tp/sl", "short", profit=close * takeProfit_short / syminfo.mintick, loss=close * stopLoss_short / syminfo.mintick, comment='SHORT EXIT',  alert_message = 'closeshort')


Más.