Chiến lược này sử dụng Bollinger Bands và chỉ số Stochastic RSI để tạo ra các tín hiệu có thể chỉ ra sự đảo ngược giá. Theo mặc định, các tín hiệu giảm được hiển thị dưới dạng mũi tên màu đỏ và các tín hiệu tăng dưới dạng mũi tên màu xanh lá cây. Trước khi gửi tín hiệu, chiến lược tìm kiếm các điều kiện sau: (bullish) nến đóng trên Bollinger Band trên, nến tiếp theo đóng bên trong dải trên, và Stochastic RSI nằm dưới ngưỡng đặt trước ( mặc định 10); (bearish) nến đóng bên dưới Bollinger Band dưới, nến tiếp theo đóng bên trong dải dưới, và Stochastic RSI nằm trên ngưỡng đặt trước ( mặc định 90).
Nguyên tắc cốt lõi của chiến lược này là sử dụng Bollinger Bands và Stochastic RSI, hai chỉ số kỹ thuật, để nắm bắt các tín hiệu đảo ngược giá tiềm năng. Bollinger Bands bao gồm một dải giữa (thường là trung bình động) và hai dải trên và dưới (dải giữa cộng/trừ độ lệch chuẩn), có thể phản ánh sự biến động giá. Khi giá vượt qua dải trên hoặc dưới, nó thường chỉ ra rằng tâm lý thị trường quá lạc quan hoặc bi quan, và giá có thể đảo ngược. Stochastic RSI là một chỉ số chứng khoán được áp dụng trên đầu chỉ số RSI, phản ánh tình trạng mua quá mức và bán quá mức của thị trường một cách nhạy cảm hơn. Khi Stochastic RSI đạt đến các vùng cực đoan (như là 90 hoặc dưới 10), nó cũng chỉ ra một chiến lược đảo ngược tiềm năng.
Chiến lược Bollinger Bands Stochastic RSI Extreme Signal kết hợp hai chỉ số kỹ thuật, Bollinger Bands và Stochastic RSI, sử dụng sự phá vỡ giá của các Bollinger Bands trên và dưới và Stochastic RSI đạt đến các khu vực cực đoan quá mua / quá bán như các tín hiệu đảo ngược tiềm năng, tạo thành một chiến lược giao dịch đơn giản và dễ sử dụng. Chiến lược có những ưu điểm như tín hiệu đáng tin cậy và khả năng áp dụng rộng, nhưng nó hoạt động kém trong các thị trường phạm vi, có thể tụt hậu trong các thị trường xu hướng và khá nhạy cảm với cài đặt tham số. Do đó, trong các ứng dụng thực tế, chúng ta có thể xem xét tối ưu hóa và cải thiện chiến lược từ các khía cạnh như xác nhận xu hướng, các tham số năng động, dừng lỗ và lấy lợi nhuận, và kết hợp với các chỉ số khác, để cải thiện khả năng thích nghi và lợi nhuận và thực hành định lượng tốt hơn.
/*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)