
Chiến lược này là một hệ thống giao dịch đột phá kết hợp các dải Bollinger, các chỉ số tương đối mạnh (RSI) và các đường K mịn (Heikin Ashi). Sử dụng sự kết hợp của nhiều chỉ số kỹ thuật, hiệu quả lọc tiếng ồn thị trường, nắm bắt các cơ hội giao dịch đột phá có xác suất cao. Chiến lược này sử dụng triết lý theo dõi xu hướng và giao dịch động lực, vào thị trường sau khi xác nhận đột phá, bằng cách đảo ngược và RSI mua quá mức bằng đường K mịn như một tín hiệu thoát.
Lập luận cốt lõi của chiến lược này dựa trên sự kết hợp của ba chỉ số kỹ thuật sau:
Các điều kiện tham gia phải được đáp ứng cùng lúc:
Điều kiện rút ra là một trong những điều sau:
Đề xuất kiểm soát rủi ro:
Chiến lược này được xây dựng một hệ thống giao dịch theo dõi xu hướng tương đối hoàn chỉnh thông qua việc sử dụng kết hợp của các dây Brin, RSI và đường K trơn. Lập luận của chiến lược rõ ràng, tiêu chuẩn thực hiện rõ ràng, có tính thực tế tốt.
/*backtest
start: 2024-02-19 00:00:00
end: 2025-02-16 08:00:00
period: 6h
basePeriod: 6h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("Bollinger Bands + RSI + Heikin Ashi Breakout", overlay=true)
// Input Settings
bbLength = input.int(20, title="Bollinger Bands Length")
bbMultiplier = input.float(2, title="Bollinger Bands Multiplier")
rsiLength = input.int(14, title="RSI Length")
rsiOverbought = input.float(70, title="RSI Overbought Level")
// Bollinger Bands
basis = ta.sma(close, bbLength)
dev = bbMultiplier * ta.stdev(close, bbLength)
upperBB = basis + dev
lowerBB = basis - dev
// Heikin Ashi Candle Calculations
var float heikinOpen = na // Declare `heikinOpen` with an undefined initial value
var float heikinClose = na // Declare `heikinClose` with an undefined initial value
// Update Heikin Ashi values
heikinClose := (open + high + low + close) / 4
heikinOpen := na(heikinOpen[1]) ? (open + close) / 2 : (heikinOpen[1] + heikinClose[1]) / 2
heikinHigh = math.max(high, math.max(heikinOpen, heikinClose))
heikinLow = math.min(low, math.min(heikinOpen, heikinClose))
// RSI
rsi = ta.rsi(close, rsiLength)
// Entry Conditions
heikinGreen = heikinClose > heikinOpen
longCondition = heikinGreen and close > upperBB and rsi > 50
// Exit Conditions
heikinRed = heikinClose < heikinOpen
longExitCondition = heikinRed or rsi >= rsiOverbought
// Strategy Execution
if (longCondition)
strategy.entry("Long", strategy.long)
if (longExitCondition)
strategy.close("Long", comment="Exit Long")
// Plotting Bollinger Bands
plot(upperBB, color=color.blue, title="Upper Bollinger Band")
plot(lowerBB, color=color.blue, title="Lower Bollinger Band")
plot(basis, color=color.orange, title="Middle Bollinger Band")
// Heikin Ashi Visualization
plotcandle(heikinOpen, heikinHigh, heikinLow, heikinClose, color=(heikinGreen ? color.green : color.red), title="Heikin Ashi Candles")
// Debugging Signals
plotshape(longCondition, style=shape.labelup, location=location.belowbar, color=color.green, title="Long Entry Signal")
plotshape(longExitCondition, style=shape.labeldown, location=location.abovebar, color=color.red, title="Long Exit Signal")