
Strategi moving average cross-quantization adalah strategi perdagangan kuantitatif yang menghasilkan sinyal jual beli berdasarkan sinyal silang dari dua rata-rata bergerak yang berbeda periode. Strategi ini menggunakan dua rata-rata bergerak sederhana pada hari ke-9 dan ke-20, menghasilkan sinyal beli ketika rata-rata jangka pendek melintasi rata-rata jangka panjang dari bawah ke atas, dan menghasilkan sinyal jual ketika rata-rata jangka pendek melintasi rata-rata jangka panjang dari atas ke bawah.
Inti dari strategi ini adalah menggunakan sinyal silang dari rata-rata bergerak berkala yang berbeda untuk menangkap titik-titik perubahan tren pasar. Secara khusus, langkah-langkah utama strategi adalah sebagai berikut:
Melalui langkah-langkah di atas, strategi dapat membeli garis positif pertama setelah melewati garis rata-rata jangka panjang pada garis rata-rata jangka pendek, dan menjual garis negatif pertama setelah melewati garis rata-rata jangka panjang di bawah garis rata-rata jangka pendek, sehingga memungkinkan untuk membangun posisi damai tepat waktu pada titik perubahan tren.
Strategi pengukuran rata-rata bergerak memiliki keuntungan sebagai berikut:
Meskipun ada beberapa keuntungan dari strategi kuantitatif rata-rata bergerak, ada risiko berikut:
Untuk mengatasi risiko-risiko tersebut, langkah-langkah berikut dapat dilakukan:
Optimasi parameter: mengoptimalkan parameter periodik rata-rata bergerak, menemukan kombinasi parameter yang lebih sesuai dengan pasar saat ini, meningkatkan kinerja strategi.
Filter sinyal: Pada dasar perpotongan rata, memperkenalkan indikator atau kondisi teknis lainnya, seperti MACD, RSI, dan lain-lain, untuk konfirmasi kedua pada sinyal perdagangan, meningkatkan keandalan sinyal.
Manajemen posisi: Mengubah ukuran posisi secara dinamis sesuai dengan intensitas tren pasar, tingkat fluktuasi dan faktor lainnya, meningkatkan posisi saat tren kuat, mengurangi posisi saat tren tidak jelas atau fluktuasi meningkat, meningkatkan rasio risiko keuntungan.
Stop Loss Stop: Memperkenalkan mekanisme Stop Loss yang masuk akal untuk mengendalikan risiko dari perdagangan tunggal, sementara membiarkan keuntungan berlari dan meningkatkan keuntungan strategi.
Hedging overhead: Pertimbangkan untuk memasukkan sinyal mundur ke dalam strategi, sambil memegang posisi overhead, untuk melindungi risiko pasar dan meningkatkan stabilitas strategi.
Perbaikan di atas dapat membantu meningkatkan kinerja strategi, tetapi implementasi spesifik juga perlu disesuaikan dan diuji berdasarkan situasi nyata.
Strategi kuantitatif lintas rata-rata bergerak adalah strategi pelacakan tren yang sederhana dan efektif untuk menangkap perubahan tren pasar melalui sinyal lintas rata-rata bergerak berkala. Strategi ini logisnya jelas dan adaptif, tetapi juga memiliki masalah seperti keterbelakangan dan risiko pasar yang bergoyang. Dengan cara seperti memperkenalkan indikator teknis lainnya, parameter optimasi, dan pengelolaan posisi yang lebih baik dan langkah-langkah pengendalian risiko, kinerja strategi ini dapat ditingkatkan lebih lanjut, membuatnya menjadi strategi perdagangan kuantitatif yang lebih kuat dan efektif.
/*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"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ZeroHeroTrading
//@version=5
strategy("Simple 9/20 Crossover", overlay=true)
// Define moving averages
ma9 = ta.sma(close, 9)
ma20 = ta.sma(close, 20)
// Set persistent variable to keep track of crossover condition
var bool crossoverCondition = false
// 9 MA crosses above 20 MA
// Set crossover condition to true
if ta.crossover(ma9, ma20)
crossoverCondition := true
// 9 MA crosses under 20 MA
// Reset crossover condition to false
if ta.crossunder(ma9, ma20)
crossoverCondition := false
// Set buy and sell signals
buySignal = crossoverCondition and close > open and close > ma9
sellSignal = close < ma9
// Execute trades based on signals
if (buySignal)
strategy.entry("Long", strategy.long)
// Avoid repeat entries by resetting crossover condition to false
crossoverCondition := false
if (sellSignal)
strategy.close("Long")
// Plot moving averages on the chart
plot(ma9, color=color.blue)
plot(ma20, color=color.red)