
La estrategia se basa principalmente en un índice relativamente fuerte (RSI) para determinar si se ha comprado o vendido, con un promedio móvil simple de 200 días (SMA) como filtro principal de tendencia de precios, en la determinación de la dirección de la tendencia, se utiliza el indicador RSI para buscar mejores entradas y salidas para obtener ganancias. En comparación con el uso del indicador RSI solo, la estrategia aumenta el juicio de la tendencia y puede capturar con mayor precisión el movimiento del mercado, perseguir la caída en el mercado alcista y revertirlo en el mercado bajista, obteniendo así un mayor beneficio estratégico.
La estrategia consiste principalmente en dos partes: el indicador RSI y el filtro SMA de 200 días.
La parte del indicador RSI determina principalmente si el precio está entrando en la zona de sobrecompra y sobreventa. Su fórmula de cálculo es:
RSI = 100 - 100 / (1 + el aumento promedio en el número de días en que el RSI subió / la caída promedio en el número de días en que el RSI bajó)
Según los parámetros de la experiencia, cuando el RSI es < 30 es sobreventa, y > 70 es sobreventa.
El filtro SMA de 200 días determina principalmente la dirección de la tendencia de la bolsa. Cuando el precio está por encima del SMA de 200 días, es un mercado alcista, o un mercado bajista.
Según la combinación de ambos, la estrategia tiene la siguiente lógica de entrada y salida:
Entrada múltiple: RSI < 45 y precio de cierre > 200 días SMA
El RSI es > 75 y el precio de cierre es > 200 días SMA
Entrada en blanco: RSI > 65 y precio de cierre < 200 días SMA
Salida en blanco: RSI < 25 y precio de cierre < 200 días SMA
Así, se puede usar el indicador RSI para encontrar mejores entradas y salidas en las grandes tendencias y obtener mayores beneficios estratégicos.
La mayor ventaja de esta estrategia es que utiliza el indicador RSI junto con el filtro SMA de 200 días, lo que hace que la estrategia sea más estable y precisa:
Además, la estrategia tiene las siguientes ventajas:
La estrategia también tiene sus riesgos:
Para controlar estos riesgos, se pueden tomar las siguientes medidas:
La estrategia puede ser optimizada en los siguientes aspectos:
La estrategia tiene un buen rendimiento general, con el criterio de la precisión, la simplicidad de operación y el amplio alcance de aplicación. Después de agregar el control de pérdidas y la gestión de posiciones, se puede ejecutar con cautela en la plataforma. Posteriormente, se puede mejorar la estrategia en términos de optimización de parámetros, optimización de pérdidas y gestión de posiciones, etc., para que la estrategia sea más excelente.
/*backtest
start: 2023-12-04 00:00:00
end: 2023-12-11 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/
// © LuxAlgo
//@version=5
strategy('Relative Strength Index Extremes with 200-Day Moving Average Filte', overlay=true, pyramiding=1, initial_capital=10000, default_qty_type=strategy.cash, default_qty_value=36000, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.01)
// Rsi
rsi_lenght = input.int(14, title='RSI lenght', minval=0)
rsi_up = ta.rma(math.max(ta.change(close), 0), rsi_lenght)
rsi_down = ta.rma(-math.min(ta.change(close), 0), rsi_lenght)
rsi_value = rsi_down == 0 ? 100 : rsi_up == 0 ? 0 : 100 - 100 / (1 + rsi_up / rsi_down)
//Sma
Length1 = input.int(200, title=' SMA Lenght', minval=1)
SMA1 = ta.sma(close, Length1)
//Strategy Logic
Long = rsi_value < 45 and close > SMA1
Long_exit = rsi_value > 75 and close > SMA1
Short = rsi_value > 65 and close < SMA1
Short_exit = rsi_value < 25 and close < SMA1
if Long
strategy.entry('Long', strategy.long)
if Short
strategy.entry('Short', strategy.short)
strategy.close_all(Long_exit or Short_exit)
pera(pcnt) =>
strategy.position_size != 0 ? math.round(pcnt / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)
stoploss = input.float(title=' stop loss', defval=5, minval=0.5)
los = pera(stoploss)
strategy.exit('SL', loss=los)
//by wielkieef