Краткосрочная торговая стратегия на основе полос Боллинджера, скользящих средних и RSI

BB MA RSI
Дата создания: 2024-05-14 15:40:44 Последнее изменение: 2024-05-14 15:40:44
Копировать: 2 Количество просмотров: 720
1
Подписаться
1617
Подписчики

Краткосрочная торговая стратегия на основе полос Боллинджера, скользящих средних и RSI

Обзор

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

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

Эта стратегия основана на следующих принципах:

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

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

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

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

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

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

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

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

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

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

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

//@BryanAaron

//@version=5
strategy("Bybit . BB Short-Term Trading Strategy - Long Only", overlay=true)

// Input parameters
bbLength = input(45, title="BB Length")
bbMultiplier = input(1.0, title="BB Multiplier")
maLength = input(90, title="MA Length")
rsiLength = input(5, title="RSI Length")
rsiUpperThreshold = input(85, title="RSI Upper Threshold")
rsiLowerThreshold = input(45, title="RSI Lower Threshold")
slPerc = input(2.0, title="Stop Loss %")
tpPerc = input(4.0, title="Take Profit %")
bybitAccountLevel = input.string("VIP 0", title="Bybit Account Level", options=["VIP 0", "VIP 1", "VIP 2", "VIP 3", "VIP 4"])

// Calculate Bollinger Bands
[bbMiddle, bbUpper, bbLower] = ta.bb(close, bbLength, bbMultiplier)

// Calculate moving average
ma = ta.sma(close, maLength)

// Calculate RSI
rsi = ta.rsi(close, rsiLength)

// Trading conditions
longCondition = close > bbUpper and close > ma and rsi < rsiLowerThreshold
shortCondition = close < bbLower and close < ma and rsi > rsiUpperThreshold

// Entry and exit signals
var bool longEntry = false
var bool shortEntry = false

if (longCondition and not longEntry)
    longEntry := true
    shortEntry := false
else if (shortCondition and not shortEntry)
    shortEntry := true
    longEntry := false
else if (not longCondition and not shortCondition)
    longEntry := false
    shortEntry := false

// Set commission based on Bybit account level
commissionPerc = switch bybitAccountLevel
    "VIP 0" => 0.075
    "VIP 1" => 0.065
    "VIP 2" => 0.055
    "VIP 3" => 0.045
    "VIP 4" => 0.035
    => 0.075

// Adjust entry prices based on commission
longEntryPrice = close * (1 + commissionPerc / 100)
shortEntryPrice = close * (1 - commissionPerc / 100)

// Calculate stop loss and take profit prices
longStopPrice = longEntryPrice * (1 - slPerc / 100)
longProfitPrice = longEntryPrice * (1 + tpPerc / 100)
shortStopPrice = shortEntryPrice * (1 + slPerc / 100)
shortProfitPrice = shortEntryPrice * (1 - tpPerc / 100)

// Plot signals
plotshape(longEntry, title="Long Entry", location=location.belowbar, style=shape.triangleup, size=size.small, color=color.green)
plotshape(shortEntry, title="Short Entry", location=location.abovebar, style=shape.triangledown, size=size.small, color=color.red)

// Entry and exit
if (longEntry)
    strategy.entry("Long", strategy.long, limit=longEntryPrice, stop=longStopPrice, comment="Long Entry")
    strategy.exit("Long TP/SL", from_entry="Long", limit=longProfitPrice, stop=longStopPrice, comment="Long Exit")
else if (shortEntry)
    strategy.entry("Short", strategy.short, limit=shortEntryPrice, stop=shortStopPrice, comment="Short Entry")
    strategy.exit("Short TP/SL", from_entry="Short", limit=shortProfitPrice, stop=shortStopPrice, comment="Short Exit")
else
    strategy.close_all(comment="Close All")

// Plot Bollinger Bands
plot(bbUpper, color=color.blue, title="BB Upper")
plot(bbMiddle, color=color.orange, title="BB Middle")
plot(bbLower, color=color.blue, title="BB Lower")

// Plot moving average
plot(ma, color=color.purple, title="MA")