Strategi ini didasarkan pada indikator momentum yang dikombinasikan dengan moving average untuk melacak tren pasar. Strategi ini berjalan panjang ketika ada momentum upside yang kuat dan berjalan pendek ketika ada momentum downside yang kuat.
Hitung momentum harga sebagai: (Harga saat ini - Harga N periode lalu) / Harga N periode lalu
Menghitung rata-rata pergerakan harga pertengahan selama N periode
Normalkan nilai momentum ke kisaran 0-1
Ketika momentum normalisasi lebih besar dari 0,5 dan harga di atas rata-rata bergerak, pergi panjang
Ketika momentum normalisasi kurang dari 0,5 dan harga di bawah rata-rata bergerak, pergi pendek
Menggunakan mekanisme stop loss bergerak dengan tingkat stop loss yang tepat
Di atas mencakup logika perdagangan dasar. Ketika pasar sedang tren, harga akan bergerak terus menerus ke satu arah, menghasilkan nilai momentum yang besar. Strategi menilai kekuatan tren menggunakan momentum dan arah menggunakan moving average untuk memutuskan masuk. Juga, stop loss sangat penting untuk mengendalikan risiko.
Strategi ini memiliki keuntungan berikut:
Mengikuti tren pasar, dengan potensi keuntungan besar
Momentum sensitif terhadap perubahan harga dan merespons dengan cepat tren
Rata-rata bergerak menyaring kebisingan acak dan menggabungkan dengan baik dengan momentum
Mekanisme stop loss membatasi kerugian pada perdagangan individu
Logika sederhana dan jelas, mudah diterapkan dan backtest
Parameter yang fleksibel dapat disesuaikan dengan periode dan rezim pasar yang berbeda
Secara keseluruhan, ini adalah strategi yang bagus untuk tren pasar.
Meskipun ada manfaatnya, ada beberapa risiko yang perlu diperhatikan:
Risiko pecah dalam tren naik ketika harga berbalik setelah pecah
Risiko pembalikan dalam tren penurunan ketika harga melompat setelah rusak
Whipsaw sinyal ketika harga berosilasi di sekitar rata-rata bergerak
Sinyal yang salah jika parameter tidak diatur dengan benar
Kinerja yang kurang baik di pasar bergelombang
Strict stop loss dan gerakan yang diperlukan untuk mencegah keluar prematur
Untuk mengatasi risiko ini, strategi stop loss perlu dioptimalkan, menyaring sinyal yang tidak perlu dengan parameter longgar, menyesuaikan parameter untuk periode yang berbeda, dan mengontrol ukuran posisi.
Berikut adalah beberapa cara strategi dapat dioptimalkan lebih lanjut:
Uji kombinasi parameter yang berbeda untuk hasil backtest terbaik
Menggabungkan aturan perdagangan penyu keluar pada kerugian 2N dan keuntungan 1N
Mengoptimalkan stop loss dengan indikator volatilitas untuk stop loss adaptif
Tambahkan aturan ukuran posisi berdasarkan penarikan, waktu, dll
Uji metode perhitungan momentum yang berbeda seperti momentum rata-rata bergerak eksponensial
Tambahkan filter pola candlestick untuk sinyal yang lebih kuat
Menggunakan pembelajaran mesin untuk optimasi parameter, pemilihan fitur, dll
Masukkan beberapa masukan manusia discretionary pada titik kunci
Dengan peningkatan ini, strategi dapat mencapai stabilitas, kemampuan beradaptasi, dan profitabilitas yang lebih baik.
Strategi pelacakan momentum adalah pendekatan yang sederhana dan praktis mengikuti tren. Ini dapat dengan gesit menangkap tren pasar dan mendapatkan keuntungan dari gelembung dan kecelakaan. Tetapi risiko penyesuaian kurva perlu dikelola dengan kontrol risiko yang disiplin untuk mempertahankan ketahanan. Dengan penyesuaian parameter dan ekstensi fungsionalitas, strategi dapat menghasilkan keuntungan yang stabil dalam lebih banyak rezim pasar.
/*backtest start: 2023-11-02 00:00:00 end: 2023-11-09 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Momentum Strategy, rev.2", overlay=true) // // Data // src = input(close) lookback = input(20) cscheme=input(1, title="Bar color scheme", options=[1,2]) // // Functions // momentum(ts, p) => (ts - ts[p]) / ts[p] normalize(src, len) => hi = highest(src, len) lo = lowest(src, len) res = (src - lo)/(hi - lo) // // Main // price = close mid = sma(src, lookback) mom = normalize(momentum(price, lookback),100) // // Bar Colors // clr1 = cscheme==1?black: red clr2 = cscheme==1?white: green barcolor(close < open ? clr1 : clr2) // // Strategy // if (mom > .5 and price > mid ) strategy.entry("MomLE", strategy.long, stop=high+syminfo.mintick, comment="MomLE") else strategy.cancel("MomLE") if (mom < .5 and price < mid ) strategy.entry("MomSE", strategy.short, stop=low-syminfo.mintick, comment="MomSE") else strategy.cancel("MomSE") //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)