CM Multiple EMA Crossover Strategi

Penulis:ChaoZhang, Tanggal: 2023-09-21 12:12:56
Tag:

Gambaran umum

Strategi ini menggabungkan EMA 8 hari, 13 hari, 21 hari dan 55 hari dan menghasilkan sinyal panjang dan pendek ketika terjadi crossover di antara mereka, bertujuan untuk menangkap tren jangka menengah dan panjang.

Logika Strategi

  1. Menghitung EMA 8 hari, 13 hari, 21 hari dan 55 hari.

  2. Ketika 8-hari, 13-hari, 21-hari EMA semua melintasi di atas 55-hari EMA, sinyal panjang dipicu.

  3. Ketika 8-hari, 13-hari, 21-hari EMA semua menyeberangi di bawah 55-hari EMA, sinyal pendek dipicu.

  4. Pergi panjang pada golden cross, pergi pendek pada death cross.

  5. Posisi dekat pada reverse crossover.

Analisis Keuntungan

  1. Kombinasi EMA ganda efektif dalam menyaring breakout palsu.

  2. 55 hari EMA sebagai jangkar menghindari terjebak.

  3. Backtest menunjukkan hasil tahunan yang stabil selama 10 tahun terakhir.

  4. Visual crossover, mudah dioperasikan, pemula ramah.

Analisis Risiko

  1. Parameter tetap mungkin tidak cocok untuk semua produk dan pasar, optimasi independen diperlukan.

  2. Tidak efektif di pasar yang berbeda, risiko whipsaws dan sering berhenti.

  3. Tidak ada stop loss yang tidak dapat membatasi kerugian perdagangan tunggal.

  4. Frekuensi perdagangan mungkin terlalu tinggi atau rendah, tweak parameter diperlukan.

  5. Sampel 10 tahun terbatas, membutuhkan data yang lebih besar untuk memverifikasi ketahanan.

Arahan Optimasi

  1. Uji kombinasi periode EMA untuk menemukan pencocokan terbaik.

  2. Tambahkan filter volume untuk menghindari kebocoran palsu.

  3. Mengimplementasikan stop loss tetap atau bergerak.

  4. Mengoptimalkan ukuran posisi untuk mengurangi risiko per perdagangan.

  5. Perdagangan kedua sisi panjang dan pendek.

  6. Mengembangkan pengujian ke lebih banyak produk dan jangka waktu yang lebih lama.

Ringkasan

Strategi ini mengidentifikasi tren jangka menengah-panjang menggunakan silang EMA dengan cara visual yang intuitif. Kekuatannya adalah visibilitas dan kesederhanaan. Tetapi parameter membutuhkan lebih banyak optimasi dan tidak memiliki kontrol risiko. Lebih banyak indikator teknis harus diperkenalkan untuk menyaring sinyal dan berhenti ditambahkan untuk membatasi kerugian. Juga membutuhkan backtest sampel besar di seluruh produk dan waktu untuk menyempurnakan dan memverifikasi, untuk menjadi sistem trend berikut yang kuat.


/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 6h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ColinMccann18
//@version=4

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// --------------------------------------------------------------RULES------------------------------------------------------------------------------
// - VISUALLY REPRESENTS THE CROSSING OF 8,13,21,55 EMA'S FROM KROWNS PROGRAM 
strategy(title="CM EMA Trend Cross STRAT", shorttitle="CM EMA Strat", overlay=true)

ema8  = ema(close,8)
ema13 = ema(close, 13)
ema21 = ema(close, 21)
ema55 = ema(close, 55)

//PLOT
plot(ema8,  title="EMA 1",linewidth=2, color=#00eeff)
plot(ema13, title="EMA 2",linewidth=2, color=#fff900)
plot(ema21, title="EMA 3",linewidth=2, color=#42ff0f)
plot(ema55, title="EMA 4",linewidth=2, color=#8b49ff)

//LOGIC---------------------------------------------------------------------------------------------------------------------------------
emacrossover = crossover(ema21, ema55) and ema8 and ema13 > ema55
emacrossunder = crossunder(ema21, ema55) and ema8 and ema13 < ema55

//Long----------------------------------------------------------------------------------------------------------------------------------
longCondition = emacrossover
closelongCondition = emacrossunder

strategy.entry("Long", strategy.long, qty=na, when=longCondition)
strategy.close("Close Long", when=closelongCondition)

//Short----------------------------------------------------------------------------------------------------------------------------------
shortCondition = emacrossunder
closeshortCondition = emacrossover

strategy.entry("Short", strategy.short,qty=na, when=shortCondition)
strategy.close("Close Short", when=closeshortCondition)



Lebih banyak