Estrategia de negociación combinada de inversión de múltiples indicadores

El autor:¿ Qué pasa?, Fecha: 2023-09-13 15:04:40
Las etiquetas:

Esta estrategia se llama Multi-indicator Combined Reversal Trading Strategy. Integra varios indicadores técnicos para identificar oportunidades de reversión de precios a corto plazo y el comercio contra la tendencia anterior de ganancias.

En primer lugar, la estrategia utiliza el patrón de reversión 123 para determinar las reversiones de tendencia a corto plazo. El patrón 123 es cuando los precios se diferencian significativamente durante tres días consecutivos y el tercer día se cierra en la dirección opuesta a los dos días anteriores. Estadísticamente, el comercio con señales de reversión 123 tiene una mayor tasa de ganancia.

En segundo lugar, el indicador RSI se incorpora para evaluar la confiabilidad de las señales de inversión. RSI por debajo de 50 representa condiciones de sobreventa, mientras que por encima de 50 es sobrecompra.

En tercer lugar, se introduce el cruce de los indicadores de la OCM de varios períodos. El cruce de la OCM que combina diferentes promedios móviles exponenciales de períodos juzga las reversiones de impulso. Sus señales proporcionan una confirmación adicional del momento de la reversión 123.

La aplicación combinada de múltiples indicadores aumenta la tasa de éxito de captura de las reversiones de precios al evitar señales excesivas de incertidumbre.

Esta estrategia se adapta a los mercados oscilantes para capturar las fluctuaciones de precios a corto plazo. Sin embargo, la combinación de demasiados indicadores también puede conducir a conflictos. Se necesita optimización de parámetros.

En conclusión, la estrategia de inversión combinada de múltiples indicadores integra varias herramientas para mejorar la precisión de juicio de las reversiones del mercado.


/*backtest
start: 2023-01-01 00:00:00
end: 2023-03-11 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 25/02/2020
// 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
// The related CMOaDisparity Index article is copyrighted material from Stocks & Commodities Dec 2009
// My strategy modification.
//
// 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

CMOD(LengthFirst, LengthSecond, LengthThird) =>
    pos = 0.0
    xEMAFirst = ema(close,LengthFirst)
    xEMASecond  = ema(close,LengthSecond)
    xEMAThird  = ema(close,LengthThird)
    xResFirst = 100 * (close - xEMAFirst) / close
    xResSecond = 100 * (close - xEMASecond) / close
    xResThird = 100 * (close - xEMAThird) / close
    pos := iff(xResThird > xResFirst, -1,
             iff(xResThird < xResSecond, 1, nz(pos[1], 0)))     
    pos

strategy(title="Combo Backtest 123 Reversal & CMOaDisparity Index", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthFirst = input(50, minval=1)
LengthSecond = input(25, minval=1)
LengthThird = input(10, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posCMOD = CMOD(LengthFirst, LengthSecond, LengthThird)
pos = iff(posReversal123 == 1 and posCMOD == 1 , 1,
	   iff(posReversal123 == -1 and posCMOD == -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.