Стратегия торговли на длинных колебаниях, основанная на полосах Боллинджера и RSI


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

Стратегия торговли на длинных колебаниях, основанная на полосах Боллинджера и RSI

Обзор

Стратегия основана на двух технических показателях, таких как Bollinger Bands и Relatively Strong Indices (RSI), и используется для торговли с перепадом во время восходящего тренда. Логика стратегии проста, но эффективна: она открывает позиции, когда цена падает вниз по Bollinger Bands и RSI ниже 35, и выровняет позиции, когда RSI превышает 69.

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

  1. Расчет RSI: используйте RMA (Relative Moving Average) для вычисления средней величины роста и падения цен, а затем делите ее на общую величину RSI. RSI отражает силу цен за определенный период времени.

  2. Вычисление брин-полосы: используйте SMA (Simple Moving Average) для вычисления средней линии цены, а затем добавьте и уменьшите стандартную разницу, чтобы получить восходящую и нисходящую полосы.

  3. Открытие сверхпродажи: Открытие сверхпродажи происходит, когда цена опускается ниже отметки Брайна и RSI ниже 35. Эти два условия позволяют уловить момент, когда она может перевернуться вверх.

  4. Когда RSI достигнет отметки 69, это будет расценено как перекуп, и в этот момент будет ликвидировано многоосновное положение, чтобы закрепить прибыль.

  5. Стоп-стоп: после открытия позиции, по процентам, установленным пользователем, рассчитывается стоп-стоп и стоп-стоп. При попадании в стоп-стоп или стоп-стоп, стоп-стоп становится равным. Это позволяет контролировать риск и доход от каждой сделки.

Анализ преимуществ

  1. Брин-пояса могут объективно отражать промежутки ценового движения и синхронизироваться с ценовым движением, не ограничиваясь фиксированной девальвацией.

  2. RSI способна более интуитивно отражать соотношение плюс-минус, а также относительно объективно, и часто используется для определения перекупа и перепродажи.

  3. Используется в восходящем тренде, более подходит для колебательной торговли. С помощью буринской ленты вниз и низкого RSI, чтобы улавливать отскок цены, с помощью высокого RSI, чтобы своевременно погасить позиции, чтобы эффективно уловить ситуацию в волновой полосе.

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

  5. Логика и код стратегии относительно просты, легко понять и реализовать, а результаты отслеживания относительно стабильны.

Анализ рисков

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

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

  3. Выбор параметров Brin Belt и RSI оказывает большое влияние на эффективность стратегии. Разные рынки и разновидности могут требовать разных параметров. Пользователям необходимо соответствующие корректировки в зависимости от конкретных обстоятельств.

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

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

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

  2. Можно оптимизировать верхние и нижние пороги RSI, параметры Брин-пояса и т. д., чтобы найти оптимальное сочетание параметров для различных видов и различных периодов.

  3. Можно проводить пробные тесты на основе обратной связи, а также проводить симуляцию торгов, чтобы полностью подтвердить эффективность и стабильность стратегии перед реальной торговлей.

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

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

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

В данной статье представлена стратегия многостороннего колебания, основанная на двух технических показателях, таких как лента Брин и RSI. Эта стратегия используется для захвата волновой ситуации в восходящем тренде. Логика и реализация относительно просты.

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

//@version=4
strategy(title="Bollinger Band with RSI", shorttitle="BB&RSI")
len = input(14, minval=1, title="Length")
src = input(close, "Source", type = input.source)
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))
plot(rsi, "RSI", color=#8E1599)
band1 = hline(69, "Upper Band", color=#C0C0C0)
band0 = hline(31, "Lower Band", color=#C0C0C0)
fill(band1, band0, color=#9915FF, transp=90, title="Background")

length_bb = input(20,title="BB Length", minval=1)
mult = input(2.0, minval=0.001, maxval=50, title="BB StdDev")
basis = sma(src, length_bb)
dev = mult * stdev(src, length_bb)
upper = basis + dev
lower = basis - dev
offset = input(0, "BB Offset", type = input.integer, minval = -500, maxval = 500)


Plot_PnL = input(title="Plot Cummulative PnL", type=input.bool, defval=false)
Plot_Pos = input(title="Plot Current Position Size", type=input.bool, defval=false)

long_tp_inp = input(10, title='Long Take Profit %', step=0.1)/100
long_sl_inp = input(25, title='Long Stop Loss %', step=0.1)/100
// Take profit/stop loss
long_take_level = strategy.position_avg_price * (1 + long_tp_inp)
long_stop_level = strategy.position_avg_price * (1 - long_sl_inp)

entry_long = rsi < 35.58 and src < lower
exit_long = rsi > 69
 
plotshape(entry_long, style=shape.labelup, color=color.green,  location=location.bottom, text="L", textcolor=color.white, title="LONG_ORDER")
plotshape(exit_long, style=shape.labeldown, color=color.red,  location=location.top, text="S", textcolor=color.white, title="SHORT_ORDER")

strategy.entry("Long",true,when=entry_long)    
strategy.exit("TP/SL","Long", limit=long_take_level, stop=long_stop_level)
strategy.close("Long", when=exit_long, comment="Exit")
plot(Plot_PnL ? strategy.equity-strategy.initial_capital : na, title="PnL", color=color.red)
plot(Plot_Pos ? strategy.position_size : na, title="open_position", color=color.fuchsia)