Strategi Breakout Superposisi Triple EMA


Tanggal Pembuatan: 2023-12-28 15:56:54 Akhirnya memodifikasi: 2023-12-28 15:56:54
menyalin: 0 Jumlah klik: 680
1
fokus pada
1621
Pengikut

Strategi Breakout Superposisi Triple EMA

Ringkasan

Triple EMA overlapping breakout strategi menggunakan triple indeks moving average indikator untuk menentukan arah tren pasar, masuk di titik tren breakout. Strategi ini juga menggabungkan K-line bentuk keputusan sinyal yang baik dan buruk.

Prinsip Strategi

Strategi ini didasarkan pada prinsip-prinsip berikut:

  1. Gunakan tiga garis EMA dengan periode yang berbeda (garis 200, 50, dan 20) untuk menilai tren utama, tren menengah, dan tren jangka pendek.

  2. Ketika tren jangka pendek EMA ((20 hari garis) ke atas menerobos EMA pertengahan ((50 hari garis) menghasilkan sinyal beli; ketika ke bawah menerobos, menghasilkan sinyal jual.

  3. Kombinasi dengan bentuk K-line, untuk menilai keandalan sinyal penembusan. Hanya jika harga penutupan K-line kedua lebih tinggi dari (<) harga tertinggi (<) hari sebelumnya, maka dianggap sebagai penembusan yang dapat diandalkan.

  4. Tetapkan titik penghentian untuk menghindari risiko di luar batas fluktuasi yang wajar.

Keunggulan Strategis

  1. Menggunakan beberapa indikator EMA untuk menilai tren, meningkatkan akurasi penilaian.

  2. Kombinasi dengan K-line form filtering untuk sinyal yang menyesatkan, menghindari risiko perdagangan yang tidak perlu.

  3. Tetapkan titik stop loss untuk mengontrol kerugian tunggal secara efektif.

Risiko Strategis

  1. Dalam situasi yang bergejolak, indikator EMA menghasilkan banyak sinyal yang menyesatkan dan tidak dapat menilai tren pasar secara efektif.

  2. Kombinasi indikator tunggal sederhana, penilaian yang lebih buruk untuk situasi yang kompleks.

  3. Tidak mempertimbangkan biaya transaksi, mungkin tidak menguntungkan di pasar dengan biaya yang tinggi.

Optimasi Strategi

  1. Indikator lain seperti MACD, KDJ dapat dimasukkan, membentuk kombinasi indikator, meningkatkan akurasi penilaian.

  2. Optimasi tes dapat dilakukan berdasarkan varietas dan parameter siklus yang berbeda, sehingga parameter kebijakan lebih sesuai dengan karakteristik varietas tersebut.

  3. Indikator volume transaksi dapat diperkenalkan untuk menghindari sinyal yang menyesatkan dalam jumlah rendah.

Meringkaskan

Triple EMA Overlapping Breakout Strategi Strategi keseluruhan jelas dan mudah dimengerti, melalui EMA menilai tren utama pasar, dan mencari waktu masuk ketika tren berbalik. Namun, strategi ini memiliki keterbatasan tertentu, tidak dapat menangani situasi yang kompleks dengan baik, disarankan untuk digunakan dengan kombinasi indikator lain, dan melakukan pengoptimalan parameter untuk menyesuaikan diri dengan lingkungan pasar yang lebih luas.

Kode Sumber Strategi
/*backtest
start: 2022-12-21 00:00:00
end: 2023-12-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("GHG RETRACEMENT MODE 1", overlay=true)

entryLevel1 = input(0.5, "ENTRY LEVEL 1")
entryLevel2 = input(0.25, "ENTRY LEVEL 2")
entryLevel3 = input(0.0, "ENTRY LEVEL 3")

stopLevel = input(-0.35, "STOP LEVEL")
tpLevel = input(0.88, "TP LEVEL")
dontUseEma = input(false, "Don't Use EMA")


get_level(level, level100, level0) =>
    level * (level100 - level0) + level0

buySignal = close[2] < open[2] and close[1] > open[1] and close[0] > open[0] and high[0] > open[2] and high[1] < high[2]
sellSignal = close[2] > open[2] and close[1] < open[1] and close[0] < open[0] and low[0] < open[2] and low[1] > low[2]

if buySignal and (close[0] > ta.ema(close, 200) or dontUseEma)
    l = label.new(bar_index, na)
    entryPrice1 = get_level(entryLevel1, high[0], low[2])
    entryPrice2 = get_level(entryLevel2, high[0], low[2])
    entryPrice3 = get_level(entryLevel3, high[0], low[2])
    
    exitPrice = get_level(tpLevel, high[0], low[2])
    stopPrice = get_level(stopLevel, high[0], low[2])
    
    strategy.order("BUY 1", strategy.long, comment="BUY 1", limit=entryPrice1)
    strategy.exit("exit", "BUY 1", limit=high[0], stop=stopPrice)
    strategy.order("BUY 2", strategy.long, comment="BUY 2", limit=entryPrice2)
    strategy.exit("exit", "BUY 2", limit=high[0], stop=stopPrice)

    label.set_text(l, "Buy => " + str.tostring(close[2]) + "\nSL=> " + str.tostring(stopPrice) + "\nTP => " + str.tostring(exitPrice) )
    label.set_color(l, color.green)
    label.set_yloc(l, yloc.belowbar)
    label.set_style(l, label.style_label_up)
    
if sellSignal and (close[0] < ta.ema(close, 200) or dontUseEma)
    a = label.new(bar_index, na)
    entryPrice1 = get_level(entryLevel1, low[0], high[2])
    entryPrice2 = get_level(entryLevel2, low[0], high[2])
    entryPrice3 = get_level(entryLevel3, low[0], high[2])
    
    exitPrice = get_level(tpLevel, low[0], high[2])
    stopPrice = get_level(stopLevel,low[0], high[2])
    
    strategy.order("SELL 1", strategy.short, comment="SELL 1", limit=entryPrice1)
    strategy.exit("exit", "SELL 1", limit=low[0], stop=stopPrice) 
    strategy.order("SELL 2", strategy.short, comment="SELL 2", limit=entryPrice2)
    strategy.exit("exit", "SELL 2", limit=low[0], stop=stopPrice) 

    label.set_text(a,"Sell => " + str.tostring(close[2]) + "\nSL=> " + str.tostring(stopPrice) + "\nTP => " + str.tostring(exitPrice) )
    label.set_color(a, color.red)
    label.set_yloc(a, yloc.abovebar)
    label.set_style(a, label.style_label_down)