Strategi perdagangan kuantitatif lintas rata-rata bergerak ganda
Strategi ini membuat keputusan perdagangan berdasarkan sinyal silang dari dua moving average (MA) dengan periode yang berbeda. Ketika MA jangka pendek melintasi di atas MA jangka panjang, itu menghasilkan sinyal beli; ketika MA jangka pendek melintasi di bawah MA jangka panjang, itu menghasilkan sinyal jual. Strategi ini mencoba untuk menangkap tren harga jangka menengah hingga panjang dan keuntungan dari tren berikut.
Strategi ini menggunakan dua rata-rata bergerak dengan periode yang berbeda sebagai indikator teknis utama. Satu adalah rata-rata bergerak jangka pendek, yang mencerminkan tren harga jangka pendek; yang lainnya adalah rata-rata bergerak jangka panjang, yang mencerminkan tren harga jangka menengah hingga jangka panjang.
Secara khusus, ketika MA jangka pendek melintasi di atas MA jangka panjang, ini menunjukkan bahwa harga dapat memasuki tren kenaikan, dan strategi akan menghasilkan sinyal beli. Sebaliknya, ketika MA jangka pendek melintasi di bawah MA jangka panjang, ini menunjukkan bahwa harga dapat memasuki tren penurunan, dan strategi akan menghasilkan sinyal jual. Pendekatan mengikuti tren ini dapat membantu investor menyelaraskan dengan tren pasar dan mendapatkan keuntungan dari kenaikan atau penurunan harga.
Dalam pelaksanaan kode strategi, langkah-langkah utama berikut digunakan:
input
fungsi untuk mengatur parameter periode MA jangka pendek dan MA jangka panjang, memungkinkan pengguna untuk menyesuaikan.ta.sma
fungsi untuk menghitung MA jangka pendek.strategy.entry
fungsi untuk melakukan perdagangan berdasarkan sinyal beli dan jual.plotshape
fungsi untuk menandai sinyal beli dan jual pada grafik.plot
fungsi untuk menggambar kurva MA jangka pendek pada grafik.Melalui kombinasi organik dari langkah-langkah ini, strategi dapat menyesuaikan posisi secara dinamis berdasarkan perubahan rata-rata bergerak crossover, mencoba untuk terus mendapatkan keuntungan dari tren pasar.
Untuk mengatasi risiko ini, langkah-langkah berikut dapat diambil untuk meningkatkan strategi:
Tujuan dari arah optimasi ini adalah untuk meningkatkan kemampuan beradaptasi, ketahanan, dan profitabilitas strategi, dan lebih baik mengatasi perubahan dan tantangan di pasar. Melalui optimasi dan perbaikan berkelanjutan, strategi dapat mencapai hasil yang lebih baik dalam aplikasi praktis.
Strategi perdagangan kuantitatif crossover rata-rata bergerak ganda adalah strategi yang sederhana, mudah dimengerti, dan sangat fleksibel mengikuti tren. Strategi ini menilai tren harga melalui perubahan crossover dari dua rata-rata bergerak dengan periode yang berbeda, mencoba untuk menangkap peluang jangka menengah hingga panjang di pasar. Keuntungan dari strategi ini terletak pada prinsipnya yang sederhana dan jelas, penerapan dan optimalisasi yang mudah, dan penerapannya ke berbagai pasar keuangan. Namun, strategi ini juga menghadapi risiko seperti sensitivitas parameter, kinerja buruk di pasar osilasi, dan lag sinyal.
Untuk meningkatkan strategi, kita dapat memulai dari aspek seperti optimasi parameter, penyaringan sinyal, manajemen posisi, dan kombinasi multi-indikator untuk meningkatkan kemampuan beradaptasi dan ketahanan strategi.
Secara keseluruhan, strategi crossover rata-rata bergerak ganda menyediakan kerangka dasar untuk perdagangan kuantitatif, tetapi dalam aplikasi praktis, masih perlu dioptimalkan dan ditingkatkan sesuai dengan karakteristik pasar tertentu dan kebutuhan investasi untuk mencapai hasil yang lebih baik.
/*backtest start: 2024-02-01 00:00:00 end: 2024-02-29 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("SMA Crossover Strategy", overlay=true) // SMA parametrelerini ayarla sma_short_length = input.int(15, "Kısa SMA Uzunluğu") sma_long_length = input.int(200, "Uzun SMA Uzunluğu") // Hareketli ortalama hesaplamalarını yap sma_short = ta.sma(close, sma_short_length) // Fiyatın SMA'yı yukarı veya aşağı kestiğini kontrol et price_above_sma = close > sma_short price_below_sma = close < sma_short // Alım-Satım noktalarını belirle longCondition = (close[1] < sma_short[1] and close > sma_short) and price_above_sma shortCondition = (close[1] > sma_short[1] and close < sma_short) and price_below_sma // Al-Sat stratejisi if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) // Fiyatın kısa SMA'yı yukarı kesme noktalarını göster plotshape(series=longCondition, title="Long", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small) // Fiyatın kısa SMA'yı aşağı kesme noktalarını göster plotshape(series=shortCondition, title="Short", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small) // Hareketli ortalamaları grafiğe çiz plot(sma_short, color=color.blue, title="Kısa SMA")