Sistema de comercio con filtro SMA de ruptura de brecha de tendencia

GAP SMA MA
Fecha de creación: 2024-11-29 15:07:43 Última modificación: 2024-11-29 15:07:43
Copiar: 0 Número de Visitas: 377
1
Seguir
1617
Seguidores

Sistema de comercio con filtro SMA de ruptura de brecha de tendencia

Descripción general

Se trata de un sistema de seguimiento de tendencias basado en la filtración de salto de precios y medias móviles. La estrategia identifica señales de salto de precios con significación estadística y, en combinación con el filtro de tendencias SMA, opera cuando se forma una tendencia clara en el mercado. La idea central de la estrategia es capturar oportunidades de continuación de tendencias generadas por salto de precios causados por desequilibrios de oferta y demanda.

Principio de estrategia

El funcionamiento de la estrategia se basa en los siguientes elementos clave:

  1. Identificación de saltos - El sistema identifica saltos mediante el cálculo de la diferencia porcentual entre el precio de apertura y el precio de cierre anterior, y establece un umbral de saltos mínimo para filtrar las fluctuaciones más pequeñas.
  2. Opciones direccionales - Ofrece una variedad de modos de negociación de salto en alto (hacer más salto en alto, hacer salto en bajo, etc.), los usuarios pueden elegir de manera flexible según el entorno del mercado.
  3. Filtración de tendencias de SMA - juzgar la tendencia general a través de una media móvil simple y abrir una posición solo cuando el precio coincide con la dirección de la tendencia.
  4. Gestión de posiciones - El uso de un ciclo de tenencia predeterminado para administrar las posiciones y controlar el riesgo de manera efectiva.

Ventajas estratégicas

  1. La señal es clara - La señal de salto en alto es claramente visible, para facilitar el juicio y la ejecución.
  2. Riesgo controlado - Control eficaz del riesgo mediante la fijación de los mínimos de salto y el tiempo de mantenimiento de la posición.
  3. Flexible - puede elegir diferentes direcciones de salto en función de las condiciones del mercado.
  4. Confirmación de tendencias - El filtro SMA proporciona confirmación de tendencias adicionales y mejora la tasa de éxito de las operaciones.
  5. Alto grado de automatización - La lógica de la estrategia es clara y fácil de automatizar.

Riesgo estratégico

  1. Riesgo de falsa ruptura - Pueden surgir repeticiones rápidas después del salto, causando falsas señales.
  2. Riesgo de deslizamiento - Las operaciones de salto abierto pueden tener un deslizamiento mayor.
  3. Riesgo de reversión de la tendencia - los tenedores de posiciones fijas pueden perder la reversión de la tendencia.
  4. Dependencia del entorno del mercado - En los mercados de baja volatilidad, hay menos señales efectivas.

Dirección de optimización de la estrategia

  1. Periodo de mantenimiento de posiciones dinámicas - el tiempo de mantenimiento de posiciones se ajusta dinámicamente según la volatilidad del mercado.
  2. Confirmación múltiple - Introducción de indicadores como el volumen de tráfico, la fluctuación para la confirmación de la señal.
  3. Optimización de stop loss - añadir stop loss de seguimiento o stop loss de fluctuación.
  4. Clasificación de señales - diseño de un sistema de apertura de depósito graduado en función de la amplitud de salto.
  5. Selección del mercado - Establecer mecanismos para identificar el entorno del mercado y negociar en condiciones de mercado adecuadas.

Resumir

La estrategia, combinada con el filtro de tendencias de salto en el precio y la filtración de tendencias de línea media, construye un sistema de negociación con claridad lógica y control de riesgos. Mediante la configuración razonable de los parámetros y la optimización continua, la estrategia puede obtener ganancias estables en mercados de tendencia. Se recomienda a los operadores que realicen pruebas históricas adecuadas antes de su uso en el mercado real y que realicen optimizaciones específicas según las características específicas del mercado.

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

//@version=5
strategy("Simplified Gap Strategy with SMA Filter", overlay=true)

// Input fields for user control
long_gap_threshold = input.float(0.1, title="Gap Threshold (%)", minval=0.01, step=0.01)  // Minimum percentage for gaps
hold_duration = input.int(10, title="Hold Duration (bars)", minval=1)  // Duration to hold the position
gap_trade_option = input.string("Long Up Gap", title="Select Trade Option", options=["Long Up Gap", "Short Down Gap", "Short Up Gap", "Long Down Gap"])  // Combined option
use_sma_filter = input.bool(false, title="Use SMA Filter")  // Checkbox to activate SMA filter
sma_length = input.int(200, title="SMA Length", minval=1)  // Length of the SMA

// RGB color definitions for background
color_up_gap = color.new(color.green, 50)    // Green background for up gaps
color_down_gap = color.new(color.red, 50)    // Red background for down gaps

// Gap size calculation in percentage terms
gap_size = (open - close[1]) / close[1] * 100  // Gap size in percentage

// Calculate gaps based on threshold input
up_gap = open > close[1] and gap_size >= long_gap_threshold  // Long gap condition
down_gap = open < close[1] and math.abs(gap_size) >= long_gap_threshold  // Short gap condition

// Calculate the SMA
sma_value = ta.sma(close, sma_length)

// Define the trading logic based on selected option and SMA filter
if (gap_trade_option == "Long Up Gap" and up_gap and (not use_sma_filter or close > sma_value))
    strategy.entry("Long", strategy.long)
if (gap_trade_option == "Short Down Gap" and down_gap and (not use_sma_filter or close < sma_value))
    strategy.entry("Short", strategy.short)
if (gap_trade_option == "Short Up Gap" and up_gap and (not use_sma_filter or close < sma_value))
    strategy.entry("Short", strategy.short)
if (gap_trade_option == "Long Down Gap" and down_gap and (not use_sma_filter or close > sma_value))
    strategy.entry("Long", strategy.long)

// Exit position after the hold duration
if (strategy.opentrades > 0)
    if (bar_index - strategy.opentrades.entry_bar_index(0) >= hold_duration)
        strategy.close("Long")
        strategy.close("Short")

// Background coloring to highlight gaps on the chart
bgcolor((gap_trade_option == "Long Up Gap" and up_gap) ? color_up_gap : na, title="Up Gap Background")
bgcolor((gap_trade_option == "Short Down Gap" and down_gap) ? color_down_gap : na, title="Down Gap Background")
bgcolor((gap_trade_option == "Short Up Gap" and up_gap) ? color_down_gap : na, title="Short Up Gap Background")
bgcolor((gap_trade_option == "Long Down Gap" and down_gap) ? color_up_gap : na, title="Long Down Gap Background")

// Plot the SMA for visualization
plot(use_sma_filter ? sma_value : na, color=color.white, title="SMA", linewidth=1)