
Strategi ini adalah sistem perdagangan terobosan yang menggabungkan Bollinger Bands, indikator yang agak kuat RSI dan garis K yang licin Heikin Ashi. Dengan penggunaan gabungan pelbagai petunjuk teknikal, ia menyaring kebisingan pasaran dengan berkesan dan menangkap peluang perdagangan terobosan yang berkemungkinan tinggi. Strategi ini menggunakan konsep trend-tracking dan perdagangan momentum, memasuki pasaran setelah penembusan disahkan, dengan membalikkan garis K yang licin dan RSI overbought sebagai isyarat keluar.
Logik utama strategi ini adalah berdasarkan kepada kerjasama antara tiga indikator teknikal berikut:
Syarat penyertaan mesti dipenuhi pada masa yang sama:
Syarat untuk keluar adalah salah satu daripada:
Cadangan kawalan risiko:
Strategi ini membina sistem perdagangan trend yang agak lengkap dengan penggunaan gabungan Brinband, RSI, dan K Line. Logik strategi jelas, piawaian pelaksanaan jelas, dan kepraktisan yang baik. Kestabilan dan kebolehpercayaan strategi dijangka ditingkatkan lagi dengan mengoptimumkan parameter dan menambah petunjuk tambahan.
/*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")