Sistema de comercio de tendencias híbrido con ruptura de precios históricos (HBTS)

MA SMA EMA WMA VWMA
Fecha de creación: 2024-12-05 14:40:05 Última modificación: 2024-12-05 14:40:05
Copiar: 0 Número de Visitas: 155
1
Seguir
1222
Seguidores

Sistema de comercio de tendencias híbrido con ruptura de precios históricos (HBTS)

Descripción general

La estrategia es un sistema de seguimiento de tendencias basado en brechas históricas de precios y filtros de medias. Combina señales de brechas de precios de varios períodos y promedios móviles para identificar tendencias en el mercado y capturar movimientos de mercado a medio y largo plazo mediante estrictas reglas de entrada y salida. La estrategia utiliza brechas de precios de 55 días como señal de ventajas y brechas de precios de 20 días como señal de posición cerrada, mientras que introduce la línea media de 200 días como filtro de tendencias, lo que reduce efectivamente el riesgo de brechas falsas.

Principio de estrategia

La lógica central de la estrategia se basa en las rupturas de precios y el seguimiento de tendencias.

  1. Señales de entrada: cuando el precio alcanza un nuevo máximo de 55 días y el precio de cierre está por encima de la media de 200 días, el sistema emite una señal múltiple
  2. Señales de salida: el sistema cerrará la operación cuando el precio caiga a un mínimo de 20 días
  3. Filtración de tendencias: utiliza la línea media de 200 días como base para determinar la tendencia general, solo abre posiciones por encima de la línea media
  4. Gestión de posiciones: 10% del valor neto de la cuenta como porcentaje de fondos por transacción
  5. Opción de línea media: soporta cuatro modos de línea media: SMA, EMA, WMA y VWMA, con opciones flexibles según las características del mercado

Ventajas estratégicas

  1. La lógica es simple y clara: la estrategia utiliza los clásicos indicadores de brechas y medias de precios, fáciles de entender y ejecutar
  2. Control de riesgo perfecto: establece condiciones de stop loss claras y gestiona el riesgo mediante filtros uniformes y control de posición
  3. Adaptabilidad: puede adaptarse a diferentes entornos de mercado mediante ajustes de parámetros
  4. La capacidad de captura de tendencias: confirma la dirección de la tendencia a través de brechas de precios en múltiples períodos de tiempo
  5. Alto grado de automatización: reglas de estrategia claras y fácil implementación programática

Riesgo estratégico

  1. Riesgo de mercado de movimiento: Falsos breaks en la fase de ordenamiento horizontal
  2. Riesgo de deslizamiento: en mercados con poca liquidez, el deslizamiento en el momento de la ruptura puede ser mayor
  3. Riesgo de cambio de tendencia: una retirada más grande cerca del punto de cambio de tendencia
  4. Sensibilidad de parámetros: los parámetros óptimos pueden variar mucho en diferentes entornos de mercado
  5. Riesgo de gestión de fondos: las posiciones de proporción fija pueden ser demasiado arriesgadas en ciertos casos

Dirección de optimización de la estrategia

  1. Mecanismo de confirmación de la señal: puede aumentar los indicadores auxiliares como la brecha de volumen de tráfico para filtrar las brechas falsas
  2. Detención dinámica: la introducción de indicadores de volatilidad como el ATR para lograr el deterioro dinámico
  3. Optimización de la gestión de posiciones: proporción de posiciones ajustadas dinámicamente en función de la volatilidad del mercado
  4. Análisis multi-ciclo: agregar análisis de más períodos de tiempo para mejorar la fiabilidad de la señal
  5. Identificación del entorno del mercado: agregar indicadores de intensidad de tendencia para juzgar el entorno actual del mercado

Resumir

Este es un sistema de estrategia que combina las reglas clásicas de las operaciones de piragüismo con las herramientas de análisis tecnológico moderno. La captura de tendencias a través de la ruptura de precios, el uso de filtros uniformes para confirmar la dirección, junto con la gestión razonable de la posición para controlar el riesgo. La lógica de la estrategia es clara, práctica y tiene una buena escalabilidad.

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

//@version=5
strategy("Turtle Traders - Andrei", overlay=true, 
     default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// ====== Inputs ======
// Período para a máxima das compras
lookback_buy = input.int(title="Período para Máxima de Compra", defval=55, minval=1)

// Período para a mínima das vendas
lookback_sell = input.int(title="Período para Mínima de Venda", defval=20, minval=1)

// Período da Média Móvel
ma_length = input.int(title="Período da Média Móvel", defval=200, minval=1)

// Tipo de Média Móvel
ma_type = input.string(title="Tipo de Média Móvel", defval="SMA", options=["SMA", "EMA", "WMA", "VWMA"])

// ====== Cálculos ======
// Cálculo da Média Móvel baseada no tipo selecionado
ma = switch ma_type
    "SMA" => ta.sma(close, ma_length)
    "EMA" => ta.ema(close, ma_length)
    "WMA" => ta.wma(close, ma_length)
    "VWMA" => ta.vwma(close, ma_length)

// Cálculo da máxima dos últimos 'lookback_buy' candles
highest_buy = ta.highest(high, lookback_buy)

// Cálculo da mínima dos últimos 'lookback_sell' candles
lowest_sell = ta.lowest(low, lookback_sell)

// ====== Condições de Negociação ======
// Condição de entrada: fechamento acima da máxima dos últimos 'lookback_buy' candles E acima da MA
longCondition = (high == highest_buy) and (close > ma)

if (longCondition)
    strategy.entry("Comprar", strategy.long)

// Condição de saída: fechamento abaixo da mínima dos últimos 'lookback_sell' candles
exitCondition = (low == lowest_sell)

if (exitCondition)
    strategy.close("Comprar")

// ====== Plotagens ======
// Plotar a máxima de 'lookback_buy' candles
plot(highest_buy, color=color.green, title="Máxima", linewidth=2)

// Plotar a mínima de 'lookback_sell' candles
plot(lowest_sell, color=color.red, title="Mínima", linewidth=2)

// Plotar a Média Móvel
plot(ma, color=color.blue, title="Média Móvel", linewidth=2)

// ====== Sinais Visuais ======
// Sinal de entrada
plotshape(series=longCondition, location=location.belowbar, color=color.green, 
          style=shape.labelup, title="Sinal de Compra", text="")

// Sinal de saída
plotshape(series=exitCondition, location=location.abovebar, color=color.red, 
          style=shape.labeldown, title="Sinal de Venda", text="")