Стратегия торговли с использованием полос Боллинджера и RSI


Дата создания: 2024-03-28 18:11:08 Последнее изменение: 2024-03-28 18:11:08
Копировать: 0 Количество просмотров: 665
1
Подписаться
1617
Подписчики

Стратегия торговли с использованием полос Боллинджера и RSI

Обзор

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

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

  1. Расчет RSI, используемый для измерения перекупа и перепродажи цен.
  2. Для определения прорыва в цене используется расчет порыва в порыве вниз и вверх по буринской полосе.
  3. В сочетании с RSI и Бринской полосой устанавливаются сигналы покупки и продажи:
    • Сигнал “купить” появляется, когда цена закрытия находится ниже пониженной линии Бринга и RSI ниже установленного нижнего уровня.
    • Сигнал продажи возникает, когда цена закрытия выше, чем на трассе по Бринской полосе, и RSI выше установленного верхнего уровня.
  4. Введение параметров интервала покупок и покупок, ограничивающих частоту последовательных покупок, облегчает реализацию пирамидального управления позициями.

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

  1. Двойное подтверждение: стратегия использует одновременно два индикатора: ленту Бурин и RSI, чтобы более надежно улавливать трендовые повороты и снижать риск ложных сигналов.
  2. Пирамидальное построение позиции: путем установки параметров интервала покупки, стратегия может постепенно наращивать позиции после установления тренда, что способствует контролю риска и оптимизации прибыли.
  3. Гибкость параметров: пользователь может гибко устанавливать параметры RSI, такие как верхний и нижний рубежи и интервал покупок, в зависимости от рыночных особенностей и личных предпочтений.

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

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

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

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

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

Стратегия хитро сочетает в себе два классических технических показателя, Brin Belt и RSI, чтобы захватить трендовые возможности с помощью механизма двойного подтверждения. В то же время, стратегия вводит пирамидальный метод построения позиций, стремясь оптимизировать прибыль, контролируя риски. Но в стратегии также присутствуют риски продолжения тенденции, риск оптимизации параметров и риск черного слона, которые в будущем могут быть дополнительно оптимизированы путем введения стоп-стопов, оптимизации динамических параметров и в сочетании с другими показателями.

Исходный код стратегии
/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/

//@version=4
strategy(overlay=true, shorttitle="cakes'Strategy For RSI", default_qty_type = strategy.percent_of_equity, initial_capital = 100000, default_qty_value = 100, pyramiding = 0, title="cakes'Strategy", currency = 'USD')

////////// ** Inputs ** //////////

// Stoploss and Profits Inputs

v1 = input(true, title="GoTradePlz")

////////// ** Indicators ** //////////

// RSI

len = 14
src = close
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down)



//  Bollinger Bands

length1 = 20
src1 = close
mult1 = 1.0
basis1 = sma(src1, length1)
dev1 = mult1 * stdev(src1, length1)
upper1 = basis1 + dev1
lower1 = basis1 - dev1



////////// ** Triggers and Guards ** //////////


// 输入
RSILowerLevel1 = input(30, title="RSI 下限水平")
RSIUpperLevel1 = input(70, title="RSI 上限水平")

// 购买间隔
buyInterval = input(5, title="购买间隔(K线数量)")

// 跟踪购买间隔
var int lastBuyBar = na
lastBuyBar := na(lastBuyBar[1]) ? bar_index : lastBuyBar

// 策略信号
BBBuyTrigger1 = close < lower1
BBSellTrigger1 = close > upper1
rsiBuyGuard1 = rsi < RSILowerLevel1
rsiSellGuard1 = rsi > RSIUpperLevel1

Buy_1 = BBBuyTrigger1 and rsiBuyGuard1 and (bar_index - lastBuyBar) >= buyInterval
Sell_1 = BBSellTrigger1 and rsiSellGuard1

if (Buy_1)
    lastBuyBar := bar_index

strategy.entry("Long", strategy.long, when = Buy_1, alert_message = "Buy Signal!")
strategy.close("Long", when = Sell_1, alert_message = "Sell Signal!")