Estrategia de negociación de oscilación de patrón en forma de V del RSI

El autor:¿ Qué pasa?, Fecha: 2024-01-12 13:52:55
Las etiquetas:

img

Resumen general

Esta estrategia se basa en el patrón en forma de V formado por el indicador RSI, combinado con filtros EMA, para desarrollar una estrategia comercial rentable a corto plazo confiable.

Estrategia lógica

  1. Utilice la EMA de 20 días por encima de la EMA de 50 días para determinar la tendencia alcista a largo plazo.
  2. El RSI forma un patrón en forma de V, lo que indica oportunidades de repunte sobrevendidas
    • El mínimo de la barra anterior es inferior al mínimo de las 2 barras anteriores
    • El RSI de los bares actuales es más alto que el RSI de los 2 bares anteriores
  3. RSI cruza por encima de 30 como la señal de finalización del patrón en forma de V para ir largo
  4. Establecer el stop loss en un 8% por debajo del precio de entrada
  5. Cuando el RSI cruce los 70, comience a cerrar posiciones y mueva el stop loss al precio de entrada
  6. Cuando el RSI cruza 90, cierre 3/4 posiciones
  7. Cuando el RSI cae por debajo de 10 / stop loss desencadenado, cierre todas las posiciones

Análisis de ventajas

  1. Utilice la EMA para juzgar la dirección general del mercado, evite operar en contra de la tendencia
  2. El patrón de RSI en forma de V captura oportunidades de reversión de la media cuando se sobreventa
  3. Mecanismos múltiples de stop loss para controlar los riesgos

Análisis de riesgos

  1. Una fuerte tendencia a la baja puede acarrear pérdidas imparables
  2. Las señales de RSI en forma de V pueden dar señales falsas, lo que conduce a pérdidas innecesarias

Direcciones de optimización

  1. Optimice los parámetros del RSI para encontrar patrones en forma de V más confiables
  2. Incorporar otros indicadores para mejorar la fiabilidad de las señales de inversión
  3. Refinar la estrategia de stop loss, el equilibrio entre la prevención del exceso de agresividad y el stop loss oportuno

Resumen de las actividades

Esta estrategia integra el filtro EMA y el juicio de patrones en forma de RSI V para formar una estrategia de trading a corto plazo confiable. Puede aprovechar eficazmente las oportunidades de rebote cuando se sobreventa. Con la optimización continua de parámetros y modelos, la mejora de los mecanismos de stop loss, esta estrategia puede mejorarse aún más en estabilidad y rentabilidad.


/*backtest
start: 2023-12-12 00:00:00
end: 2024-01-11 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/
// © mohanee

//@version=4
//strategy("RSI V Pattern", overlay=true)
strategy(title="RSI V Pattern", overlay=false )

//Strategy Rules
//ema20 is above ema50  --- candles are colored  green on the chart
//RSI value sharply coming up which makes a V shape ,  colored in yellow on the chart
//RSI V pattern should occur from below 30    

len = input(title="RSI Period", minval=1, defval=5)
stopLoss = input(title="Stop Loss %", minval=1, defval=8)

myRsi = rsi(close,len)

longEmaVal=ema(close,50)
shortEmaVal=ema(close,20)

//plot emas 
//plot(longEmaVal, title="Long EMA" ,linewidth=2, color=color.orange, trackprice=true)
//plot(shortEmaVal, title="Short EMA" ,linewidth=2, color=color.green, trackprice=true)


longCondition =  ema(close,20)>ema(close,50)   and (low[1]<low[2] and  low[1]<low[3]) and (myRsi>myRsi[1] and myRsi>myRsi[2] ) and crossover(myRsi,30) //  (   and myRsi<60)  

//(myRsi<60 and myRsi>30)  and myRsi>myRsi[1] and (myRsi[1]<myRsi[2]  or  myRsi[1]<myRsi[3]) and (myRsi[2]<30)  and (myRsi[3]<30 and myRsi[4]>=30)



barcolor(shortEmaVal>longEmaVal?color.green:color.red)
//longCondition = crossover(sma(close, 14), sma(close, 28))
barcolor(longCondition?color.yellow:na)
strategy.entry("RSI_V_LE", strategy.long, when=longCondition )
//stoploss value at 10%
stopLossValue=strategy.position_avg_price -  (strategy.position_avg_price*stopLoss/100) 
//stopLossValue=valuewhen(longCondition,low,3)


//takeprofit at RSI highest  reading
//at RSI75 move the stopLoss to entry price
moveStopLossUp=strategy.position_size>0 and crossunder(myRsi,70)
barcolor(moveStopLossUp?color.blue:na)
stopLossValue:=crossover(myRsi,70) ? strategy.position_avg_price:stopLossValue

//stopLossValue:=moveStopLossUp?strategy.position_avg_price:stopLossValue
rsiPlotColor=longCondition ?color.yellow:color.purple
rsiPlotColor:= moveStopLossUp ?color.blue:rsiPlotColor
plot(myRsi, title="RSI", linewidth=2, color=rsiPlotColor)
//longCondition?color.yellow:#8D1699)
hline(50, title="Middle Line", linestyle=hline.style_dotted)
obLevel = hline(75, title="Overbought", linestyle=hline.style_dotted)
osLevel = hline(25, title="Oversold", linestyle=hline.style_dotted)
fill(obLevel, osLevel, title="Background", color=#9915FF, transp=90)


    
//when RSI crossing down 70 , close 1/2 position and move stop loss to average entry price
strategy.close("RSI_V_LE",  qty=strategy.position_size*1/2, when=strategy.position_size>0 and crossunder(myRsi,70))

//when RSI reaches high reading 90 and crossing down close 3/4 position
strategy.close("RSI_V_LE",  qty=strategy.position_size*3/4, when=strategy.position_size>0 and crossunder(myRsi,90))



//close everything when Rsi goes down below to 10 or stoploss hit  
//just keeping RSI cross below 10 , can work as stop loss , which also keeps you long in the trade ... however sharp declines could  make large loss
//so I combine RSI goes below 10 OR stoploss hit  , whichever comes first - whole posiition closed
longCloseCondition=crossunder(myRsi,10)  or close<stopLossValue
strategy.close("RSI_V_LE", qty=strategy.position_size,when=longCloseCondition )



Más.