Estrategia de indicadores de doble fuerza

El autor:¿ Qué pasa?, Fecha: 2023-11-20 09:47:41
Las etiquetas:

img

Resumen general

Esta estrategia combina el indicador de convergencia media móvil (MACD) y el indicador de fuerza relativa (RSI) para establecer condiciones de compra y venta para aprovechar las oportunidades de reversión.

Estrategia lógica

  1. Calcule el indicador MACD, incluyendo la línea rápida, la línea lenta y la línea de señal.

  2. El indicador RSI puede determinar las condiciones de sobrecompra y sobreventa.

  3. Combine las señales cruzadas del MACD y las lecturas de sobrecompra/sobreventa del RSI para formular las condiciones de compra y venta:

    • Condición de compra: La línea rápida del MACD cruza por encima de la línea lenta (cruz dorada) mientras que el indicador RSI acaba de caer desde la zona de sobrecompra, lo que indica una reversión.

    • Condición de venta: la línea rápida del MACD cruza por debajo de la línea lenta (cruz de muerte) mientras que el indicador RSI entra en la zona de sobrecompra, lo que indica una reversión.

  4. Esto permite utilizar los puntos fuertes de ambos indicadores poderosos para comprar y vender con precisión en los puntos de reversión.

Análisis de ventajas

  1. El MACD puede identificar tendencias y oportunidades comerciales. El RSI mide las condiciones de sobrecompra/sobreventa. Usar ambos mejora la precisión.

  2. El uso de dos indicadores filtra las señales falsas que pueden ocurrir con un solo indicador.

  3. El MACD combinado con el RSI permite comprar antes de las reversiones y vender después de las reversiones para capturar los giros.

  4. La estrategia tiene una frecuencia moderada, sigue las tendencias y detecta las reversiones de manera flexible.

Análisis de riesgos

  1. El MACD puede dar señales falsas en mercados agitados. Los parámetros del RSI necesitan optimización para evitar señales falsas.

  2. La volatilidad a corto plazo puede detener las posiciones, causando pérdidas.

  3. Los parámetros RSI y MACD necesitan optimización para evitar demasiadas o muy pocas señales.

  4. La gestión estricta del riesgo y del dinero es crucial para el comercio en vivo.

Direcciones de optimización

  1. Optimizar los parámetros de línea rápida/lenta del MACD para obtener las mejores combinaciones.

  2. Optimizar los umbrales de sobrecompra/sobreventa del RSI para evitar señales falsas.

  3. Añadir un stop loss para controlar el riesgo de una sola operación.

  4. Considere agregar filtros como Bollinger Bands o KDJ para una confirmación adicional.

  5. Prueba varias estrategias de entrada/salida como las rupturas o el seguimiento de tendencias.

Resumen de las actividades

Esta estrategia combina los puntos fuertes del MACD y el RSI para las reversiones. Pero el ajuste de parámetros, el control de riesgos y la gestión del dinero son clave para el rendimiento en vivo. La flexibilidad lo hace adecuado para diferentes condiciones de mercado y vale la pena probar y rastrear en vivo.


/*backtest
start: 2022-11-13 00:00:00
end: 2023-11-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// © sabirt
strategy(title='MACD and RSI', overlay=true, shorttitle='MACD&RSI')
//MACD Settings
fastMA = input.int(title='Fast moving average', defval=12, minval=1)
slowMA = input.int(title='Slow moving average', defval=26, minval=1)
signalLength = input.int(9, minval=1)

//RSI settings
RSIOverSold = input.int(35, minval=1)
RSIOverBought = input.int(80, minval=1)
src = close
len = input.int(14, minval=1, title='Length')
up = ta.rma(math.max(ta.change(src), 0), len)
down = ta.rma(-math.min(ta.change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down)
wasOversold = rsi[0] <= RSIOverSold or rsi[1] <= RSIOverSold or rsi[2] <= RSIOverSold or rsi[3] <= RSIOverSold or rsi[4] <= RSIOverSold or rsi[5] <= RSIOverSold
wasOverbought = rsi[0] >= RSIOverBought or rsi[1] >= RSIOverBought or rsi[2] >= RSIOverBought or rsi[3] >= RSIOverBought or rsi[4] >= RSIOverBought or rsi[5] >= RSIOverBought



[currMacd, _, _] = ta.macd(close[0], fastMA, slowMA, signalLength)
[prevMacd, _, _] = ta.macd(close[1], fastMA, slowMA, signalLength)
signal = ta.ema(currMacd, signalLength)

avg_1 = math.avg(currMacd, signal)
crossoverBear = ta.cross(currMacd, signal) and currMacd < signal ? avg_1 : na
avg_2 = math.avg(currMacd, signal)
crossoverBull = ta.cross(currMacd, signal) and currMacd > signal ? avg_2 : na

strategy.entry('buy', strategy.long, when=crossoverBull and wasOversold)
strategy.close('buy', when=crossoverBear and wasOverbought)



Más.