Estrategia combinada de 123 inversión y RSI suavizado

El autor:¿ Qué pasa?, Fecha: 2023-10-16 16:27:32
Las etiquetas:

img

Resumen general

Esta estrategia combina el patrón de reversión 123 y el indicador RSI suavizado para capturar los puntos de reversión de tendencia con mayor precisión para una mayor tasa de ganancia.

Estrategia lógica

  1. Identificación de patrón de reversión: señal de reversión inferior cuando los precios de cierre de los dos días anteriores forman un punto alto-bajo y el cierre del tercer día es mayor que el día anterior.

  2. Indicador de RSI suavizado: el RSI suavizado reduce el retraso del RSI normal mediante el uso de una media móvil ponderada.

  3. Se generan señales de trading cuando el patrón de reversión 123 y las señales RSI suavizadas coinciden. Compra cuando la reversión 123 muestra un nivel bajo y el RSI cruza un nivel alto. Vende cuando la reversión 123 forma un nivel alto y el RSI cruza un nivel bajo.

Ventajas

  1. La combinación del indicador de tendencia RSI y el patrón de reversión puede identificar con precisión los puntos de reversión de la tendencia.

  2. El RSI suavizado reduce el retraso en la emisión del RSI normal.

  3. El patrón de reversión es simple y fácil de identificar.

  4. Los parámetros flexibles pueden ajustarse para diferentes instrumentos y plazos.

  5. Fácil de optimizar y mejorar con una gran extensibilidad.

Los riesgos

  1. La simple inversión de 123 puede causar señales falsas durante retrocesos menores.

  2. La optimización del RSI suavizada es insuficiente y propensa a un sobreajuste.

  3. La doble confirmación conduce a menos señales comerciales.

  4. Se ignoran los costes de negociación que pueden impedir que las cuentas pequeñas obtengan beneficios.

  5. No hay un mecanismo de stop loss para limitar la caída.

Mejoramiento

  1. Optimice los parámetros del RSI suavizado para encontrar la mejor combinación.

  2. Añadir otros indicadores o patrones para filtrar la señal.

  3. Implementar un stop loss para controlar las pérdidas de una sola operación.

  4. Considere los costos de negociación, ajuste los parámetros para diferentes tamaños de capital.

  5. Parámetros de ensayo en diferentes instrumentos y plazos para obtener parámetros óptimos.

  6. Añadir funcionalidad para la optimización automática de parámetros.

Resumen de las actividades

La estrategia tiene una lógica clara y simple, utilizando patrones de reversión combinados con indicadores de tendencia para identificar posibles reversiones de tendencia. Tiene la ventaja de una amplia aplicabilidad y una fácil optimización, pero también tiene algunos riesgos a tener en cuenta y mejorar.


/*backtest
start: 2023-09-15 00:00:00
end: 2023-10-15 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 20/07/2021
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// This is new version of RSI oscillator indicator, developed by John Ehlers. 
// The main advantage of his way of enhancing the RSI indicator is smoothing 
// with minimum of lag penalty. 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos


SRSI(Length, TopBand,LowBand) =>
    pos = 0.0
    xValue = (close + 2 * close[1] + 2 * close[2] + close[3] ) / 6
    CU23 = sum(iff(xValue > xValue[1], xValue - xValue[1], 0), Length)
    CD23 = sum(iff(xValue < xValue[1], xValue[1] - xValue, 0), Length)
    nRes = iff(CU23 + CD23 != 0, CU23/(CU23 + CD23), 0)
    pos:= iff(nRes > TopBand, 1,
    	   iff(nRes < LowBand, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Smoothed RSI", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Smoothed RSI ----")
LengthRSI = input(10, minval=1)
TopBand = input(0.8, step=0.01)
LowBand = input(0.2, step=0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posSRSI = SRSI(LengthRSI, TopBand,LowBand )
pos = iff(posReversal123 == 1 and posSRSI == 1 , 1,
	   iff(posReversal123 == -1 and posSRSI == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1 ) 
    strategy.entry("Long", strategy.long)
if (possig == -1 )
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

Más.