Strategi perdagangan lintas rata-rata bergerak ganda

Penulis:ChaoZhangTanggal: 2024-01-24 15:24:13
Tag:

img

Gambaran umum

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.

Prinsip Strategi

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.

Analisis Keuntungan

Strategi ini memiliki keuntungan berikut:

  1. Ide ini jelas dan mudah dipahami dan diterapkan.
  2. Gunakan indikator rata-rata bergerak untuk menentukan tren harga dan menerapkan perdagangan berisiko rendah.
  3. Kombinasi rata-rata bergerak cepat dan lambat dapat secara efektif menyaring kebisingan pasar dan mengidentifikasi tren harga.
  4. Menggunakan indikator ATR untuk mengatur stop loss secara dinamis dan mengambil keuntungan berdasarkan tingkat volatilitas pasar.
  5. Tidak ada penyesuaian parameter yang sering diperlukan dan strategi sangat stabil.

Analisis Risiko

Strategi ini juga memiliki beberapa risiko:

  1. Ketika harga berfluktuasi dengan keras, rata-rata bergerak dapat memberikan sinyal yang salah, yang dapat menyebabkan kerugian yang tidak perlu.
  2. Strategi ini didasarkan hanya pada indikator teknis tanpa mempertimbangkan fundamental, dan dapat mengalami kerugian yang lebih besar dalam menghadapi berita negatif besar.
  3. Stop loss dan take profit yang ditetapkan oleh indikator ATR mungkin tidak sesuai dengan semua lingkungan pasar, yang mungkin terlalu longgar atau terlalu ketat.
  4. Penentuan periode rata-rata bergerak bukanlah satu-satunya skema yang optimal, dan kombinasi parameter periode yang berbeda akan menghasilkan efek yang berbeda.

Untuk mengatasi risiko di atas, kita dapat mengoptimalkan dari aspek berikut:

  1. Menggabungkan indikator lain seperti MACD dan RSI untuk mengkonfirmasi sinyal perdagangan dan menghindari entri yang salah.
  2. Sedikit mempersempit kisaran stop loss untuk mengurangi kerugian per perdagangan.
  3. Mengoptimalkan secara dinamis parameter rata-rata periode bergerak untuk lebih menyesuaikan mereka dengan tahap pasar yang berbeda.

Arahan Optimasi

Strategi ini dapat dioptimalkan lebih lanjut dalam aspek berikut:

  1. Menggunakan metode pembelajaran mesin untuk mengoptimalkan parameter rata-rata bergerak secara otomatis untuk kemampuan beradaptasi yang lebih baik.

  2. 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.

  3. 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.

  4. Menggabungkan dasar saham seperti rasio P / E dan ekspansi volume perdagangan untuk mengatur stop loss dinamis dan mengambil kisaran keuntungan.

  5. 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.

Kesimpulan

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)



Lebih banyak