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

Супертенд с несколькими скользящими средними с помощью стратегии Bollinger Breakout Trading

Автор:Чао Чжан, Дата: 2025-01-06 13:48:19
Тэги:РСИЕМАББADXСТ

img

Обзор

Эта стратегия представляет собой комплексную торговую систему, которая сочетает в себе несколько индикаторов, в основном на основе экспоненциальных скользящих средних (EMA), индикатора супертенденции, полос Боллинджера (BB) и индекса относительной силы (RSI).

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

Стратегия использует комбинацию многоуровневых технических индикаторов для определения рыночных тенденций и возможностей волатильности:

  1. Использует тройную EMA (13,34,100) для установления системы, следующей за трендом, определяющей направление тренда с помощью перекресток и относительных позиций.
  2. Интегрирует индикатор Supertrend для подтверждения тренда и ссылки на стоп-лосс
  3. Использует индикатор ADX для фильтрации сильных тенденций, устанавливая 25 в качестве порога силы тренда
  4. Использует полосы Боллинджера (20,2) для мониторинга диапазона волатильности цен
  5. Внедряет трехкратный временной индекс RSI (14) для анализа условий перекупления/перепродажи на рынке

Триггеры торговых сигналов:

  • Длинный вход: Супертенд становится бычьим + EMA13 пересекает EMA34 + цена выше EMA100 + ADX>25
  • Краткий вход: Супертенд становится бычьим + EMA13 пересекается ниже EMA34 + цена ниже EMA100 + ADX>25
  • Сигналы выхода: цена пересекает Supertrend для соответствующих выходов позиций

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

  1. Интеграция нескольких технических индикаторов обеспечивает более надежные торговые сигналы, эффективно уменьшая ложные сигналы
  2. Система тройной EMA фиксирует тенденционные характеристики в разные временные рамки
  3. Включение ADX обеспечивает торговлю только на сильно развитых рынках
  4. Анализ РСИ с несколькими временными рамками дает всеобъемлющую оценку рыночной динамики
  5. Индикатор Supertrend предоставляет объективные эталонные точки стоп-лосса
  6. Интеграция полос Боллинджера помогает определить состояние волатильности рынка и потенциальные возможности выхода

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

  1. Система с несколькими индикаторами может приводить к отставанию сигналов, что влияет на время входа
  2. Может генерировать частые ложные сигналы прорыва на различных рынках
  3. Фиксированный порог ADX может быть несовместим в различных рыночных условиях
  4. Быстрая волатильность рынка может привести к не оптимальному размещению стоп-лосса Предложения по контролю риска:
  • Динамическая корректировка порога ADX на основе рыночных характеристик
  • Внедрение механизма стоп-лосса, адаптируемого к волатильности
  • Добавить анализ объема для подтверждения сигнала

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

  1. Оптимизация параметров показателей
  • Рассмотреть возможность введения адаптивных периодов EMA
  • Динамическое регулирование множителя Supertrend на основе волатильности
  • Оптимизировать параметры полос Боллинджера для различных фаз рынка
  1. Улучшение системы сигнализации
  • Интегрировать факторы объема для проверки торговых сигналов
  • Добавить анализ структуры рынка
  • Внедрить фильтры волатильности
  1. Улучшение управления рисками
  • Дизайн динамического механизма стоп-лосса
  • Создать систему размещения позиций
  • Добавить фильтры времени торговли

Резюме

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


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

//made by Chinmay 

//@version=6
strategy("CJ - Multi1", overlay=true)

// Input for RSI length
rsi_length = input.int(14, title="RSI Length")

// Calculate Daily RSI
daily_rsi = ta.rsi(close, rsi_length)

// Calculate Weekly RSI (using security function to get weekly data)
weekly_rsi = request.security(syminfo.tickerid, "W", ta.rsi(close, rsi_length))

// Calculate Monthly RSI (using security function to get weekly data)
monthly_rsi = request.security(syminfo.tickerid, "M", ta.rsi(close, rsi_length))

// Plot the RSIs
plot(daily_rsi, color=color.blue, title="Daily RSI", linewidth=2)
plot(weekly_rsi, color=color.red, title="Weekly RSI", linewidth=2)
plot(monthly_rsi, color=color.black, title="Monthly RSI", linewidth=2)

// Create horizontal lines at 30, 50, and 70 for RSI reference
hline(30, "Oversold", color=color.green)
hline(70, "Overbought", color=color.red)
hline(50, "Neutral", color=color.gray)

// Bollinger Bands Calculation
bb_length = 20
bb_mult = 2
bb_stddev = ta.stdev(close, bb_length)
bb_average = ta.sma(close, bb_length)
bb_upper = bb_average + bb_mult * bb_stddev
bb_lower = bb_average - bb_mult * bb_stddev

plot(bb_upper, color=color.new(#ffb13b, 0), linewidth=2)
plot(bb_average, color=color.new(#b43bff, 0), linewidth=2)
plot(bb_lower, color=color.new(#ffb13b, 0), linewidth=2)

// Inputs for EMA
ema_L1 = input.int(defval=13, title="EMA Length 1")
ema_L2 = input.int(defval=34, title="EMA Length 2")
ema_L3 = input.int(defval=100, title="EMA Length 3")
adx_level = input.int(defval=25, title="ADX Level")

// Inputs for Supertrend
atr_l = input.int(defval=10, title="ATR Length")
factor = input.float(defval=3.0, title="Supertrend Multiplier")

// Calculate EMA
ema1 = ta.ema(close, ema_L1)
ema2 = ta.ema(close, ema_L2)
ema3 = ta.ema(close, ema_L3)

// Calculate Supertrend
[supertrend, direction] = ta.supertrend(factor, atr_l)

// Calculate ADX and DI
[diplus, diminus, adx] = ta.dmi(14,14)

// Buy and Sell Conditions
buy = direction == -1 and ema1 > ema2 and close > ta.ema(close, 100) and adx > adx_level
short = direction == -1 and ema1 < ema2 and close < ta.ema(close, 100) and adx > adx_level

sell = ta.crossunder(close, supertrend)
cover = ta.crossover(close, supertrend)

// Strategy Logic
if buy
    strategy.entry("Buy", strategy.long, comment="Long Entry")

if sell
    strategy.close("Buy", comment="Sell Exit")

// Uncomment for Short Strategy
if short
    strategy.entry("Short", strategy.short, comment="Short Entry")

if cover
    strategy.close("Short", comment="Cover Exit")


Связанные

Больше