Ide inti dari strategi ini adalah menggunakan salib emas dan salib kematian dari garis rata-rata bergerak cepat dan lambat untuk menilai tren pasar dan menerapkan perdagangan berisiko rendah. Ketika garis rata-rata bergerak cepat melintasi di atas garis rata-rata bergerak lambat, itu menunjukkan bahwa pasar mungkin memasuki tren naik, jadi pergi panjang; ketika garis rata-rata bergerak cepat melintasi di bawah garis rata-rata bergerak lambat, itu menunjukkan bahwa pasar mungkin memasuki tren turun, jadi pergi pendek.
Rata-rata bergerak adalah indikator analisis tren yang meluruskan data harga untuk menilai tren harga. Rata-rata bergerak cepat memiliki parameter yang lebih kecil dan dapat merespons perubahan harga lebih cepat; rata-rata bergerak lambat memiliki parameter yang lebih besar dan merespons perubahan harga lebih lambat. Ketika rata-rata bergerak cepat melintasi di atas rata-rata bergerak lambat, itu menunjukkan bahwa pasar mungkin memasuki pasar bull, dan posisi panjang harus ditetapkan; ketika rata-rata bergerak cepat melintasi di bawah rata-rata bergerak lambat, itu menunjukkan bahwa pasar mungkin memasuki pasar bear, dan posisi pendek harus ditetapkan.
Secara khusus, strategi ini mendefinisikan dua rata-rata bergerak eksponensial, dengan periode masing-masing 21 dan 55 untuk rata-rata bergerak cepat dan lambat. Strategi menentukan masuk dan keluar berdasarkan salib emas dan salib kematian dari dua garis rata-rata bergerak.
Selain itu, strategi ini juga menggunakan indikator volatilitas ATR untuk mengatur stop loss dan take profit. ATR dapat secara efektif menilai tingkat volatilitas pasar. Stop loss ditetapkan pada 1,5 kali jarak ATR dari harga; take profit ditetapkan dekat dengan 1 kali jarak ATR dari harga.
Strategi ini memiliki keuntungan berikut:
Strategi ini juga memiliki beberapa risiko:
Untuk mengatasi risiko di atas, kita dapat mengoptimalkan dari aspek berikut:
Strategi ini dapat dioptimalkan lebih lanjut dalam aspek berikut:
Menggunakan metode pembelajaran mesin untuk mengoptimalkan parameter rata-rata bergerak secara otomatis untuk kemampuan beradaptasi yang lebih baik.
Tambahkan fundamental sebagai kondisi penyaringan untuk menghindari pergi panjang atau pendek secara membabi buta ketika berita negatif besar tiba, seperti keputusan suku bunga Fed dan rilis data makro penting.
Atur batas atas dan bawah untuk volatilitas, hentikan perdagangan ketika ATR menjadi terlalu tinggi atau terlalu rendah untuk menghindari kerugian dalam lingkungan pasar yang ekstrim.
Menggabungkan dasar saham seperti rasio P / E dan ekspansi volume perdagangan untuk mengatur stop loss dinamis dan mengambil kisaran keuntungan.
Tambahkan mekanisme ukuran posisi, secara bertahap mengurangi posisi ketika rasio keuntungan mencapai tingkat, menangguhkan perdagangan untuk jangka waktu ketika mengalami kerugian yang relatif besar, dll.
Logika keseluruhan strategi ini jelas dan sederhana, menggunakan crossover rata-rata bergerak ganda untuk menentukan tren pasar, sebuah strategi tren berikut yang khas. Sementara itu, strategi juga mengendalikan risiko dengan sangat baik dengan menggunakan indikator ATR untuk secara dinamis mengatur stop loss dan mengambil keuntungan. Dengan optimalisasi lebih lanjut, strategi dapat ditingkatkan dalam hal pengendalian penarikan dan trend riding, sehingga mengarah pada kinerja investasi yang lebih stabil.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="No-Nonsense Strategy Template [WM]", overlay = true) price = close // // ATR stuff // atrLength = input(14, "ATR Length") slMultiplier = input(1.5, "SL") tpMultiplier = input(1, "TP1") atr = atr(atrLength) // // Strategy under test. MA crossover // fastInput = input(21) slowInput = input(55) fast = ema(price, fastInput) slow = ema(price, slowInput) plot(fast, color = red) plot(slow, color = blue) goLong = crossover(fast, slow) goShort = crossunder(fast, slow) if (goLong) sl = price - atr * slMultiplier tp = price + atr * tpMultiplier strategy.entry("Long", strategy.long) strategy.exit("Long Exit", "Long", stop = sl, limit = tp) if (goShort) sl = price + atr * slMultiplier tp = price - atr * tpMultiplier strategy.entry("Short", strategy.short) strategy.exit("Short Exit", "Short", stop = sl, limit = tp)