Estrategia de stop-profit y stop-loss con cruce de medias móviles dobles

EMA MACD KDJ ADX
Fecha de creación: 2024-06-03 11:02:26 Última modificación: 2024-06-03 11:02:26
Copiar: 0 Número de Visitas: 626
1
Seguir
1617
Seguidores

Estrategia de stop-profit y stop-loss con cruce de medias móviles dobles

Descripción general

La estrategia utiliza el cruce de dos medias móviles de índices (EMA) de diferentes períodos como señal de negociación, al tiempo que establece paros y pérdidas con un número fijo de puntos. Cuando el EMA a corto plazo cruza el EMA a largo plazo de abajo hacia arriba, se abre una posición más; cuando el EMA a corto plazo cruza el EMA a largo plazo de arriba hacia abajo, se abre una posición vacía.

Principio de estrategia

  1. Calcula el EMA de dos períodos diferentes, tomando por defecto el de 5 y el de 200 períodos.
  2. Cuando el EMA de 5 ciclos atraviesa el EMA de 200 ciclos de abajo hacia arriba, se produce una señal de multiplicación; cuando el EMA de 5 ciclos atraviesa el EMA de 200 ciclos de arriba hacia abajo, se produce una señal de vacío.
  3. Después de abrir la posición, configure el punto de parada (default 50) y el punto de parada (default 200).
  4. Cuando el precio toque el punto de parada o el punto de pérdida, o la posición alcanza 200 ciclos de negociación, la posición se apaga.
  5. Se puede ajustar el número de puntos de parada de pérdidas en función de la cantidad de transacciones en el gráfico.

Ventajas estratégicas

  1. Sencillo y fácil de entender: La lógica de la estrategia es clara, fácil de entender y de implementar.
  2. Seguimiento de tendencias: Utiliza las características de tendencias de la EMA para capturar mejor las tendencias del mercado.
  3. Control de riesgos: establece un número fijo de puntos de parada para controlar eficazmente el riesgo de una sola operación.
  4. Flexibilidad: el número de puntos de parada de pérdidas se puede ajustar según la volatilidad del mercado y las preferencias de riesgo personales.

Riesgo estratégico

  1. Falsa señal: las cruces de EMA pueden generar falsas señales, lo que lleva a operaciones frecuentes y pérdidas de fondos.
  2. Retraso de la tendencia: El EMA es un indicador de retraso, que puede generar una señal después de que la tendencia se haya formado, perdiendo la mejor oportunidad de entrada.
  3. Mercado de liquidación: en el mercado de liquidación, los cruces frecuentes de EMA pueden provocar una serie de operaciones perdedoras.
  4. Detenerse en puntos fijos: el detenerse en puntos fijos puede no adaptarse a los cambios en la volatilidad del mercado, lo que hace que la posición de detenerse no sea adecuada.

Dirección de optimización de la estrategia

  1. Introducción de más indicadores: en combinación con otros indicadores técnicos, como MACD, RSI, etc., para mejorar la fiabilidad de la señal.
  2. Optimización de parámetros: optimización de parámetros como el ciclo EMA, el número de puntos de parada y pérdida para mejorar el rendimiento de la estrategia.
  3. Detención dinámica: ajuste dinámico de los puntos de parada en función de la volatilidad del mercado para adaptarse mejor a los cambios en el mercado.
  4. Gestión de posiciones: Introducción de reglas de gestión de posiciones, como ajustes de posiciones basados en el riesgo, para mejorar los beneficios después de los ajustes de riesgo.
  5. Filtrador: Aumenta las condiciones de filtración de la señal de transacción, como volumen de transacción, forma de precios, etc., para mejorar la calidad de la señal.

Resumir

La estrategia de stop loss de doble línea es una estrategia de negociación simple y fácil de usar, que genera señales de negociación a través de EMA cruzados, al mismo tiempo que establece un número fijo de puntos de stop loss para controlar el riesgo. La estrategia tiene la ventaja de ser lógica, clara y fácil de implementar, capaz de capturar mejor las tendencias del mercado.

Código Fuente de la Estrategia
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=5
strategy("EMA5 Cross EAM200 && SL/TP 50 and 200 Point Target", overlay=true)

// Define input parameters for EMA lengths
ema_5 = input.int(5, title="Fast EMA Length")
ema_200 = input.int(200, title="Slow EMA Length")

// Define input parameters for stop loss and profit target in points
stopLossPoints = input.float(50, title="Stop Loss (Points)")
profitTargetPoints = input.float(200, title="Profit Target (Points)")

// Calculate EMAs
price = close
emafast = ta.ema(price, ema_5)
emaslow = ta.ema(price, ema_200)

// Plot EMAs on chart
plot(emafast, title="5-period EMA", color=color.black)
plot(emaslow, title="200-period EMA", color=color.blue)

// Extra lines if needed
ema_13 = input.int(13, title="13 EMA")
ema_13_line = ta.ema(price, ema_13)
plot(ema_13_line, title="13-period EMA", color=color.rgb(156, 39, 176, 90))

ema_20 = input.int(20, title="20 EMA")
ema_20_line = ta.ema(price, ema_20)
plot(ema_20_line, title="20-period EMA", color=color.red)


// Define entry conditions
longCondition = ta.crossover(emafast, emaslow)
shortCondition = ta.crossunder(emafast, emaslow)

// Counter to keep track of the number of bars since the entry
var int barCount = na

// Reset counter and enter long trade
if (longCondition)
    strategy.entry("Long", strategy.long, comment="Long")
    barCount := 0

// Reset counter and enter short trade
if (shortCondition)
    strategy.entry("Short", strategy.short, comment="Short")
    barCount := 0

// Increment counter if in trade
if (strategy.opentrades > 0)
    barCount += 1

// Calculate entry price
entryPrice = strategy.position_avg_price

// Exit long trade if stop loss, profit target hit, or 200 points have been reached
if (strategy.position_size > 0)
    strategy.exit("Take Profit/Stop Loss", "Long", stop=entryPrice - stopLossPoints, limit=entryPrice + profitTargetPoints)

// Exit short trade if stop loss, profit target hit, or 200 points have been reached
if (strategy.position_size < 0)
    strategy.exit("Take Profit/Stop Loss", "Short", stop=entryPrice + stopLossPoints, limit=entryPrice - profitTargetPoints)