Strategi ini menggabungkan karakteristik dari indikator AlphaTrend dan strategi Brainstorm. Indikator AlphaTrend digunakan untuk menangkap tren pasar, dan strategi Brainstorm digunakan untuk menangkap karakteristik regresi rata-rata pasar. Ide utama dari strategi ini adalah: melakukan lebih banyak ketika harga menembus jalur Brainstorm dan indikator AlphaTrend naik; ketika harga menembus jalur Brainstorm dan indikator AlphaTrend turun; dan kondisi keluar dari strategi ini adalah: berdamai ketika harga jatuh dari indikator AlphaTrend.
Strategi ini menggabungkan karakteristik pelacakan tren dan regression rata-rata, mengikuti tren ketika tren terlihat, dan mendapatkan keuntungan yang berlebihan dalam pasar yang bergolak. Indikator AlphaTrend dapat menyesuaikan diri secara fleksibel sesuai dengan pergerakan harga dan lebih mudah beradaptasi dengan tren. Sementara itu, Blink Band dapat secara objektif menggambar harga yang relatif tinggi dan rendah, dan keduanya dapat dikombinasikan untuk membentuk sinyal masuk yang efektif.
Untuk mengatasi risiko tersebut, langkah-langkah berikut dapat diambil:
Strategi masih memiliki banyak ruang untuk dioptimalkan. Optimasi parameter dan penyaringan sinyal dapat secara intuitif meningkatkan kinerja strategi. Memperkenalkan manajemen posisi dapat meluruskan kurva keuntungan.
Strategi ini dengan cerdik menggabungkan dua ide strategi kuantitatif yang umum digunakan, yaitu pelacakan tren dan regression rata-rata, dengan menggunakan indikator AlphaTrend dan indikator Brainstorm klasik. Indikator AlphaTrend memanfaatkan informasi harga dan volume transaksi dengan baik dan menyesuaikan dengan irama pasar sambil menangkap tren. Sedangkan indikator Brainstorm secara obyektif menggambarkan harga yang relatif tinggi dan rendah, yang dapat secara efektif menangkap peluang overbought dan oversold.
Strategi memiliki logika keseluruhan yang jelas, pengaturan parameter yang fleksibel, dan mudah dioptimalkan untuk berbagai varietas dan siklus. Pada saat yang sama, titik risiko strategi juga lebih jelas, manajemen posisi dan stop loss masih perlu dioptimalkan lebih lanjut. Selain itu, untuk meningkatkan reliabilitas sinyal lebih lanjut, Anda juga dapat mempertimbangkan untuk memperkenalkan indikator jenis tren seperti ADX, indikator momentum seperti RSI, dll. Secara keseluruhan, strategi ini adalah kombinasi klasik dari investasi tren dan gagasan pengembalian rata-rata, memanfaatkan dengan baik keuntungan dari indikator AlphaTrend, yang layak dioptimalkan dan dilacak lebih lanjut.
/*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')