Strategi Pelacakan Volatilitas Rata-rata Bergerak Ganda mengintegrasikan ide-ide dari Golden Cross Dead Cross dan Moving Average Volatility Tracking strategi. Dengan menghitung persilangan rata-rata bergerak sederhana (SMA) dengan periode yang berbeda, ia menyadari salib emas dan salib mati untuk menilai tren. Sementara itu, dengan menggabungkan Bollinger Bands dan indeks VIDYA, ia menilai tren pasar dan volatilitas, mencapai identifikasi tren yang efektif dan penangkapan titik balik utama yang efisien.
Indikator inti dari strategi ini termasuk Simple Moving Average (SMA), Bollinger Bands dan Variable Index Dynamic Average (VIDYA). Strategi ini mengatur SMA cepat dan LMA lambat dengan periode yang berbeda. Salib emas dari garis cepat dan lambat berfungsi sebagai sinyal panjang, sementara salib kematian berfungsi sebagai sinyal keluar. Sementara itu, ia memantau pecahnya harga di atas atau di bawah Bollinger Bands selama periode kepemilikan. VIDYA, yang menggabungkan informasi volatilitas, menilai arah dan kekuatan tren saat ini.
Secara khusus, logika sinyal panjang dipicu ketika SMA cepat melintasi LMA lambat, dan harga berada di atas kurva VIDYA, yang menunjukkan ekspansi tren naik dan volatilitas.
Keuntungan terbesar dari strategi ini adalah menggabungkan indikator ganda untuk menilai kondisi pasar, meningkatkan keakuratan keputusan.
Singkatnya, strategi ini mengintegrasikan informasi dari dimensi tren, reversi, dan volatilitas.
Meskipun strategi ini memiliki banyak manfaat, masih ada beberapa risiko yang harus diketahui:
Untuk mengurangi risiko di atas, optimasi parameter, aturan prioritas antara sinyal, kontrol slippage, dan pengujian ketahanan di lingkungan pasar yang berbeda dianjurkan.
Dimensi pengoptimalan utama terletak pada pengaturan parameter dan pengaturan kondisi filter:
Kombinasi optimasi parameter dan penyempurnaan aturan dapat lebih meningkatkan stabilitas dan profitabilitas.
Strategi Dual Moving Average Volatility Tracking menggunakan beberapa indikator untuk menentukan kondisi pasar, menangkap titik balik tren sambil memantau situasi fluktuasi harga. Ini adalah strategi yang menarik menyeimbangkan risiko dan pengembalian.
/*backtest start: 2024-01-29 00:00:00 end: 2024-02-28 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Combined Golden Cross and Progressive Trend Tracker", shorttitle="GCC-PTT", overlay=true) // Inputs fastMA_period = input(50, title="Fast MA Period") slowMA_period = input(200, title="Slow MA Period") src = input(close, title="Source") lengthBB = input(20, title="Bollinger Bands Length") mult = input(2.0, title="Bollinger Bands Multiplier") mavType = input.string(title="Moving Average Type", defval="VAR", options=['SMA', 'EMA', 'WMA', 'TMA', 'VAR', 'WWMA', 'ZLEMA', 'TSF']) // Calculate Moving Averages for Golden Cross fastMA = ta.sma(src, fastMA_period) slowMA = ta.sma(src, slowMA_period) bullish_cross = ta.crossover(fastMA, slowMA) bearish_cross = ta.crossunder(fastMA, slowMA) // Progressive Trend Tracker Components (Adjusted for NA assignment issue) Var_Func(src, length) => valpha = 2 / (length + 1) vud1 = src > src[1] ? src - src[1] : 0 vdd1 = src < src[1] ? src[1] - src : 0 vUD = math.sum(vud1, length) vDD = math.sum(vdd1, length) vCMO = (vUD - vDD) / (vUD + vDD) VAR = 0.0 // Adjusted here, assign an initial value VAR := ta.ema(src * math.abs(vCMO), length) VAR VAR = Var_Func(src, 14) // Example VAR calculation, adjust as needed // Bollinger Bands for dynamic support and resistance BBandTop = fastMA + mult * ta.stdev(src, lengthBB) BBandBot = fastMA - mult * ta.stdev(src, lengthBB) // Plotting plot(fastMA, color=color.blue, title="Fast MA") plot(slowMA, color=color.red, title="Slow MA") plot(BBandTop, color=color.green, title="Bollinger Band Top") plot(BBandBot, color=color.red, title="Bollinger Band Bottom") plot(VAR, color=color.purple, title="VAR", linewidth=2) // Strategy Logic (Adjusted for strategy use) // Long Entry when bullish cross and close above VAR // Exit when bearish cross or close below VAR if (bullish_cross and close > VAR) strategy.entry("CGC_PTT_Long", strategy.long) if (bearish_cross or close < VAR) strategy.close("CGC_PTT_Long")