CM Multiple EMA Crossover Strategi

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

Ringkasan

Strategi ini menggabungkan EMA 8 hari, 13 hari, 21 hari dan 55 hari dan menghasilkan isyarat panjang dan pendek apabila persilangan berlaku di antara mereka, bertujuan untuk menangkap trend jangka menengah dan panjang.

Logika Strategi

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

  2. Apabila EMA 8 hari, 13 hari, 21 hari semua melintasi di atas EMA 55 hari, isyarat panjang dicetuskan.

  3. Apabila 8-hari, 13-hari, 21-hari EMA semua menyeberangi di bawah 55-hari EMA, isyarat pendek dicetuskan.

  4. Pergi panjang pada salib emas, pergi pendek pada salib kematian.

  5. Posisi dekat pada persimpangan belakang.

Analisis Kelebihan

  1. Multiple EMA combo berkesan dalam menapis pecah palsu.

  2. 55 hari EMA sebagai jangkar mengelakkan terperangkap.

  3. Ujian belakang menunjukkan pulangan tahunan yang stabil selama 10 tahun yang lalu.

  4. Crossover visual, mudah digunakan, mudah digunakan.

Analisis Risiko

  1. Parameter tetap mungkin tidak sesuai dengan semua produk dan pasaran, pengoptimuman bebas diperlukan.

  2. Tidak berkesan dalam pasaran yang berbeza, risiko whipsaws dan hentian kerap.

  3. Tiada stop loss yang tidak dapat mengehadkan kerugian perdagangan tunggal.

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

  5. Sampel 10 tahun terhad, memerlukan data yang lebih besar untuk mengesahkan ketahanan.

Arahan pengoptimuman

  1. Uji gabungan tempoh EMA untuk mencari kecocokan terbaik.

  2. Tambah penapis kelantangan untuk mengelakkan gangguan palsu.

  3. Melaksanakan stop loss tetap atau bergerak.

  4. Mengoptimumkan saiz kedudukan untuk mengurangkan risiko setiap perdagangan.

  5. Perdagangan kedua-dua sisi panjang dan pendek.

  6. Memperluas ujian ke dalam lebih banyak produk dan jangka masa yang lebih lama.

Ringkasan

Strategi ini mengenal pasti trend jangka menengah dan panjang menggunakan persilangan EMA dengan cara visual yang intuitif. Kekuatan adalah ketara dan kesederhanaan. Tetapi parameter memerlukan pengoptimuman yang lebih banyak dan tidak mempunyai kawalan risiko. Lebih banyak penunjuk teknikal harus diperkenalkan untuk menapis isyarat dan berhenti ditambahkan untuk mengehadkan kerugian. Juga memerlukan uji balik sampel besar di seluruh produk dan masa untuk menyempurnakan dan mengesahkan, untuk menjadi sistem trend berikut yang mantap.


/*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 lanjut