Торговая система Double Momentum Squeeze (стратегия комбинации индикаторов SMI+UBS)

SMI UBS SMA SL
Дата создания: 2024-11-28 15:52:02 Последнее изменение: 2024-11-28 15:52:02
Копировать: 0 Количество просмотров: 457
1
Подписаться
1617
Подписчики

Торговая система Double Momentum Squeeze (стратегия комбинации индикаторов SMI+UBS)

Обзор

Эта стратегия представляет собой коротколинейную торговую систему, которая сочетает в себе индикатор динамического сжимания (Squeeze Momentum Indicator, SMI) и индикатор окончательной покупки и продажи (Ultimate Buy/Sell, UBS). Эта стратегия используется для захвата рыночных возможностей диверсификации, в основном, путем мониторинга тенденций изменения ценовой динамики и перекрестных сигналов движущихся средних. Система разработана на основе процентного контроля за убытками, стремясь к стабильной прибыли при сохранении безопасности капитала.

Стратегический принцип

Основная логика стратегии основана на сочетании двух основных показателей:

  1. Показатель сжатия динамики ((SMI): генерирует сигнал динамики путем расчета отношения между ценой закрытия и наивысшей и самой низкой ценой в сочетании с плавным обработкой скользящих средних. Когда SMI переходит от повышения к снижению, это указывает на ослабление движения вверх, возможно, появится возможность дефолта.
  2. Окончательный индикатор покупки и продажи ((UBS): время входа определяется на основе перекрестного отношения цены к ее движущемуся среднему значению. Подтверждается сигнал об убывании, когда цена пересекает движущуюся среднюю.
  3. Система автоматически вступает в игру после подтверждения сигнала о дефолте, одновременно устанавливая целевой уровень прибыли в 0,4% и позицию стоп-лоста в 2,5%, эффективно контролируя риск.

Стратегические преимущества

  1. Подтверждение двойного сигнала: подтверждение торгового сигнала посредством резонанса двух независимых индикаторов повышает надежность сигнала.
  2. Управление рисками: установлены четкие условия стоп-стоп, которые позволяют эффективно контролировать риск каждой сделки.
  3. Параметры могут быть изменены: ключевые параметры, такие как длина SMI, цикл сглаживания, цикл UBS, могут быть оптимизированы в зависимости от различных рыночных условий.
  4. Высокий уровень автоматизации: четкая логика стратегии, способствующая автоматизации торгов.

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

  1. Риск ложного прорыва: ложные сигналы могут часто появляться на рынках, находящихся в колебании.
  2. Трендозависимость: стратегия лучше работает на рынке с явным трендом, но может часто терпеть убытки на рынке с поперечным движением.
  3. Чувствительность параметров: различные параметры могут привести к значительным различиям в эффективности стратегии.
  4. Влияние скольжения: при значительной волатильности рынка, реальная цена сделки может быть значительно отклонена от цены сигнала.

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

  1. Добавьте фильтрацию рыночной среды: вы можете добавить индикаторы волатильности или индикаторы силы тренда, чтобы скорректировать параметры стратегии в различных рыночных средах.
  2. Оптимизация механизмов остановки: можно рассмотреть возможность использования динамических остановок, таких как отслеживаемые остановки или остановки на основе ATR.
  3. Добавление фильтров на время торговли: избегайте периодов высокой волатильности и важных пресс-релизов.
  4. Представляем управление позициями: динамически корректируйте размер позиции в зависимости от силы сигнала и волатильности рынка.

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2024-10-28 00:00:00
end: 2024-11-27 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © algostudio
// Code Generated using PineGPT - www.marketcalls.in

//@version=5
strategy("Squeeze Momentum and Ultimate Buy/Sell with Stop Loss", overlay=true, process_orders_on_close = false)

// Input settings
smiLength = input.int(20, title="SMI Length")
smiSmoothing = input.int(5, title="SMI Smoothing")
ultBuyLength = input.int(14, title="Ultimate Buy/Sell Length")
stopLossPerc = input.float(2.5, title="Stop Loss Percentage", step=0.1) / 100

// Define Squeeze Momentum logic
smi = ta.sma(close - ta.lowest(low, smiLength), smiSmoothing) - ta.sma(ta.highest(high, smiLength) - close, smiSmoothing)
squeezeMomentum = ta.sma(smi, smiSmoothing)
smiUp = squeezeMomentum > squeezeMomentum[1]
smiDown = squeezeMomentum < squeezeMomentum[1]

// Define Ultimate Buy/Sell Indicator logic (you can customize the conditions)
ultimateBuy = ta.crossover(close, ta.sma(close, ultBuyLength))
ultimateSell = ta.crossunder(close, ta.sma(close, ultBuyLength))


// Trading logic: Short entry (Squeeze Momentum from green to red and Ultimate Sell signal)
shortCondition = smiDown and ultimateSell
if (shortCondition)
    strategy.entry("Short", strategy.short)

//Set short target (exit when price decreases by 0.2%)
shortTarget = strategy.position_avg_price * 0.996

// Set stop loss for short (5% above the entry price)
shortStop = strategy.position_avg_price * (1 + stopLossPerc)

// Exit logic for short
if (strategy.position_size < 0)
    strategy.exit("Exit Short", "Short", limit=shortTarget, stop=shortStop)

// Plot the Squeeze Momentum for reference
plot(squeezeMomentum, color=color.blue, linewidth=2, title="Squeeze Momentum")

// Optional: Plot signals on the chart
plotshape(series=ultimateBuy, location=location.belowbar, color=color.green, style=shape.labelup, title="Ultimate Buy Signal")
plotshape(series=ultimateSell, location=location.abovebar, color=color.red, style=shape.labeldown, title="Ultimate Sell Signal")

// For more tutorials on Tradingview Pinescript visit https://www.marketcalls.in/category/tradingview