Динамическая трендовая количественная стратегия на основе пересечения полос Боллинджера и RSI

RSI SMA SD
Дата создания: 2024-11-27 14:49:42 Последнее изменение: 2024-11-27 14:49:42
Копировать: 0 Количество просмотров: 419
1
Подписаться
1617
Подписчики

Динамическая трендовая количественная стратегия на основе пересечения полос Боллинджера и RSI

Обзор

Эта стратегия является количественной торговой стратегией, которая сочетает в себе буринскую полосу и относительно сильный индикатор (RSI). Стратегия использует 20-циклический буринский пояс и 14-циклический RSI, чтобы захватить рыночные переломные моменты, чтобы удерживать тренд. Стратегия использует буринскую полосу 20 циклов и индикатор RSI, чтобы выйти на рынок, когда цена пробивает буринскую полосу, а RSI находится в зоне перепродажи, и чтобы выйти на рынок, когда цена пробивает буринскую полосу, а RSI находится в зоне перекупа.

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

Основная логика стратегии основана на взаимодействии двух технических показателей: бьюринская полоса, состоящая из средней колебательности (20-циклической простой движущейся средней) и верхней и нижней колебательности (средней колебательности ± 2 стандартных разрыва), способна отражать диапазон колебаний и тенденции цены. RSI-индикатор определяет состояние перепродажи на рынке, рассчитывая относительную интенсивность изменения цен.

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

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

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

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

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

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

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

Это количественная стратегия, в которой классические технические показатели Brin Belt и RSI входят в инновационное портфолио. Благодаря взаимодополняемому действию двух показателей, гарантируется надежность сигнала, а также эффективное овладение рыночными поворотными точками. Логика стратегии ясна, простые вычисления, имеет сильную практичность.

Исходный код стратегии
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Bands + RSI Strategy", overlay=true)

// Bollinger Bands
length = 20
src = close
mult = 2.0
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev

// RSI
rsiLength = 14
rsiOverbought = 70
rsiOversold = 30
rsiValue = ta.rsi(src, rsiLength)

// Plot Bollinger Bands
plot(basis, color=color.blue, linewidth=1)
plot(upper, color=color.red, linewidth=1)
plot(lower, color=color.green, linewidth=1)

// Plot Buy/Sell signals
buySignal = ta.crossover(close, lower) and rsiValue < rsiOversold
sellSignal = ta.crossunder(close, upper) and rsiValue > rsiOverbought

plotshape(series=buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Strategy Entry/Exit
if (buySignal)
    strategy.entry("Buy", strategy.long)
if (sellSignal)
    strategy.close("Buy")

// RSI Plot (not on overlay, for reference)
rsiPlot = plot(rsiValue, title="RSI", color=color.purple, linewidth=1, offset=-1)
hline(rsiOverbought, "Overbought", color=color.red)
hline(rsiOversold, "Oversold", color=color.green)