Strategi ini menggabungkan ciri-ciri penunjuk AlphaTrend dan strategi Bollinger Bands. Indikator AlphaTrend digunakan untuk menangkap trend pasaran, sementara strategi Bollinger Bands digunakan untuk menangkap ciri-ciri pembalikan purata pasaran. Idea utama strategi adalah: apabila harga menembusi Bollinger Band atas dan penunjuk AlphaTrend ke atas, pergi panjang; apabila harga menembusi Bollinger Band bawah dan penunjuk AlphaTrend ke bawah, pergi pendek. Syarat keluar strategi adalah: apabila harga jatuh di bawah penunjuk AlphaTrend, tutup kedudukan.
Strategi ini menggabungkan ciri-ciri trend berikut dan pembalikan purata. Ia mengikuti dengan teliti trend apabila trend itu jelas dan mencari pulangan yang berlebihan di pasaran yang terikat julat. Indikator AlphaTrend dapat menyesuaikan diri dengan fleksibel mengikut pergerakan harga dan mempunyai kemampuan beradaptasi yang baik dengan trend. Pada masa yang sama, Bollinger Bands dapat menggambarkan secara objektif harga yang tinggi dan rendah. Gabungan kedua-duanya boleh membentuk isyarat kemasukan yang berkesan.
Sebagai tindak balas terhadap risiko di atas, langkah-langkah berikut boleh diambil:
Strategi ini masih mempunyai banyak ruang untuk pengoptimuman. Pengoptimuman parameter dan penapisan isyarat dapat meningkatkan prestasi strategi secara intuitif. Memperkenalkan pengurusan kedudukan dapat meluruskan lengkung pulangan. Kaedah stop-loss yang lebih fleksibel dapat mengurangkan risiko transaksi tunggal. Melalui pengoptimuman gabungan kaedah ini, prestasi strategi dapat ditingkatkan lagi, membolehkannya mendapat keuntungan yang stabil dalam perdagangan sebenar.
Indikator ini menggabungkan dua idea strategi kuantitatif yang biasa: mengikuti trend dan membalikkan purata, sambil menggunakan penunjuk AlphaTrend dan penunjuk Bollinger Bands klasik. Indikator AlphaTrend memanfaatkan sepenuhnya maklumat harga dan jumlah, menyesuaikan diri dengan baik dengan irama pasaran sambil memahami trend. Indikator Bollinger Bands menggambarkan harga yang tinggi dan rendah dan dapat menangkap peluang yang terlalu banyak dibeli dan terlalu banyak dijual. Gabungan kedua-dua penunjuk membentuk rangsangan trend dan harga, yang membolehkan menangkap peluang dalam kedua-dua pasaran trend dan jangkauan yang fleksibel.
Logik keseluruhan strategi ini jelas, dan tetapan parameter fleksibel, menjadikannya mudah untuk mengoptimumkan untuk pelbagai jenis dan tempoh. Pada masa yang sama, titik risiko strategi juga agak jelas, dan pengurusan kedudukan dan stop-loss memerlukan pengoptimuman lanjut. Di samping itu, untuk meningkatkan kebolehpercayaan isyarat, perlu mempertimbangkan pengenalan penunjuk trend seperti ADX dan penunjuk momentum seperti RSI. Secara keseluruhan, strategi ini adalah gabungan klasik dari idea pelaburan trend dan pembalikan purata, memanfaatkan dengan baik kelebihan penunjuk AlphaTrend dan layak untuk pengoptimuman dan penyelidikan susulan yang lebih lanjut. Diyakini bahawa selepas penyempurnaan lebih lanjut, strategi ini boleh menjadi alat yang kuat dalam perdagangan sebenar.
/*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')