Estrategia de captura de tendencias comerciales basada en máximos y mínimos históricos de Delta SMA

SMA DELTA MA
Fecha de creación: 2025-02-19 10:47:50 Última modificación: 2025-02-19 10:47:50
Copiar: 3 Número de Visitas: 350
1
Seguir
1617
Seguidores

Estrategia de captura de tendencias comerciales basada en máximos y mínimos históricos de Delta SMA

Descripción general

Esta es una estrategia de negociación basada en el SMA (simple moving average) del valor del delta del volumen de compra y venta, que analiza los altibajos durante un año. La estrategia identifica señales de negociación potenciales calculando el promedio móvil de la diferencia del volumen de compra y venta y comparándolo con los altibajos históricos. La estrategia adopta un período de retroceso prolongado, adecuado para el comercio de tendencias a medio y largo plazo.

Principio de estrategia

La lógica central de la estrategia se basa en los siguientes pasos clave:

  1. Cálculo Delta: Calcula el diferencial de compra y venta mediante el análisis de la evolución de los precios. Cuando el precio de cierre es superior al precio de apertura, se registra como la cantidad comprada, y viceversa como la cantidad vendida.
  2. Tratamiento suave SMA: Tratamiento de promedios móviles de 14 ciclos de los valores Delta para reducir el ruido.
  3. Determinación de los máximos y mínimos de un año: Calcula los máximos y mínimos del Delta SMA en el último año.
  4. Condiciones de activación de la señal:
    • Señales de compra: se activan cuando el Delta SMA se rompe a 0 después de un año de un mínimo del 70%
    • Señales de venta: se activan cuando el Delta SMA cae al 60% después de alcanzar el 90% de su máximo anual

Ventajas estratégicas

  1. Capacidad para capturar tendencias a largo plazo: con el análisis de datos históricos de un año, es capaz de capturar las principales tendencias.
  2. El filtro de ruido es bueno: el tratamiento suavizado de SMA y las condiciones de múltiples valoraciones reducen las falsas señales.
  3. El control de riesgos es razonable: se establecen condiciones claras de entrada y salida para evitar el exceso de comercio.
  4. Adaptabilidad: los parámetros de la estrategia se pueden ajustar según las diferentes condiciones del mercado.

Riesgo estratégico

  1. Riesgo de retraso: El uso de SMA y el período de retroceso prolongado pueden causar retraso en la señal.
  2. Riesgo de brechas falsas: puede generar señales falsas en un mercado convulso.
  3. Dependencia del entorno del mercado: puede tener un desempeño deficiente en mercados donde la tendencia no es clara.
  4. Sensibilidad de los parámetros: La configuración de los umbrales tiene un gran impacto en el rendimiento de la estrategia.

Dirección de optimización de la estrategia

  1. Ajuste de la brecha dinámica: se puede ajustar la brecha de los puntos altos y bajos en función de la dinámica de la volatilidad del mercado.
  2. Aumento de indicadores auxiliares: mejora de la fiabilidad de la señal en combinación con otros indicadores técnicos
  3. Introducir un mecanismo de stop loss: Configurar el stop loss dinámico para controlar el riesgo.
  4. Filtración del entorno de mercado: agregar la lógica de juicio del entorno de mercado y ejecutar la estrategia en el entorno adecuado.

Resumir

Se trata de una estrategia de seguimiento de tendencias a medio y largo plazo basada en el análisis del volumen de transacciones, para capturar la tendencia del mercado mediante el análisis de los altos y bajos históricos de las diferencias de volumen de compra y venta. La estrategia está diseñada de manera razonable, el riesgo está controlado, pero se debe tener en cuenta la adaptabilidad y la optimización de los parámetros del entorno del mercado.

Código Fuente de la Estrategia
/*backtest
start: 2024-02-20 00:00:00
end: 2025-02-17 08:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Delta SMA 1-Year High/Low Strategy", overlay = false, margin_long = 100, margin_short = 100)

// Inputs
delta_sma_length = input.int(14, title="Delta SMA Length", minval=1)  // SMA length for Delta
lookback_days = 365  // Lookback period fixed to 1 year

// Function to calculate buy and sell volume
buy_volume = close > open ? volume : na
sell_volume = close < open ? volume : na

// Calculate the Delta
delta = nz(buy_volume, 0) - nz(sell_volume, 0)

// Calculate Delta SMA
delta_sma = ta.sma(delta, delta_sma_length)

// Lookback period in bars (1 bar = 1 day)
desired_lookback_bars = lookback_days

// Ensure lookback doesn't exceed available historical data
max_lookback_bars = math.min(desired_lookback_bars, 365)  // Cap at 365 bars (1 year)

// Calculate Delta SMA low and high within the valid lookback period
delta_sma_low_1yr = ta.lowest(delta_sma, max_lookback_bars)
delta_sma_high_1yr = ta.highest(delta_sma, max_lookback_bars)

// Define thresholds for buy and sell conditions
very_low_threshold = delta_sma_low_1yr * 0.7
above_70_threshold = delta_sma_high_1yr * 0.9
below_60_threshold = delta_sma_high_1yr * 0.5

// Track if `delta_sma` was very low and persist the state
var bool was_very_low = false
if delta_sma < very_low_threshold
    was_very_low := true
if ta.crossover(delta_sma, 10000)
    was_very_low := false  // Reset after crossing 0

// Track if `delta_sma` crossed above 70% of the high
var bool crossed_above_70 = false
if ta.crossover(delta_sma, above_70_threshold)
    crossed_above_70 := true
if delta_sma < below_60_threshold*0.5 and crossed_above_70
    crossed_above_70 := false  // Reset after triggering sell

// Buy condition: `delta_sma` was very low and now crosses 0
buy_condition = was_very_low and ta.crossover(delta_sma, 0)

// Sell condition: `delta_sma` crossed above 70% of the high and now drops below 60%
sell_condition = crossed_above_70 and delta_sma < below_60_threshold

// Place a long order when buy condition is met
if buy_condition
    strategy.entry("Buy", strategy.long)

// Place a short order when sell condition is met
if sell_condition
    strategy.close("Buy")

// Plot Delta SMA and thresholds for visualization
plot(delta_sma, color=color.blue, title="Delta SMA")
plot(very_low_threshold, color=color.green, title="70% of 1-Year Delta SMA Low", linewidth=2)
plot(above_70_threshold, color=color.purple, title="70% of 1-Year Delta SMA High", linewidth=2)
plot(below_60_threshold, color=color.red, title="60% of 1-Year Delta SMA High", linewidth=2)

// Optional: Plot Buy and Sell signals on the chart
//plotshape(series=buy_condition, title="Buy Signal", location=location.belowbar, color=color.new(color.green, 0), style=shape.labelup, text="BUY")
//plotshape(series=sell_condition, title="Sell Signal", location=location.abovebar, color=color.new(color.red, 0), style=shape.labeldown, text="SELL")