En la carga de los recursos... Cargando...

Sistema de negociación Martingale de impulso adaptativo

El autor:¿ Qué pasa?, Fecha: 2025-01-06 11:01:12
Las etiquetas:La SMALa CNNGAN

img

Resumen de la estrategia

Esta estrategia es un sistema de negociación totalmente automatizado que combina el impulso adaptativo y la gestión de posiciones de Martingale. Utiliza múltiples indicadores técnicos para el análisis de mercado, incluido el suavizado de autoencoder, la extracción de características de impulso simuladas por CNN y el filtrado de señales comerciales basadas en la volatilidad.

Principios de estrategia

La estrategia se basa en tres módulos básicos:

  1. Módulo de preprocesamiento de datos: utiliza SMA para lograr una suavización de precios similar a la de un autoencoder y filtrar el ruido del mercado.
  2. Módulo de generación de señales - Simula la extracción de características de CNN calculando las diferencias de precios con promedios móviles a largo plazo, combinadas con umbrales de volatilidad para detectar oportunidades comerciales de alta probabilidad.
  3. Módulo de gestión de posiciones - Implementa el ajuste de posiciones al estilo Martingale, aumentando el tamaño de la posición proporcionalmente después de pérdidas consecutivas y volviendo a la línea de base después de las ganancias.

Ventajas estratégicas

  1. Confiabilidad de la generación de señales: mejora la calidad de las señales de negociación mediante múltiples indicadores técnicos y filtrado de volatilidad.
  2. Gestión integral del riesgo - Cuenta con múltiples mecanismos de protección, incluidos los límites de toma de ganancias, stop-loss y límites máximos de posición.
  3. Fuerte adaptabilidad: ajusta dinámicamente la estrategia comercial en función de las condiciones del mercado.
  4. Lógica operativa clara - Las condiciones de entrada y salida bien definidas facilitan las pruebas de retroceso y la optimización.

Riesgos estratégicos

  1. Riesgo de Martingala - Las pérdidas consecutivas pueden dar lugar a un rápido crecimiento de la posición, lo que requiere un estricto control máximo de la posición.
  2. Riesgo de reversión de tendencia: las señales de impulso pueden fallar durante la volatilidad extrema del mercado.
  3. Sensibilidad de parámetros - Varios parámetros clave afectan significativamente el rendimiento de la estrategia.

Direcciones para la optimización de la estrategia

  1. Mejora de la señal: Incorporar modelos de aprendizaje automático para mejorar la precisión de la señal.
  2. En el caso de las operaciones de inversión, el valor de las operaciones de inversión se calculará en función de las posiciones que se hayan mantenido en el mercado.
  3. Parámetros adaptativos - Desarrollar mecanismos de adaptación de parámetros para mejorar la estabilidad de la estrategia.
  4. Adaptación de activos múltiples: ampliar la aplicabilidad de la estrategia para el comercio de activos múltiples.

Resumen de las actividades

Esta estrategia combina técnicas de negociación cuantitativas modernas con el método Martingale clásico para crear un sistema de negociación con base teórica y practicidad.


/*backtest
start: 2024-12-06 00:00:00
end: 2025-01-04 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Adaptive Crypto Trading Strategy with Martingale", shorttitle = "ACTS_w_MG_V1",overlay=true)

// Inputs
smoothing_length = input.int(14, title="Smoothing Length (Autoencoder)")
momentum_window = input.int(21, title="Momentum Window (CNN)")
volatility_threshold = input.float(0.02, title="Volatility Threshold (GAN Simulation)")
take_profit = input.float(0.05, title="Take Profit (%)")
stop_loss = input.float(0.02, title="Stop Loss (%)")

// Martingale Inputs
base_lot_size = input.float(1, title="Base Lot Size")  // Initial trade size
multiplier = input.float(2, title="Martingale Multiplier")  // Lot size multiplier after a loss
max_lot_size = input.float(2, title="Maximum Lot Size")  // Cap on lot size
var float lot_size = base_lot_size  // Initialize the lot size

// Step 1: Data Smoothing (Autoencoder)
smoothed_price = ta.sma(close, smoothing_length)

// Step 2: Feature Extraction (Momentum - CNN Simulation)
momentum = ta.sma(close, momentum_window) - close
volatility = ta.stdev(close, momentum_window)

// Step 3: Entry Conditions (GAN-Inspired Pattern Detection)
long_condition = (momentum > 0 and volatility > volatility_threshold)
short_condition = (momentum < 0 and volatility > volatility_threshold)

// Martingale Logic
if (strategy.closedtrades > 0)
    if (strategy.closedtrades.profit(strategy.closedtrades - 1) < 0)
        lot_size := math.min(lot_size * multiplier, max_lot_size)  // Increase lot size after a loss, but cap it
    else
        lot_size := base_lot_size  // Reset lot size after a win or on the first trade

// Step 4: Take Profit and Stop Loss Management
long_take_profit = close * (1 + take_profit)
long_stop_loss = close * (1 - stop_loss)
short_take_profit = close * (1 - take_profit)
short_stop_loss = close * (1 + stop_loss)

// Execute Trades
if (long_condition)
    strategy.entry("Long", strategy.long, qty=lot_size, stop=long_stop_loss, limit=long_take_profit)

if (short_condition)
    strategy.entry("Short", strategy.short, qty=lot_size, stop=short_stop_loss, limit=short_take_profit)



Relacionados

Más.