
Strategi ini menggabungkan karakteristik indikator AlphaTrend dan strategi Bollinger Bands. Indikator AlphaTrend digunakan untuk menangkap tren pasar, strategi Bollinger Bands digunakan untuk menangkap karakteristik kemunduran rata-rata pasar. Gagasan utama strategi ini adalah: lakukan lebih banyak ketika harga menerobos Bollinger Bands dan indikator AlphaTrend naik; lakukan lebih banyak ketika harga menerobos Bollinger Bands dan indikator AlphaTrend turun.
Strategi ini menggabungkan fitur pelacakan tren dan kemunduran rata-rata, mengikuti tren ketika tren jelas, dan mengambil keuntungan ekstra di pasar yang bergoyang. Indikator AlphaTrend dapat menyesuaikan diri secara fleksibel dengan pergerakan harga, dan memiliki adaptasi yang baik terhadap tren.
Untuk mengatasi risiko tersebut, langkah-langkah berikut dapat diambil:
Ada banyak ruang untuk strategi untuk dioptimalkan. Optimasi parameter dan penyaringan sinyal dapat secara intuitif meningkatkan kinerja strategi. Pengenalan manajemen posisi dapat meratakan kurva keuntungan.
Strategi ini dengan cerdik menggabungkan dua ide strategi kuantitatif yang umum, yaitu pelacakan tren dan pengembalian nilai rata-rata, dengan menggunakan indikator AlphaTrend dan indikator Brin klasik. Indikator AlphaTrend memanfaatkan informasi harga dan volume transaksi dengan baik, menyesuaikan diri dengan irama pasar sambil menangkap tren.
Strategi keseluruhan logika jelas, parameter pengaturan fleksibel, mudah untuk mengoptimalkan untuk varietas dan siklus yang berbeda. Pada saat yang sama, titik-titik risiko strategi juga relatif jelas, manajemen posisi dan stop loss perlu lebih dioptimalkan. Selain itu, untuk meningkatkan keandalan sinyal, juga dapat mempertimbangkan untuk memperkenalkan indikator jenis tren seperti ADX, indikator momentum seperti RSI, dll.
/*backtest
start: 2023-03-22 00:00:00
end: 2024-03-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © brlu99
//@version=5
strategy(title="AlphaTrend and Bollinger Bands 120324 Strategy", shorttitle="AT_BB120324", overlay=true, format=format.price, precision=2, pyramiding=0)
// AlphaTrend Indicator
coeff = input.float(1, 'Multiplier', step=0.1)
AP = input(14, 'Common Period')
ATR = ta.sma(ta.tr, 20)
src = input(close)
novolumedata = input(title='Change calculation (no volume data)?', defval=false)
upT = low - ATR * coeff
downT = high + ATR * coeff
AlphaTrend = 0.0
AlphaTrend := (novolumedata ? ta.rsi(src, AP) >= 50 : ta.mfi(hlc3, AP) >= 50) ? upT < nz(AlphaTrend[1]) ? nz(AlphaTrend[1]) : upT : downT > nz(AlphaTrend[1]) ? nz(AlphaTrend[1]) : downT
// Bollinger Bands Strategy
BBPeriod = input.int(20, title="BB Period", minval=1)
BBMultiplier = input.float(2.0, title="BB Multiplier", minval=0.1)
basis = ta.sma(close, BBPeriod)
dev = ta.stdev(close, BBPeriod)
upper = basis + BBMultiplier * dev
lower = basis - BBMultiplier * dev
// Strategy Conditions
longCondition = ta.crossover(close, upper) and ta.crossover(AlphaTrend, AlphaTrend[1])
shortCondition = ta.crossunder(close, lower) and ta.crossunder(AlphaTrend, AlphaTrend[1])
// Exit conditions for Strategy 6
longExit_AT_6 = ta.crossover(close, AlphaTrend)
shortExit_AT_6 = ta.crossunder(close, AlphaTrend)
// Exit condition series
exit1 = input.bool(true, title="Enable Exit Condition for Strategy 1")
// Define exit conditions for each strategy
exit1_condition = close < AlphaTrend ? 1.0 : na
// Strategy Actions
strategy.entry("Buy", strategy.long, when=longCondition)
strategy.entry("Sell", strategy.short, when=shortCondition)
// Exit conditions for Strategy 1
strategy.exit("Buy", "longExit_AT_6", stop = exit1_condition, when =shortExit_AT_6 )
strategy.exit("Sell", "shortExit_AT_6", stop = exit1_condition, when =longExit_AT_6)
// Plotting
plot(AlphaTrend, color=color.blue, title="AlphaTrend")
plot(upper, color=color.green, title="Upper Bollinger Band")
plot(lower, color=color.red, title="Lower Bollinger Band")
// Alerts
alertcondition(longCondition, title='Potential Buy Signal', message='AlphaTrend crossed above Upper Bollinger Band')
alertcondition(shortCondition, title='Potential Sell Signal', message='AlphaTrend crossed below Lower Bollinger Band')