Strategi Dagangan Long Only Triple EMA Golden Cross

Penulis:ChaoZhang, Tarikh: 2023-09-26
Tag:

Ringkasan

Strategi ini menjana isyarat dagangan berdasarkan salib emas dan salib kematian tiga garis EMA dengan tempoh yang berbeza untuk memanfaatkan kekuatan setiap EMA dan mencapai prestasi dagangan yang lebih baik.

Logika Strategi

Strategi ini mengira tiga garis EMA dengan tempoh 8, 50 dan 200, dan menghasilkan isyarat apabila EMA yang lebih cepat melintasi di atas atau di bawah EMA yang lebih perlahan.

  1. Mengira garis EMA 8 tempoh, 50 tempoh dan 200 tempoh.

  2. Pergi panjang apabila EMA 8-period melintasi di atas EMA 50-period (salib emas), tutup kedudukan apabila EMA 50-period melintasi di bawah EMA 8-period (salib kematian).

  3. Pilihan hanya pergi lama apabila harga di atas 200 tempoh EMA untuk mengelakkan whipsaws.

  4. Garis EMA keuntungan pilihan boleh ditetapkan untuk menutup kedudukan apabila harga melintasi di bawahnya.

EMA pantas mengenal pasti bahagian bawah, EMA sederhana menentukan trend, dan EMA perlahan menapis bunyi bising. Bersama-sama mereka mengenal pasti perubahan trend sambil mengekalkan kekerapan perdagangan yang baik.

Kelebihan

  1. EMA tiga kali secara berkesan menentukan trend dan memanfaatkan kekuatan individu. EMA 8 tempoh menangkap bahagian bawah pendek, EMA 50 tempoh menentukan trend jangka pertengahan, dan EMA 200 tempoh menapis bunyi bising.

  2. Hanya pergi jauh di atas 200 tempoh EMA mengelakkan whipsaws.

  3. EMA mengambil keuntungan yang boleh disesuaikan menetapkan sasaran keuntungan yang munasabah.

  4. Penyesuaian visual seperti warna bar dan plot EMA meningkatkan fleksibiliti.

  5. Logik golden/death cross mudah difahami.

Risiko dan Pengurangan

  1. Kelewatan EMA boleh menyebabkan masa kemasukan yang terlewat. Memendekkan tempoh EMA atau digabungkan dengan penunjuk seperti MACD.

  2. Whipsaws boleh menghasilkan isyarat buruk. Gunakan EMA yang lebih panjang untuk menapis, atau menambah keadaan.

  3. Sasaran keuntungan tetap tidak beradaptasi. Gunakan keluar dinamik berdasarkan ATR dan lain-lain

  4. Tiada hentian bermakna risiko tidak terhad. Tambah hentian atau nilai tetap.

Peluang Peningkatan

  1. Mengoptimumkan tempoh EMA untuk parameter terbaik.

  2. Tambah penunjuk seperti MACD untuk masa.

  3. Melaksanakan keuntungan dinamik berdasarkan turun naik.

  4. Tambah logik stop-loss, trailing atau nilai tetap.

  5. Meningkatkan keadaan kemasukan, contohnya penapis jumlah.

Kesimpulan

Strategi ini memanfaatkan penapisan trend EMA untuk mengenal pasti pergerakan yang berkemungkinan tinggi. Mengoptimumkan keluar, menambah penunjuk dan penapisan dapat meningkatkan prestasi. Secara keseluruhan ia mudah dan praktikal untuk mengikuti trend berasaskan EMA.


/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-20 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Long only EMA CROSS 8/50/200 Backtest", shorttitle="Golden Cross Tri EMA", overlay=true)

// EMA 8/50/200 Cross TEST



// Input
switch1=input(true, title="Enable Bar Color?")
switch2=input(true, title="Show 8 EMA")
switch3=input(true, title="Show 50 EMA")
switch4=input(true, title="Show 200 EMA")
switch5=input(false, title="Show profit level EMA")
bool_Long_EMA200=input(false, title="Long only above EMA200")
movingaverage_8 = ema(close, input(8))
movingaverage_50 = ema(close, input(50))
movingaverage_market_signal = ema(close, input(200))
movingaverage_profitlvl = ema(close, input(50))


// Calculation
bullish_cross = if bool_Long_EMA200 == true
    crossover(movingaverage_8, movingaverage_50) and movingaverage_8 > movingaverage_market_signal
else 
    bullish_cross = crossover(movingaverage_8, movingaverage_50)
bearish_cross = crossunder(close, movingaverage_profitlvl)

// Strategy
if bullish_cross
    strategy.entry("long", strategy.long)

strategy.close("long", when = bearish_cross )

// Colors
bartrendcolor = close > movingaverage_8 and close > movingaverage_50 and change(movingaverage_50) > 0 ? green : close < movingaverage_8 and close < movingaverage_50 and change(movingaverage_50) < 0 ? red : blue
barcolor(switch1?bartrendcolor:na)

// Output
plot(switch2?movingaverage_8:na,color = change(movingaverage_8) > 0 ? green : red,linewidth=2, title="EMA8")
plot(switch3?movingaverage_50:na,color = change(movingaverage_50) > 0 ? green : red,linewidth=2,title="EMA50")
plot(switch4?movingaverage_market_signal:na,color = change(movingaverage_market_signal) > 0 ? green : red,linewidth=3,title="EMA200")
plot(switch5?movingaverage_profitlvl:na,color = change(movingaverage_profitlvl) > 0 ? green : red,linewidth=3, title="EMA Profit LVL")

//
alertcondition(bullish_cross, title='Golden Cross (bullish)', message='Bullish')
alertcondition(bearish_cross, title='Death Cross (bearish)', message='Bearish')

Lebih lanjut