Двойная стратегия RSI и Bollinger Bands

Автор:Чао Чжан, Дата: 2024-04-03 17:54:52
Тэги:РСИББSMAstdev

img

Обзор

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

Логика стратегии

  1. Вычислить значение RSI на основе установленных параметров RSI.
  2. Используйте формулу полос Боллинджера для расчета средних, верхних и нижних полос Боллинджера.
  3. Определить, проходит ли текущая цена закрытия через верхнюю или нижнюю полосу Боллинджера.
  4. Определить, превышает ли текущее значение RSI порог перекупленности или превышает порог перепроданности.
  5. Создание соответствующих сигналов покупки или продажи, когда индикаторы Bollinger Bands и RSI соответствуют соответствующим условиям.

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

  1. Объединяет индикаторы тенденции и импульса для более полной оценки рыночных условий.
  2. Использование двух индикаторов в качестве фильтров эффективно снижает вероятность ложных сигналов.
  3. Ясная логика кода и гибкие параметры, подходящие для различных рыночных условий и стилей торговли.

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

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

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

  1. Оптимизировать параметры RSI и Bollinger Bands на основе рыночных характеристик и личных предпочтений.
  2. Ввести дополнительные технические индикаторы, такие как MACD, скользящие средние и т.д., для повышения надежности сигналов.
  3. Установление разумных уровней стоп-лосса и прибыли для контроля риска одной сделки.
  4. Для нестабильных рынков следует рассмотреть возможность добавления дополнительных условий или уменьшения размера позиции для снижения затрат, связанных с частой торговлей.

Резюме

Двойная стратегия RSI и Bollinger Bands сочетает в себе индикаторы тренда и импульса, чтобы обеспечить относительно всеобъемлющую оценку рыночных условий и генерировать соответствующие торговые сигналы. Тем не менее, стратегия может быть менее эффективной на нестабильных рынках и не имеет мер контроля риска, поэтому при ее применении к живой торговле требуется осторожность. Оптимизируя параметры, внедряя другие индикаторы и устанавливая разумные уровни стоп-лосса и прибыли, можно еще больше улучшить стабильность и прибыльность этой стратегии.


/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Bollinger + RSI, Double Strategy (by ChartArt) v1.1", shorttitle="CA_-_RSI_Bol_Strat_1.1", overlay=true)

// ChartArt's RSI + Bollinger Bands, Double Strategy - Update
//
// Version 1.1
// Idea by ChartArt on January 18, 2015.
//
// This strategy uses the RSI indicator 
// together with the Bollinger Bands 
// to sell when the price is above the
// upper Bollinger Band (and to buy when
// this value is below the lower band).
//
// This simple strategy only triggers when
// both the RSI and the Bollinger Bands
// indicators are at the same time in
// a overbought or oversold condition.
//
// In this version 1.1 the strategy was
// both simplified for the user and
// made more successful in backtesting. 
//
// List of my work: 
// https://www.tradingview.com/u/ChartArt/
// 
//  __             __  ___       __  ___ 
// /  ` |__|  /\  |__)  |   /\  |__)  |  
// \__, |  | /~~\ |  \  |  /~~\ |  \  |  
// 
// 

///////////// RSI
RSIlength = input(14,title="RSI Period Length") 
RSIoverSold = 30
RSIoverBought = 70
price = close
vrsi = rsi(price, RSIlength)


///////////// Bollinger Bands
BBlength = input(20, minval=1,title="Bollinger Period Length")
BBmult = input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation")
BBbasis = sma(price, BBlength)
BBdev = BBmult * stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
source = close
buyEntry = crossover(source, BBlower)
sellEntry = crossunder(source, BBupper)
plot(BBbasis, color=color.blue,title="Bollinger Bands SMA Basis Line")
p1 = plot(BBupper, color=color.red,title="Bollinger Bands Upper Line")
p2 = plot(BBlower, color=color.green,title="Bollinger Bands Lower Line")
fill(p1, p2)

// Entry conditions
crossover_rsi = crossover(vrsi, RSIoverSold) and crossover(source, BBlower)
crossunder_rsi = crossunder(vrsi, RSIoverBought) and crossunder(source, BBupper)

///////////// RSI + Bollinger Bands Strategy
if (not na(vrsi))
    if (crossover_rsi)
        strategy.entry("RSI_BB_L", strategy.long, comment="RSI_BB_L")
    else
        strategy.cancel(id="RSI_BB_L")
        
    if (crossunder_rsi)
        strategy.entry("RSI_BB_S", strategy.short, comment="RSI_BB_S")
    else
        strategy.cancel(id="RSI_BB_S")


Связанные

Больше