Болинджерские полосы и стратегия короткой продажи RSI

Автор:Чао Чжан, Дата: 2023-12-15 15:54:05
Тэги:

img

Обзор

Стратегия Bollinger Bands and RSI short selling - это краткосрочная торговая стратегия, основанная на Bollinger Bands и Relative Strength Index (RSI). Она сочетает в себе Bollinger Bands для измерения перегрева рынка и RSI для определения импульса рынка, для выявления возможностей короткой продажи. Она становится короткой, когда цена превышает верхнюю полосу Bollinger, а RSI больше 70, что указывает на перегрев рынка. Она закрывает позицию, когда нижняя полоса Bollinger превышает цену, сигнализируя об обратном движении рынка.

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

Стратегия основана на двух основных показателях:

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

  2. RSI. RSI сравнивает средние прибыли и убытки за период, чтобы определить силу восходящих и нисходящих тенденций. Когда RSI выше 70, это сигнализирует о перегреве цены. Когда RSI ниже 30, это сигнализирует о перепродаже цены.

Конкретная логика торговли:

  1. Когда цена превышает верхнюю полосу Боллинджера и RSI превышает 70, это запускает сигнал перегрева Боллинджера и сигнал перекупления RSI, таким образом, выходит короткий.

  2. Когда цена опускается ниже нижней полосы Боллинджера, рынок становится холоднее, и позиция закрывается.

Стратегия также устанавливает стоп-лосс и прибыль:

  1. Стоп-лосс устанавливается по входной цене * (1+1%), т.е. при устойчивости к 1%-ному убытку.

  2. Приобретение прибыли устанавливается по цене входа * (1-7%), т.е. приобретение прибыли в размере 7% после закрытия позиции.

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

Стратегия имеет следующие преимущества:

  1. Комбинирует полосы Боллинджера и RSI, избегает вероятности ошибочного суждения из одного индикатора.

  2. Использует диапазоны полос Боллинджера и РСИ для определения точного времени входа и выхода для краткосрочных сделок.

  3. Установки стоп-лосса и прибыли до входа для контроля рисков.

  4. Простая и понятная логика, легко понятная и реализуемая.

  5. Гибкие диапазоны Боллинджера и параметры RSI, поддающиеся регулированию в зависимости от периода и рыночной среды.

Риски

Несмотря на преимущества, стратегия имеет некоторые риски для смягчения:

  1. Как полосы Боллинджера, так и RSI являются индикаторами, следующими за трендом, не подходящими для рыночных диапазонов или безнаправленных рынков.

  2. Не могу гарантировать, что стоп-лосс и прибыль всегда будут идеально активированы.

  3. Экстремальные рыночные движения могут проникнуть через стоп-лосс и вызвать более высокие потери, чем ожидалось.

  4. Требует постоянной настройки параметров для адаптации к изменяющимся рынкам.

Соответствующие методы управления рисками

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

  2. Снизить размер позиций, диверсифицировать по стратегиям, чтобы распределить риски.

  3. Расширить процент стоп-лосса или установить супер-стопы, чтобы выдержать экстремальные рыночные движения.

  4. Постоянно корректируйте параметры на основе результатов испытаний.

Возможности оптимизации

Для дальнейшей оптимизации стратегии можно рассмотреть несколько аспектов:

  1. Включить другие индикаторы, чтобы избежать ненужных сбоев, например, EMA, MACD.

  2. Тест на оптимальные параметры для различных продуктов и временных рамок, например, 15 м, 30 м, 1 ч на ведущих криптовалютах и акциях.

  3. Внедрять динамические остановки, корректируя уровень остановки на основе волатильности рынка в режиме реального времени, чтобы смягчить риск остановки.

  4. Подумайте об оптимизации с помощью алгоритмов машинного обучения для автоматического обнаружения оптимальных параметров или более сложных моделей.

Заключение

Краткосрочная стратегия сначала определяет оптимальное время короткой продажи путем измерения температуры рынка и импульса с помощью полос Боллинджера и RSI. Затем она контролирует риск с остановкой потери и получением прибыли. Ее преимущество заключается в простоте и простоте реализации.


/*backtest
start: 2023-12-07 00:00:00
end: 2023-12-14 00:00:00
period: 1m
basePeriod: 1m
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/
// © Coinrule
// Works best on 30m, 45m timeframe

//@version=5
strategy("Bollinger Bands and RSI Short Selling",
         overlay=true,
         initial_capital = 1000,
         default_qty_value = 30,
         default_qty_type = strategy.percent_of_equity,
         commission_type=strategy.commission.percent,
         commission_value=0.1)

//Backtest period
timePeriod = time >= timestamp(syminfo.timezone, 2021, 12, 1, 0, 0)
notInTrade = strategy.position_size <= 0

//Bollinger Bands Indicator
length = input.int(20, minval=1)
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
offset = input.int(0, "Offset", minval = -500, maxval = 500)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=#2962FF, offset = offset)
p2 = plot(lower, "Lower", color=#2962FF, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))


// RSI inputs and calculations
lengthRSI = 14
RSI = ta.rsi(close, lengthRSI)
oversold= input(30)


//Stop Loss and Take Profit for Shorting
Stop_loss= ((input (1))/100)
Take_profit= ((input (7)/100))

shortStopPrice  = strategy.position_avg_price * (1 + Stop_loss)
shortTakeProfit = strategy.position_avg_price * (1 - Take_profit)

//Entry and Exit
strategy.entry(id="short", direction=strategy.short, when=ta.crossover(close, upper) and RSI < 70 and timePeriod and notInTrade)

if (ta.crossover(upper, close) and RSI > 70 and timePeriod)
    strategy.exit(id='close', stop = shortTakeProfit, limit = shortStopPrice)

    


Больше