Strategi crossover rata-rata bergerak ganda adalah strategi perdagangan kuantitatif yang umum. Ini menggunakan crossover rata-rata bergerak cepat dan lambat sebagai sinyal beli dan jual. Ketika rata-rata bergerak cepat melintasi di atas rata-rata bergerak lambat dari bawah, sinyal beli dihasilkan. Ketika rata-rata bergerak cepat melintasi di bawah rata-rata bergerak lambat dari atas, sinyal jual dihasilkan.
Logika inti dari strategi ini adalah untuk menghitung dua kelompok rata-rata bergerak, satu adalah rata-rata bergerak cepat dengan parameter periode 10 hari, dan yang lainnya adalah rata-rata bergerak lambat dengan parameter periode 30 hari.
Ketika rata-rata bergerak cepat melintasi di atas yang lambat, itu berarti bahwa harga jangka pendek mulai menerobos tren jangka panjang, yang merupakan sinyal salib emas untuk pergi panjang.
Strategi ini juga menetapkan mekanisme stop loss dan take profit. Stop loss dipicu ketika harga turun di bawah persentase tertentu dari harga masuk. Take profit dipicu ketika harga naik di atas persentase tertentu dari harga masuk.
Strategi crossover rata-rata bergerak ganda memiliki keuntungan berikut:
Logika sederhana dan mudah dipahami dan diterapkan;
Parameter rata-rata bergerak cepat dan lambat dapat disesuaikan agar sesuai dengan pasar yang berbeda;
Ini berisi pengaturan stop loss dan take profit untuk membatasi kerugian;
Ini dapat berkinerja baik di pasar tren dan jangkauan.
Strategi crossover rata-rata bergerak ganda juga memiliki risiko berikut:
Sinyal dari persimpangan dapat menjadi kebocoran palsu, yang menyebabkan kerugian;
Pengaturan stop loss dan take profit yang tidak tepat dapat mengakibatkan kerugian besar atau penurunan keuntungan yang diharapkan;
Hal ini hanya didasarkan pada indikator teknis tanpa mempertimbangkan fundamental.
Solusi yang sesuai:
Tambahkan indikator teknis lainnya untuk menyaring sinyal palsu;
Uji dan optimalkan parameter stop loss dan take profit;
Sertakan analisis fundamental.
Strategi dapat dioptimalkan dari aspek berikut:
Uji kombinasi parameter yang berbeda dari rata-rata bergerak untuk menemukan yang optimal;
Tambahkan indikator konfirmasi harga-volume untuk menghindari kebocoran palsu;
Mengatur secara dinamis stop loss dan mengambil persentase keuntungan untuk mengambil keuntungan yang lebih baik;
Sertakan indikator lain seperti volume perdagangan, tingkat omset dll.
Singkatnya, strategi crossover rata-rata bergerak ganda adalah strategi perdagangan kuantitatif yang sederhana dan praktis. Mudah dipahami dan diimplementasikan dan dapat menghasilkan keuntungan yang stabil di sebagian besar lingkungan pasar. Dengan mengoptimalkan parameter, menambahkan filter sinyal dan mekanisme pengambilan keuntungan dinamis, strategi dapat menjadi lebih andal dan menguntungkan. Sebagai salah satu strategi perdagangan kuantitatif mendasar, itu layak dipelajari dan diterapkan.
/*backtest start: 2023-01-12 00:00:00 end: 2024-01-18 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Moving Average Crossover", overlay=true) // Define input parameters fast_length = input(10, title="Fast MA Length") slow_length = input(30, title="Slow MA Length") stop_loss_percent = input(1.0, title="Stop Loss (%)", minval=0.1, maxval=10, step=0.1) take_profit_percent = input(2.0, title="Take Profit (%)", minval=0.1, maxval=10, step=0.1) // Calculate moving averages fast_ma = sma(close, fast_length) slow_ma = sma(close, slow_length) // Entry conditions long_condition = crossover(fast_ma, slow_ma) short_condition = crossunder(fast_ma, slow_ma) // Plot moving averages on the chart plot(fast_ma, title="Fast MA", color=color.blue) plot(slow_ma, title="Slow MA", color=color.red) // Strategy orders strategy.entry("Long", strategy.long, when=long_condition) strategy.entry("Short", strategy.short, when=short_condition) // Set stop loss and take profit levels stop_loss_price = close * (1 - stop_loss_percent / 100) take_profit_price = close * (1 + take_profit_percent / 100) strategy.exit("Take Profit/Stop Loss", from_entry="Long", stop=stop_loss_price, limit=take_profit_price) strategy.exit("Take Profit/Stop Loss", from_entry="Short", stop=take_profit_price, limit=stop_loss_price)