El índice MACD, el RSI y la estrategia de la EMA

El autor:¿ Qué pasa?, Fecha: 2024-03-01 12: 23:38
Las etiquetas:

img

Resumen general

Esta estrategia combina el promedio móvil simple (SMA), el rango verdadero promedio (ATR), el índice del canal de productos básicos (CCI) y las bandas de Bollinger para identificar las tendencias de precios a corto y mediano plazo y proporcionar apoyo para las decisiones comerciales.

Principio de la estrategia

La estrategia utiliza cuatro líneas SMA con diferentes períodos para reconocer la dirección de la tendencia del precio, incluyendo líneas de 5 días, 10 días, 50 días y 200 días.

Ir largo cuando la SMA a corto plazo (líneas de 5 y 10 días) cruza por encima de la SMA a largo plazo (líneas de 50 y 200 días). Ir corto cuando la SMA a corto plazo cruza por debajo de la SMA a largo plazo. Vender cuando el CCI es mayor a 100; Comprar cuando el CCI es menor a -100. Establecer un stop loss basado en los valores de ATR.

Análisis de ventajas

Al combinar el juicio de tendencia de las líneas de promedio móvil y el juicio de sobrecompra / sobreventa de CCI, esta estrategia puede aprovechar eficazmente las oportunidades del mercado. Funciona especialmente bien para el comercio a mediano y corto plazo. Además, el control de riesgos es relativamente científico, lo que puede maximizar la evitación de pérdidas.

Análisis de riesgos

Esta estrategia es relativamente conservadora y es probable que pierda las señales comerciales. Cuando hay un mercado de rango o una inversión de tendencia, la toma de ganancias puede desencadenarse prematuramente. Además, la configuración inadecuada de parámetros también puede afectar el rendimiento.

Direcciones de optimización

Trate de optimizar los parámetros de la SMA para acercarlos a las condiciones actuales del mercado. La desviación estándar de las bandas de Bollinger también se puede ajustar para un mejor rendimiento como niveles de soporte / resistencia. Además, considere agregar otros indicadores para ayudar al juicio, como KDJ, MACD, etc. Esto puede mejorar la tasa de ganancia de la estrategia.

Resumen de las actividades

Esta estrategia, que integra una variedad de herramientas analíticas para juzgar el mercado, puede generar retornos de inversión satisfactorios cuando los parámetros se establecen adecuadamente.


/*backtest
start: 2023-02-23 00:00:00
end: 2024-02-29 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/
// © maizirul959

//@version=4
strategy("MACD,RSI & EMA strategy with MA+PSAR by MAM", overlay=true)

//Input Data
_ema_len1 = input(5, title="EMA1 length")
_ema_len2 = input(20, title="EMA2 length")

_macd_fast = input(12, title="MACD Fast")
_macd_slow = input(26, title="MACD Slow")
_macd_signal_len = input(20, title="MACD Signal length")

//MAM add SMA
_sma_len1 = input(5, title="SMA1 Length")
_sma_len2 = input(10, title="SMA2 Length")
_sma_len3 = input(50, title="SMA3 Length")
_sma_len4 = input(200, title="SMA4 Length")

lineWidth = input(1, minval=1, title="Line width")

src = input(close, title="Source")

SMA1 = if _sma_len1 != 0
    sma(src, _sma_len1)
SMA2 = if _sma_len2 != 0
    sma(src, _sma_len2)
SMA3 = if _sma_len3 != 0
    sma(src, _sma_len3)
SMA4 = if _sma_len4 != 0
    sma(src, _sma_len4)


//__________________________________________________________________________

_rsi_len = input(14, title="RSI length")
_rsi_signal_len = input(20, title="RSI signal length")

//_________________________________________________________________________
//MAM Add PSAR
PSAR_start = input(0.02)
PSAR_increment = input(0.02)
PSAR_maximum = input(0.2)

psar = sar(PSAR_start, PSAR_increment, PSAR_maximum)
//_________________________________________________________________________

_ema1 = ema(close, _ema_len1)
_ema2 = ema(close, _ema_len2)

//_________________________________________________________________________
//MAM add SMA
//_sma1 = ema(close, _sma_len1)
//_sma2 = ema(close, _sma_len2)
//_________________________________________________________________________

_macd = ema(close, _macd_fast) - ema(close, _macd_slow)
_macd_signal = ema(_macd, _macd_signal_len)

_rsi = rsi(close, _rsi_len)
_rsi_signal = ema(_rsi, _rsi_signal_len)


//PLOT SMA
plot(SMA1, color=#B71C1C, title="SMA1", linewidth=lineWidth)
plot(SMA2, color=#FFFF00, title="SMA2", linewidth=lineWidth)
plot(SMA3, color=#5b34ff, title="SMA3", linewidth=lineWidth)
plot(SMA4, color=#d7d7d7, title="SMA4", linewidth=lineWidth)


//PLOT PSAR
plot(psar, "ParabolicSAR", style=plot.style_cross, color=#3A6CA8)

//plot(_rsi, color=color.yellow)
//plot(_rsi_signal, color=color.green)
//plot(_macd, color=color.blue)
//plot(_macd_signal, color=color.red)


longCondition = close > _ema1 and close > _ema2 and _macd > _macd_signal and _rsi > _rsi_signal 
if (longCondition)
    strategy.entry("Buy",strategy.long)
    
shortCondition = close < _ema1 and close <_ema2 and _macd < _macd_signal and _rsi < _rsi_signal
if (shortCondition)
    strategy.entry("Sell",strategy.short)


Más.