Strategi Crossover EMA yang cermat

Penulis:ChaoZhang, Tanggal: 2023-12-20 14:28:36
Tag:

img

Gambaran umum

Meticulous EMA Crossover Strategy adalah sistem perdagangan tren yang didasarkan pada sinyal silang antara dua garis rata-rata bergerak eksponensial (EMA) dengan pengaturan parameter yang berbeda. Sistem ini menggunakan garis EMA cepat jangka pendek dan garis EMA lambat jangka panjang dan menghasilkan sinyal perdagangan ketika mereka melintasi. Sinyal panjang dipicu ketika garis cepat melintasi di atas garis lambat, dan sinyal posisi dekat dipicu ketika garis cepat melintasi di bawah garis lambat. Sistem ini juga menggabungkan sarana manajemen risiko seperti stop loss, trailing stop untuk mengunci keuntungan dan mengendalikan risiko.

Prinsip Strategi

Indikator inti dari strategi ini adalah dua garis EMA: garis cepat dan garis lambat. Parameter garis cepat ditetapkan menjadi garis 13 periode untuk reaksi yang lebih cepat terhadap perubahan harga. Parameter garis lambat ditetapkan menjadi garis 48 periode untuk respons yang lebih lambat. Ketika tren jangka pendek meningkat dengan cepat, garis cepat akan naik di depan garis lambat. Dan ketika harga turun, garis cepat akan turun lebih cepat daripada garis lambat. Oleh karena itu, garis cepat yang melintasi di atas garis lambat menandakan tren naik, dan garis cepat yang melintasi di bawah garis lambat menandakan pembalikan ke bawah.

Berdasarkan prinsip ini, strategi berjalan panjang ketika garis EMA cepat melintasi di atas garis EMA lambat, menunjukkan tren naik sehingga Anda dapat membeli. Ketika garis cepat melintasi di bawah garis lambat, itu menutup posisi, menunjukkan akhir tren naik dan waktu untuk mengambil keuntungan. Untuk mengendalikan risiko, strategi juga menetapkan stop loss awal pada 8% di bawah harga masuk dan trailing stop default menjadi 120 poin dari harga pasar. Ini memungkinkan sistem untuk keluar lebih awal dan meminimalkan kerugian ketika ada pembalikan tren.

Dalam implementasi coding, fungsi crossover dan crossunder digunakan untuk menentukan sinyal crossover EMA. Perintah entry dan close yang sesuai kemudian akan dipicu untuk membeli atau menutup posisi.

Analisis Keuntungan

Meticulous EMA Crossover Strategy memiliki keuntungan utama berikut:

  1. Sinyalnya sederhana dan jelas, mudah dimengerti dan diterapkan.

  2. Filter MA dapat mendeteksi perubahan tren dengan lebih sedikit kebisingan pasar.

  3. Parameter yang sangat dapat dikonfigurasi pada garis EMA cepat/lambat, tingkat stop loss, dll.

  4. Stop loss berarti mengontrol risiko secara efektif.

  5. Sistem yang relatif stabil di berbagai kondisi pasar.

Analisis Risiko

Ada juga beberapa risiko yang melekat pada strategi ini:

  1. Sinyal EMA mungkin terlambat selama perubahan pasar yang keras, tidak dapat mencerminkan perubahan harga tepat waktu.

  2. Penyesuaian parameter indikator MA yang terlalu cepat dapat menghasilkan lebih banyak sinyal palsu.

  3. Tren harga yang lemah dapat menghasilkan lebih sedikit penyeberangan EMA sehingga tidak dapat menangkap pergerakan.

  4. Tidak ada analisis tren pasar secara keseluruhan berarti bertentangan dengan tren utama.

Risiko dapat dikurangi dengan:

  1. Menambahkan filter seperti MACD dan KD untuk mengkonfirmasi sinyal crossover.

  2. Sesuaikan parameter EMA berdasarkan pasar yang berbeda untuk mengurangi sinyal palsu.

  3. Sertakan analisis tren keseluruhan berdasarkan rata-rata bergerak jangka panjang.

Arahan Optimasi

Strategi dapat ditingkatkan dari aspek di bawah ini:

  1. Menambahkan filter posisi terbuka untuk menghindari overtrading di pasar yang terikat kisaran. Dapat menggabungkan indikator volatilitas dan volume untuk menetapkan ambang pembukaan posisi.

  2. Atur stop loss dan level profit berdasarkan tingkat swing high/low dan zona support/resistance untuk akurasi yang lebih baik.

  3. Tambahkan modul tren untuk menganalisis tren jangka panjang sebagai filter untuk sinyal jangka pendek, menghindari perdagangan terhadap tren utama.

  4. Gunakan pembelajaran mesin untuk melatih dan mengoptimalkan parameter EMA ideal yang sesuai dengan pasar praktis untuk mengurangi sinyal palsu.

Di atas adalah arah utama untuk meningkatkan strategi silang EMA dasar ini di masa depan.

Kesimpulan

Meticulous EMA Crossover Strategy adalah sistem mendasar mengikuti tren berdasarkan EMA cepat dan lambat garis crossover untuk menentukan tren harga dan menggabungkan stop loss untuk mengendalikan risiko. Sinyalnya sederhana dan bersih, mudah dipahami bagi pemula, menjadikannya salah satu strategi kuantitas starter yang khas.


/*backtest
start: 2022-12-13 00:00:00
end: 2023-12-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
// *** USE AT YOUR OWN RISK ***
// 
strategy("EMA Strategy", shorttitle = "EMA Strategy", overlay=true, pyramiding = 3,default_qty_type = strategy.percent_of_equity, default_qty_value = 10)


// === Inputs ===
// short ma
maFastSource   = input(defval = close, title = "Fast MA Source")
maFastLength   = input(defval = 13, title = "Fast MA Period", minval = 1)

// long ma
maSlowSource   = input(defval = close, title = "Slow MA Source")
maSlowLength   = input(defval = 48, title = "Slow MA Period", minval = 1)

// invert trade direction
tradeInvert = input(defval = false, title = "Invert Trade Direction?")
// risk management
useStop     = input(defval = true, title = "Use Initial Stop Loss?")
slPoints    = input(defval = 25, title = "Initial Stop Loss Points", minval = 1)
useTS       = input(defval = true, title = "Use Trailing Stop?")
tslPoints   = input(defval = 120, title = "Trail Points", minval = 1)
useTSO      = input(defval = false, title = "Use Offset For Trailing Stop?")
tslOffset   = input(defval = 20, title = "Trail Offset Points", minval = 1)

// === Vars and Series ===
fastMA = ema(maFastSource, maFastLength)
slowMA = ema(maSlowSource, maSlowLength)

plot(fastMA, color=blue)
plot(slowMA, color=purple)

goLong() => crossover(fastMA, slowMA)
killLong() => crossunder(fastMA, slowMA)
strategy.entry("Buy", strategy.long, when = goLong())
strategy.close("Buy", when = killLong())

// Shorting if using
goShort() => crossunder (fastMA, slowMA)
killShort() => crossover(fastMA, slowMA)
//strategy.entry("Sell", strategy.short, when = goShort())
//strategy.close("Sell", when = killShort())

if (useStop)
    strategy.exit("XLS", from_entry ="Buy", stop = strategy.position_avg_price / 1.08 )
    strategy.exit("XSS", from_entry ="Sell", stop = strategy.position_avg_price * 1.08)



Lebih banyak