Эта стратегия использует диапазоны Боллинджера и стохастические индикаторы RSI для генерирования сигналов, которые могут указывать на перелом цен. По умолчанию понижающие сигналы отображаются как красные стрелки, а бычьи сигналы - как зеленые стрелки. Перед отправкой сигнала стратегия ищет следующие условия: (бычьи) свеча закрывается выше верхней диапазоны Боллинджера, последующая свеча закрывается внутри верхней диапазоны, и стохастический RSI находится ниже заданного порога (по умолчанию 10); (медведи) свеча закрывается ниже нижней диапазоны Боллинджера, последующая свеча закрывается внутри нижней диапазоны, и стохастический RSI находится выше заданного порога (по умолчанию 90).
Основной принцип этой стратегии заключается в использовании полос Боллинджера и стохастического RSI, двух технических индикаторов, для улавливания потенциальных сигналов переворота цен. Полосы Боллинджера состоят из средней полосы (обычно скользящей средней) и двух верхних и нижних полос (средняя полоса плюс / минус стандартные отклонения), которые могут отражать волатильность цен. Когда цена проходит через верхнюю или нижнюю полосу, это обычно указывает на то, что настроение рынка чрезмерно оптимистично или пессимистично, и цена может перевернуться.
Стратегия экстремальных сигналов Bollinger Bands Stochastic RSI сочетает в себе два технических индикатора, Bollinger Bands и Stochastic RSI, используя ценовые прорывы верхних и нижних полос Bollinger Bands и Stochastic RSI, достигающие чрезвычайных зон перекупа/перепродажи, в качестве потенциальных сигналов обратного движения, формируя простую и простую в использовании торговую стратегию. Стратегия имеет такие преимущества, как надежные сигналы и широкое применение, но она плохо работает на рынках диапазона, может отставать на рынках тренда и чувствительна к параметрам. Поэтому в практических приложениях мы можем рассмотреть возможность оптимизации и улучшения стратегии с таких аспектов, как подтверждение тренда, динамические параметры, сочетание стоп-лосса и взятки прибыли, и сочетания с другими индикаторами, чтобы улучшить ее пригодную прибыльность и лучше служить количественной практике.
/*backtest start: 2023-04-06 00:00:00 end: 2024-04-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(shorttitle='BBSR Extreme', title='Bollinger Bands Stochastic RSI Extreme Signal', overlay=true) //General Inputs src = input(close, title='Source') offset = input.int(0, 'Offset', minval=-500, maxval=500) //Bollinger Inputs length = input.int(20, title='Bollinger Band Length', minval=1) mult = input.float(2.0, minval=0.001, maxval=50, title='StdDev') //Bollinger Code basis = ta.sma(src, length) dev = mult * ta.stdev(src, length) upper = basis + dev lower = basis - dev plot(basis, 'BB Basis', color=color.new(#872323, 0), offset=offset) p1 = plot(upper, 'BB Upper', color=color.new(color.teal, 0), offset=offset) p2 = plot(lower, 'BB Lower', color=color.new(color.teal, 0), offset=offset) fill(p1, p2, title='BB Background', color=color.new(#198787, 95)) //Stoch Inputs smoothK = input.int(3, 'K', minval=1) smoothD = input.int(3, 'D', minval=1) lengthRSI = input.int(14, 'RSI Length', minval=1) lengthStoch = input.int(14, 'Stochastic Length', minval=1) upperlimit = input.float(90, 'Upper Limit', minval=0.01) lowerlimit = input.float(10, 'Upper Limit', minval=0.01) //Stochastic Code rsi1 = ta.rsi(src, lengthRSI) k = ta.sma(ta.stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK) d = ta.sma(k, smoothD) //Evaluation Bear = close[1] > upper[1] and close < upper and k[1] > upperlimit and d[1] > upperlimit Bull = close[1] < lower[1] and close > lower and k[1] < lowerlimit and d[1] < lowerlimit //Plots plotshape(Bear, style=shape.triangledown, location=location.abovebar, color=color.new(color.red, 0), size=size.tiny) plotshape(Bull, style=shape.triangleup, location=location.belowbar, color=color.new(color.green, 0), size=size.tiny) // Alert Functionality alertcondition(Bear or Bull, title='Any Signal', message='{{exchange}}:{{ticker}}' + ' {{interval}}' + ' BB Stochastic Extreme!') alertcondition(Bear, title='Bearish Signal', message='{{exchange}}:{{ticker}}' + ' {{interval}}' + ' Bearish BB Stochastic Extreme!') alertcondition(Bull, title='Bullish Signal', message='{{exchange}}:{{ticker}}' + ' {{interval}}' + ' Bullish BB Stochastic Extreme!') if Bear strategy.entry('Enter Long', strategy.long) else if Bull strategy.entry('Enter Short', strategy.short)