
Ini adalah strategi pengesanan trend berdasarkan tiga Bollinger Bands. Strategi ini menggunakan Bollinger yang digabungkan dengan tempoh yang berbeza (seperti 20, 120 dan 240) untuk mengenal pasti keadaan pasaran yang terlalu terhad, dan menghasilkan isyarat perdagangan apabila harga menembusi tiga Bollinger Bands. Kombinasi Bollinger Bands pelbagai tempoh ini dapat menyaring isyarat palsu dengan berkesan dan meningkatkan ketepatan perdagangan.
Strategi ini menggunakan tiga kitaran yang berbeza Bolling bands ((20, 120 dan 240 kitaran), masing-masing Bolling bands terdiri daripada medium ((SMA) dan upstream ((dua kali standard perbezaan). Apabila harga serentak menembusi tiga Bolling bands di bawah, menunjukkan pasaran mungkin berlaku oversold, sistem mengeluarkan beberapa isyarat; apabila harga serentak menembusi tiga Bolling bands di atas, menunjukkan pasaran mungkin berlaku overbought, sistem mengeluarkan isyarat kedudukan rata. Dengan melihat Bolling bands untuk beberapa kitaran masa, kekuatan dan kesinambungan trend pasaran dapat lebih baik dipastikan.
Ini adalah strategi pengesanan trend yang berasaskan pelbagai kitaran Brinband, dengan pengesahan isyarat perdagangan melalui persilangan tiga Brinband, dengan kebolehpercayaan yang lebih kuat dan adaptasi. Kelebihan utama strategi adalah mekanisme pengesahan berganda dan sistem kawalan risiko yang jelas, tetapi juga perlu memperhatikan prestasi dan pengoptimuman parameter dalam pasaran yang bergolak. Dengan menambahkan analisis hubungan harga kuantitatif, memperbaiki mekanisme penghalang kerugian dan penyesuaian parameter dinamik, anda dapat meningkatkan lagi kestabilan dan keuntungan strategi.
/*backtest
start: 2024-02-22 00:00:00
end: 2025-02-19 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BNB_USDT"}]
*/
//@version=5
strategy(title="Bollinger Bands Strategy (Buy Below, Sell Above)", shorttitle="BB Strategy", overlay=true)
// Bollinger Bands parameters
length1 = input(20, title="BB Length 20")
mult1 = input(2.0, title="BB Multiplier 20")
length2 = input(120, title="BB Length 120")
mult2 = input(2.0, title="BB Multiplier 120")
length3 = input(240, title="BB Length 240")
mult3 = input(2.0, title="BB Multiplier 240")
// Calculate the basis (simple moving average) and deviation for each Bollinger Band
basis1 = ta.sma(close, length1)
dev1 = mult1 * ta.stdev(close, length1)
upper1 = basis1 + dev1
lower1 = basis1 - dev1
basis2 = ta.sma(close, length2)
dev2 = mult2 * ta.stdev(close, length2)
upper2 = basis2 + dev2
lower2 = basis2 - dev2
basis3 = ta.sma(close, length3)
dev3 = mult3 * ta.stdev(close, length3)
upper3 = basis3 + dev3
lower3 = basis3 - dev3
// Buy Condition: Price is below all three lower bands
buyCondition = close < lower1 and close < lower2 and close < lower3
// Sell Condition: Price is above all three upper bands
sellCondition = close > upper1 and close > upper2 and close > upper3
// Plot Buy and Sell signals with arrows
plotshape(buyCondition, style=shape.labelup, location=location.belowbar, color=color.green, text="BUY", size=size.small)
plotshape(sellCondition, style=shape.labeldown, location=location.abovebar, color=color.red, text="SELL", size=size.small)
// Strategy orders for buy and sell
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.close("Buy") // Close the long position for a sell signal
// Plotting the Bollinger Bands without filling the area
plot(basis1, color=color.blue, title="Basis 20", linewidth=2)
plot(upper1, color=color.green, title="Upper Band 20", linewidth=2)
plot(lower1, color=color.red, title="Lower Band 20", linewidth=2)
plot(basis2, color=color.orange, title="Basis 120", linewidth=2)
plot(upper2, color=color.purple, title="Upper Band 120", linewidth=2)
plot(lower2, color=color.yellow, title="Lower Band 120", linewidth=2)
plot(basis3, color=color.teal, title="Basis 240", linewidth=2)
plot(upper3, color=color.fuchsia, title="Upper Band 240", linewidth=2)
plot(lower3, color=color.olive, title="Lower Band 240", linewidth=2)