Estrategia de negociación con precio límite dinámico de combinación de indicadores múltiples SMA-RSI-MACD

SMA RSI MACD EMA
Fecha de creación: 2024-12-11 15:15:49 Última modificación: 2024-12-11 15:15:49
Copiar: 2 Número de Visitas: 435
1
Seguir
1617
Seguidores

Estrategia de negociación con precio límite dinámico de combinación de indicadores múltiples SMA-RSI-MACD

Descripción general

La estrategia es un sistema de negociación que combina varios indicadores técnicos para abrir posiciones basadas principalmente en la confirmación de la triple señal de cruce de la línea media EMA, sobreventa RSI y el tenedor de oro MACD, y para administrar el riesgo a través de un mecanismo de entrada y salida múltiple en el precio de límite dinámico. La estrategia utiliza una media móvil de índice de 9 y 21 períodos como indicador de tendencia principal, combinada con un índice relativamente débil (RSI) y una media móvil de tendencia detrás del indicador (MACD) para filtrar las señales de negociación, y para controlar el riesgo mediante el establecimiento de una distancia de precio de límite y un número fijo de puntos de parada y pérdida.

Principio de estrategia

La lógica de transacción central de la estrategia incluye las siguientes partes clave:

  1. La señal de entrada se activa al atravesar el EMA de 21 ciclos basado en el EMA de 9 ciclos
  2. El precio de entrada se establece en una lista de precios límite que especifica el número de puntos por debajo del EMA de 9 períodos
  3. La confirmación de la transacción requiere que el RSI sea inferior al umbral establecido y el MACD Gold Fork sea satisfecho al mismo tiempo
  4. Las señales de salida incluyen un forquillo muerto MACD, un punto de parada fijo y una posición cerrada de obligado equilibrio.
  5. El horario de operaciones está limitado a después de las 9:30 a.m. y hasta las 3:10 p.m.

Las estrategias de entrada única de precio limitado permiten establecer posiciones en mejores posiciones de precios y mejorar la precisión de las operaciones mediante la combinación de múltiples indicadores técnicos.

Ventajas estratégicas

  1. El mecanismo de confirmación de múltiples señales mejora la fiabilidad de las transacciones
  2. La entrada por unidad de precio limitado permite obtener mejores precios de transacción
  3. Puntos de parada fijos para el control de riesgos
  4. El cierre obligatorio de las posiciones para evitar riesgos de la noche a la mañana
  5. El límite de tiempo de negociación evita la volatilidad de la apertura
  6. Los indicadores EMA reaccionan más rápido a las tendencias
  7. La combinación de RSI y MACD puede filtrar las falsas señales

Riesgo estratégico

  1. La confirmación de múltiples señales puede llevar a perder algunas oportunidades de negociación
  2. El precio de las ofertas limitadas podría no ser alcanzado debido a la rápida subida de precios
  3. Los puntos fijos pueden tener mayores pérdidas en períodos de alta volatilidad
  4. Los indicadores MACD podrían retrasarse
  5. La estrategia no tiene en cuenta el impacto de los cambios en la volatilidad del mercado
  6. Optimización de parámetros puede tener riesgo de exceso de ajuste

Dirección de optimización de la estrategia

  1. Introducción de puntos de parada de pérdidas adaptados, ajustados dinámicamente según la volatilidad del mercado
  2. Aumentar el índice de transacción como señal de confirmación auxiliar
  3. Considerar la inclusión de un filtro de intensidad de tendencia
  4. Optimización del método de cálculo de las distancias únicas de los precios límite, se puede considerar el ajuste dinámico con ATR
  5. Aumentar los indicadores de sentimiento del mercado para filtrar el entorno de mercado desfavorable
  6. Adhesión a un mecanismo de gestión de la posición para ajustar el volumen de apertura según la intensidad de la señal

Resumir

Esta es una estrategia de negociación multi-indicadores estructurada y lógica, que identifica tendencias a través de un sistema uniforme, filtra las señales RSI y MACD, controla el riesgo de las órdenes de precios límite y los mecanismos de parada múltiple. La ventaja de la estrategia reside en la alta fiabilidad de la señal, el control de riesgo es perfecto, pero también hay problemas como el retraso de la señal y la optimización de los parámetros.

Código Fuente de la Estrategia
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("SMA 9 & 21 with RSI and MACD Buy Strategy", overlay=true)

// Inputs for Simple Moving Averages
sma_short = ta.ema(close, 9)
sma_long = ta.ema(close, 21)

// Plotting SMA
plot(sma_short, color=color.green, title="SMA 9")
plot(sma_long, color=color.red, title="SMA 21")

// RSI Calculation
rsi_length = input.int(14, title="RSI Length")
rsi_threshold = input.int(70, title="RSI Threshold")
rsi = ta.rsi(close, rsi_length)

// MACD Calculation
macd_fast = input.int(8, title="MACD Fast Length")
macd_slow = input.int(18, title="MACD Slow Length")
macd_signal = input.int(6, title="MACD Signal Length")
[macd_line, signal_line, _] = ta.macd(close, macd_fast, macd_slow, macd_signal)

// Inputs for Limit Order Offset
limit_offset = input.int(50, title="Limit Order Offset", minval=1)  // 50 points below 9 EMA

// User input for specific date
simulationStartDate = input(timestamp("2024-12-01 00:00"), title="Simulation Start Date", group = "Simulation Dates")
simulationEndDate = input(timestamp("2024-12-30 00:00"), title="Simulation End Date", group = "Simulation Dates")

// Declare limit_price as float
var float limit_price = na

// Calculate Limit Order Price
if (sma_short[1] < sma_long[1] and sma_short > sma_long)  // 9 EMA crosses above 21 EMA
    limit_price := sma_short - limit_offset

// Buy Signal Condition (only on the specified date)
buy_condition = not na(limit_price) and rsi < rsi_threshold and ta.crossover(macd_line, signal_line) 

// Sell Signal Condition (MACD crossover down)
sell_condition = ta.crossunder(macd_line, signal_line)

// Track Entry Price for Point-Based Exit
var float entry_price = na

if (buy_condition )
    strategy.order("Buy", strategy.long, comment="Limit Order at 9 EMA - Offset", limit=limit_price)
    label.new(bar_index, limit_price, "Limit Buy", style=label.style_label_up, color=color.green, textcolor=color.white)
    entry_price := limit_price  // Set entry price

// Exit Conditions
exit_by_macd = sell_condition
exit_by_points = not na(entry_price) and ((close >= entry_price + 12) or (close <= entry_price - 12))  // Adjust as per exit points

// Exit all positions at the end of the day
if hour == 15 and minute > 10 and strategy.position_size > 0
    strategy.close_all()  // Close all positions at the end of the day
    strategy.cancel_all()  

// Exit based on sell signal or point movement
if (exit_by_macd or exit_by_points  and strategy.position_size > 0 )
    strategy.close("Buy")
    label.new(bar_index, close, "Close", style=label.style_label_down, color=color.red, textcolor=color.white)