Strategi ini menggabungkan ciri-ciri indikator AlphaTrend dan strategi Brainstorming. Indikator AlphaTrend digunakan untuk menangkap trend pasaran, strategi Brainstorming digunakan untuk menangkap ciri-ciri regresi nilai purata pasaran. Idea utama strategi ini ialah: melakukan lebih banyak apabila harga menembusi lintasan Brainstorming dan indikator AlphaTrend naik; apabila harga menembusi lintasan Brainstorming dan indikator AlphaTrend ke bawah; syarat keluar strategi adalah: ketika harga menembusi lintasan Brainstorming dan indikator AlphaTrend ke bawah.
Strategi ini menggabungkan ciri-ciri pengesanan trend dan regresi rata-rata, mengikuti trend apabila trend jelas, dan memperoleh keuntungan yang berlebihan dalam pasaran yang goyah. Indikator AlphaTrend dapat menyesuaikan diri dengan mudah mengikut pergerakan harga dan lebih mudah menyesuaikan diri dengan trend. Sementara itu, tali pinggang Brin dapat menggambarkan harga yang relatif tinggi dan rendah secara objektif, dan kedua-duanya dapat digabungkan untuk membentuk isyarat masuk yang berkesan.
Menghadapi risiko ini, langkah-langkah berikut boleh diambil:
Strategi masih mempunyai banyak ruang untuk dioptimumkan; pengoptimuman parameter dan penapisan isyarat dapat meningkatkan prestasi strategi secara intuitif; pengenalan pengurusan kedudukan dapat meluruskan kurva keuntungan; pendekatan stop loss yang lebih fleksibel dapat mengurangkan risiko perdagangan tunggal; pengoptimuman melalui kombinasi kaedah ini dapat meningkatkan prestasi strategi lebih lanjut, menjadikannya menguntungkan secara stabil dalam dagangan sebenar;
Strategi ini dengan cerdik menggabungkan kedua-dua idea strategi kuantitatif yang biasa, iaitu pengesanan trend dan regresi rata-rata, dengan menggunakan petunjuk AlphaTrend dan petunjuk tali pinggang klasik. Petunjuk AlphaTrend memanfaatkan maklumat harga dan jumlah urus niaga dengan baik dan menyesuaikan diri dengan kadar pasaran sambil menangkap trend. Sedangkan petunjuk tali pinggang secara objektif menggambarkan harga yang agak tinggi dan rendah, yang dapat menangkap peluang beli-beli berlebihan secara berkesan.
Strategi ini mempunyai logik keseluruhan yang jelas, parameter yang fleksibel, dan mudah dioptimumkan untuk pelbagai jenis dan kitaran. Pada masa yang sama, titik risiko strategi juga lebih jelas, pengurusan kedudukan dan stop loss masih perlu dioptimumkan. Di samping itu, untuk meningkatkan kebolehpercayaan isyarat lebih lanjut, anda juga boleh mempertimbangkan pengenalan indikator trend seperti ADX, indikator momentum seperti RSI, dan lain-lain. Secara keseluruhan, strategi ini adalah gabungan klasik pelaburan trend dan idea pulangan rata-rata, yang memanfaatkan dengan baik kelebihan indikator AlphaTrend, yang patut dioptimumkan dan dipantau 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')