Strategi pelacakan cerdas rata-rata bergerak ganda menggunakan indikator rata-rata bergerak ganda untuk melacak tren harga jangka pendek dan menengah hingga jangka panjang. Bantuan visual dalam bentuk perubahan warna dan transformasi lebar garis membantu pedagang secara intuitif menilai tren pasar dan membuat keputusan perdagangan sesuai. Strategi ini menawarkan fleksibilitas tinggi melalui parameter yang dapat disesuaikan, membuatnya cocok untuk perdagangan algoritmik oleh hedge fund dan private equity fund dengan beberapa kecanggihan teknis.
Inti dari strategi Pelacakan Dual Moving Average Intelligent terletak pada penggunaan rata-rata bergerak cepat dan lambat untuk menghasilkan sinyal perdagangan. Secara khusus, rata-rata bergerak cepat melacak fluktuasi harga jangka pendek, sementara rata-rata bergerak lambat mencerminkan tren jangka menengah hingga jangka panjang. Selain itu, strategi menyajikan rata-rata bergerak garis dasar dalam warna yang berbeda berdasarkan tiga skema (Crossover, Direction, dan Composite) untuk membantu menentukan tren pasar. Posisi panjang dimulai ketika MA cepat melintasi MA lambat, dan keluar ketika MA cepat melintasi di bawah. Panjang MA garis dasar dapat disesuaikan, dan skema warna dapat beralih di antara tiga opsi untuk memungkinkan tingkat kustomisasi yang tinggi.
Keuntungan terbesar dari strategi ini adalah kombinasi indikator rata-rata bergerak ganda dan alat bantu visual yang menggunakan warna untuk menilai tren pasar, membuatnya sederhana dan mudah dioperasikan. Selanjutnya, parameter yang dapat disesuaikan memberdayakan pengguna untuk menyesuaikan strategi berdasarkan preferensi perdagangan dan kondisi pasar mereka, memungkinkan backtesting yang efisien dan perdagangan langsung. Pilihan skema warna juga dapat memenuhi kebiasaan visual dan operasional pengguna yang berbeda.
Meskipun memiliki keunggulan yang mencolok, strategi ini juga membawa beberapa risiko potensial. MAs ganda sangat sensitif terhadap fluktuasi harga, yang dapat menghasilkan sinyal palsu dan menyebabkan overtrading. Sementara fleksibilitas meningkat dengan parameter yang dapat disesuaikan, kesulitan dalam penyesuaian parameter juga meningkat, dan kombinasi parameter yang tidak tepat akan merusak profitabilitas.
Ada beberapa jalur optimasi untuk strategi. Pertama, indikator tambahan dapat diperkenalkan untuk menyaring sinyal yang menyesatkan, seperti KDJ untuk tingkat overbought-oversold dan MACD untuk pullback yang menguntungkan. Kedua, model optimasi parameter dapat dibangun untuk membantu pemilihan parameter. Ketiga, model pembelajaran mesin dapat dimanfaatkan untuk memprediksi perubahan harga dan membantu penilaian tren. Keempat, mekanisme stop loss dapat didirikan untuk secara otomatis keluar posisi ketika kerugian mencapai ambang batas yang telah ditetapkan. Optimasi ini dapat meningkatkan stabilitas dan profitabilitas strategi.
Secara keseluruhan, Dual Moving Average Intelligent Tracking Strategy adalah pendekatan perdagangan algoritmik frekuensi tinggi yang sederhana namun fleksibel, kaya keuntungan. Ini dengan cerdas menggabungkan dua moving average dan alat bantu visual untuk menentukan tren pasar dan memanfaatkan perubahan jangka pendek. Sementara itu, kustomisasi yang tinggi membuatnya cocok untuk pengoptimalan dan penyesuaian parameter oleh investor dan dana yang berpengalaman sebelum aplikasi di dunia nyata. Namun, risiko seperti kesulitan penyesuaian dan sinyal yang menyesatkan harus diperhatikan. Optimasi lebih lanjut di sekitar indikator tambahan, model pemilihan parameter, perkiraan perubahan harga, dll. Oleh karena itu, strategi ini menjamin eksplorasi yang lebih mendalam.
/*backtest start: 2022-12-13 00:00:00 end: 2023-12-19 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // © Julien_Eche //@version=5 strategy("Smart MA Strategy", shorttitle="Smart MA Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=20) // Input parameters base_ma_length = input.int(50, title="Base MA Length") ma_type = input.string("SMA", title="MA Type", options=["SMA", "WMA", "EMA"]) color_choice = input.string("Composite", title="Color Option", options=["Crossover", "Direction", "Composite"]) fast_length = input.int(10, title="Fast MA Length", group="For Crossover Color Option") slow_length = input.int(30, title="Slow MA Length", group="For Crossover Color Option") // Start and end date inputs start_year = input.int(1975, title="Start Year", group="Date Range") start_month = input.int(1, title="Start Month", group="Date Range") start_day = input.int(1, title="Start Day", group="Date Range") end_year = input.int(2099, title="End Year", group="Date Range") end_month = input.int(12, title="End Month", group="Date Range") end_day = input.int(31, title="End Day", group="Date Range") // Calculate the selected MAs fast_ma = ta.sma(close, fast_length) slow_ma = ta.sma(close, slow_length) // Calculate the base MA with the specified length base_ma = ta.sma(close, base_ma_length) // Determine if the base MA is increasing or decreasing base_ma_increasing = base_ma > base_ma[1] // Define the color for the base MA based on the selected option base_ma_color = color_choice == "Direction" ? (base_ma_increasing ? color.teal : color.red) : color_choice == "Crossover" ? (fast_ma > slow_ma ? color.teal : color.red) : color_choice == "Composite" ? (base_ma_increasing and fast_ma > slow_ma ? color.teal : not base_ma_increasing and fast_ma < slow_ma ? color.red : color.gray) : color.gray // Plot the base MA with the specified color and linewidth plot(base_ma, title="Base MA", color=base_ma_color, style=plot.style_line, linewidth=2) // Define the start and end timestamps start_date = timestamp(start_year, start_month, start_day, 0, 0) end_date = timestamp(end_year, end_month, end_day, 23, 59) // Filter strategy signals based on date in_date_range = time >= start_date and time <= end_date // Strategy conditions for each option if (color_choice == "Composite" and in_date_range) if (base_ma_increasing and fast_ma > slow_ma) strategy.entry("Buy", strategy.long) if (not base_ma_increasing and fast_ma < slow_ma) strategy.close("Buy") if (color_choice == "Crossover" and in_date_range) if (fast_ma > slow_ma) strategy.entry("Buy", strategy.long) if (fast_ma < slow_ma) strategy.close("Buy") if (color_choice == "Direction" and in_date_range) if (base_ma_increasing) strategy.entry("Buy", strategy.long) if (not base_ma_increasing) strategy.close("Buy")