В процессе загрузки ресурсов... загрузка...

Система трейдинга с адаптивным импульсом Мартингейл

Автор:Чао Чжан, Дата: 2025-01-06 11:01:12
Тэги:SMACNNGAN

img

Обзор стратегии

Эта стратегия является полностью автоматизированной торговой системой, которая сочетает в себе адаптивный импульс и управление позициями Мартингейла. Она использует несколько технических индикаторов для анализа рынка, включая сглаживание автокодера, выделение симулируемых CNN импульсов и фильтрацию торговых сигналов на основе волатильности. Система динамически регулирует размеры позиций с использованием метода Мартингейла, сохраняя баланс между риском и вознаграждением через фиксированные уровни получения прибыли и остановки потери.

Принципы стратегии

Стратегия базируется на трех основных модулях:

  1. Модуль предварительной обработки данных - использует SMA для достижения автоматического сглаживания цен и фильтрации рыночного шума.
  2. Модуль генерации сигнала - моделирует извлечение функций CNN путем расчета ценовых различий с долгосрочными скользящими средними, в сочетании с порогами волатильности для отбора высоковероятных торговых возможностей.
  3. Модуль управления позициями - осуществляет корректировку позиций в стиле Мартингейла, пропорционально увеличивая размер позиции после последовательных потерь и возвращаясь к базовому уровню после получения прибыли.

Преимущества стратегии

  1. Надежность генерации сигналов - повышает качество торговых сигналов с помощью множества технических индикаторов и фильтрации волатильности.
  2. Комплексное управление рисками - включает в себя несколько механизмов защиты, включая получение прибыли, стоп-лосс и максимальные лимиты позиций.
  3. Сильная адаптивность - динамически корректирует торговую стратегию на основе рыночных условий.
  4. Ясная операционная логика - четко определенные условия входа и выхода облегчают обратное тестирование и оптимизацию.

Стратегические риски

  1. Риск Мартингеля - Последовательные потери могут привести к быстрому росту позиции, что требует строгого максимального контроля позиции.
  2. Риск переворота тренда - сигналы импульса могут потерпеть неудачу во время крайней волатильности рынка.
  3. Чувствительность параметров - несколько ключевых параметров существенно влияют на эффективность стратегии.

Направления оптимизации стратегии

  1. Усиление сигнала - включение моделей машинного обучения для улучшения точности сигнала.
  2. Улучшение контроля рисков - Добавление ограничений на снятие и продолжительность позиций.
  3. Адаптивные параметры - Разработка механизмов адаптации параметров для улучшения стабильности стратегии.
  4. Адаптация к нескольким активам - расширение применимости стратегии к торговле несколькими активами.

Резюме

Эта стратегия сочетает в себе современные количественные торговые методы с классическим методом Мартингейла для создания торговой системы с теоретической основой и практичностью.


/*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)



Связанные

Больше