Двойной RSI в сочетании со стратегией отслеживания тренда на основе полос Боллинджера


Дата создания: 2023-09-19 22:10:02 Последнее изменение: 2023-09-19 22:10:02
Копировать: 0 Количество просмотров: 664
1
Подписаться
1617
Подписчики

Обзор

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

Принципиальный анализ

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

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

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

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

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

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

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

Оптимизация

  1. Дополнительная стратегия “стоп-лосс” (stop loss) - быстрое прекращение убытков при обратном движении цены.

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

  3. Оптимизация параметров, чтобы найти оптимальную комбинацию параметров.

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

  5. Усиление управления капиталом и контроля риска. Оптимизация управления позициями, строгий контроль одиночных потерь.

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

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

Исходный код стратегии
/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-12 04:00:00
period: 2m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2

strategy(title = "Madrugada strat copy", overlay = true, pyramiding = 0, default_qty_type = strategy.percent_of_equity, default_qty_value = 10, currency = currency.USD)
 
// === GENERAL INPUTS ===
// RSI 1
RSIlength = input(10,title="RSI") 
RSIoverSold = input(65,title="OSold")
RSIoverBought = input(35,title="OBought")
price = close
vrsi = rsi(price, RSIlength)
// RSI 2
RSIlength2 = input(6,title="RSI2") 
RSIoverSold2 = input(65,title="OSold2")
RSIoverBought2 = input(35,title="OBought2")
price2 = close
vrsi2 = rsi(price2, RSIlength2)

//Bollinger Bands
source = close
Bollinger = input(20, minval=1), Desv = input(1.7, minval=0.001, maxval=50)
basis = sma(source, Bollinger)
dev = Desv * stdev(source, Bollinger)
upper = basis + dev
lower = basis - dev
plot(basis, color=red, title="BB ma")
p1 = plot(upper, color=blue, title="BBajo")
p2 = plot(lower, color=blue, title="BAlto")
fill(p1, p2)

//Media movil
short = input(3, minval=1, title="Media corta")
long = input(10, minval=1, title="Media larga")
src = close
plot(sma(src, short), color=#00FF00, transp=0, linewidth=1, title="Media rapida")
plot(sma(src, long), color=white, transp=0, linewidth=2, title="Media lenta")


// === STRATEGY - LONG POSITION EXECUTION ===
enterLong() => vrsi < 30 and  vrsi2 < 27 and cross(lower, price)
exitLong() => short < long
strategy.entry(id = "Long", long = true, when = enterLong()) // use function or simple condition to decide when to get in
// === STRATEGY - SHORT POSITION EXECUTION ===
enterShort() => vrsi > 70 and vrsi2 > 70 and cross(upper, price)
strategy.entry(id = "Short", long = false, when = enterShort())


// Definición señales de compra
buy_signals = vrsi < 30 and  vrsi2 < 27 and cross(lower, price)

// Definición señales de venta
sell_signals = vrsi > 70 and vrsi2 > 70 and cross(upper, price)

// Dibuja las señales de compra venta en franjas de color
b_color = (sell_signals) ? color(red,65) : (buy_signals) ? color(green,65) : na
bgcolor(b_color)

// Dibuja las señales de compra venta coloreando las velas
barcolor(buy_signals ? white : sell_signals ? white : na)

plot(vrsi, color=white, linewidth=1)
plot(vrsi, color=white, linewidth=2)

// Crea alarmas usables desde el desplegable para poder enviar mails a haas
alertcondition(buy_signals, title='Buy-Signal', message='compra')
alertcondition(sell_signals, title='Sell-Signal', message='vende')