Strategi Terobosan EMA Golden Cross Cepat dan Lambat

Penulis:ChaoZhang, Tanggal: 2023-12-01 18:02:24
Tag:

img

Gambaran umum

Strategi EMA golden cross breakthrough yang cepat dan lambat adalah strategi sederhana dan efektif untuk melacak tren pasar. Ini menggunakan silang EMA dari siklus yang berbeda untuk menghasilkan sinyal beli dan jual. Ide dasarnya adalah: ketika EMA siklus pendek melintasi di atas EMA siklus yang lebih lama, sinyal beli dihasilkan; ketika EMA siklus pendek melintasi di bawah EMA siklus yang lebih lama, sinyal jual dihasilkan.

Prinsip Strategi

Strategi ini terutama didasarkan pada perbandingan EMA 5-siklus, 8-siklus dan 13-siklus untuk menghasilkan sinyal perdagangan.

  1. Menghitung EMA 5 siklus, EMA 8 siklus dan EMA 13 siklus.
  2. Ketika EMA 5-siklus melintasi di atas EMA 8-siklus dan 13-siklus, sinyal beli dihasilkan.
  3. Ketika EMA 5-siklus melintasi di bawah EMA 8-siklus dan 13-siklus, sinyal jual dihasilkan.
  4. Pada saat yang sama, menggabungkan indikator ADX untuk menentukan kekuatan tren, hanya ketika tren cukup kuat untuk menghasilkan sinyal.

Ini mewujudkan efek dari melacak tren jangka menengah dan jangka panjang. Ketika rata-rata bergerak siklus pendek melintasi di atas rata-rata bergerak siklus panjang, itu berarti bahwa tren jangka pendek telah berubah naik dan dapat dibeli; ketika rata-rata bergerak siklus pendek melintasi di bawah rata-rata bergerak siklus panjang, itu berarti bahwa tren jangka pendek telah berubah menurun dan harus dijual.

Analisis Keuntungan

Keuntungan utama dari strategi ini adalah:

  1. Operasi sederhana, mudah diterapkan.
  2. Menggunakan sepenuhnya efek smoothing dari EMA untuk melacak tren secara efektif.
  3. Beberapa kombinasi EMA menerapkan crossover untuk menghindari sinyal palsu.
  4. Dikombinasikan dengan indikator ADX, sinyalnya lebih dapat diandalkan.
  5. Pemakaian yang relatif rendah dan penurunan maksimum.

Analisis Risiko

Ada juga beberapa risiko dalam strategi ini:

  1. Stop loss dapat lebih besar ketika tren berbalik tajam.
  2. Frekuensi perdagangan yang tinggi dapat meningkatkan biaya transaksi. Parameter EMA dapat disesuaikan dengan tepat untuk mengurangi frekuensi perdagangan.

Arah Optimalisasi

Strategi dapat dioptimalkan dalam aspek berikut:

  1. Mengoptimalkan parameter EMA untuk menemukan kombinasi parameter terbaik.
  2. Tambahkan indikator lain untuk penyaringan, seperti KDJ, BOLL, dll, untuk meningkatkan kualitas sinyal.
  3. Sesuaikan manajemen posisi untuk mengoptimalkan kontrol risiko.
  4. Gunakan metode pembelajaran mesin untuk menemukan aturan masuk dan keluar yang lebih baik.

Ringkasan

Singkatnya, operasi strategi EMA golden cross breakthrough yang cepat dan lambat lancar, sinyalnya lebih dapat diandalkan, penarikan tidak tinggi, dan cocok untuk melacak tren jangka menengah dan panjang. Hasil strategi yang lebih baik dapat diperoleh melalui optimasi parameter dan peraturan yang ditingkatkan.


/*backtest
start: 2023-11-23 00:00:00
end: 2023-11-30 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// 
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © gregoirejohnb
// @It is modified by ttsaadet.
// Moving average crossover systems measure drift in the market. They are great strategies for time-limited people.
// So, why don't more people use them?
// 

//
strategy(title="EMA Crossover Strategy by TTS", shorttitle="EMA-5-8-13 COS by TTS", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, currency=currency.TRY,commission_type=strategy.commission.percent,commission_value=0.04, process_orders_on_close = true, initial_capital = 100000)

// === GENERAL INPUTS ===
//strategy start date
start_year = input(defval=2020, title="Backtest Start Year")

// === LOGIC ===
short_period = input(type=input.integer,defval=5,minval=1,title="Length")
mid_period = input(type=input.integer,defval=8,minval=1,title="Length")
long_period = input(type=input.integer,defval=13,minval=1,title="Length")
rsi_period = input(type=input.integer,defval=14,minval=1,title="Length")
longOnly = input(type=input.bool,defval=false,title="Long Only")
shortEma = ema(close,short_period)
midEma = ema(close,mid_period)
longEma = ema(close,long_period)

rsi = rsi(close, rsi_period)

[diplus, diminus, adx] = dmi(short_period, short_period)
plot(shortEma,linewidth=2,color=color.red,title="Fast")
plot(midEma,linewidth=2,color=color.orange,title="Fast")
plot(longEma,linewidth=2,color=color.blue,title="Slow")

longEntry = crossover(shortEma,midEma) and crossover(shortEma,longEma) //or ((shortEma > longEma) and crossover(shortEma,midEma)))and (adx > 25)
shortEntry =((shortEma < midEma) and crossunder(shortEma,longEma)) or ((shortEma < longEma) and crossunder(shortEma,midEma))

plotshape(longEntry ? close : na,style=shape.triangleup,color=color.green,location=location.belowbar,size=size.small,title="Long Triangle")
plotshape(shortEntry and not longOnly ? close : na,style=shape.triangledown,color=color.red,location=location.abovebar,size=size.small,title="Short Triangle")
plotshape(shortEntry and longOnly ? close : na,style=shape.xcross,color=color.black,location=location.abovebar,size=size.small,title="Exit Sign")

// === STRATEGY - LONG POSITION EXECUTION ===
enterLong() =>
    longEntry and 
       time > timestamp(start_year, 1, 1, 01, 01)
exitLong() =>
    crossunder(shortEma,longEma) or crossunder(close, longEma)

strategy.entry(id="Long", long=strategy.long, when=enterLong())
strategy.close(id="Long", when=exitLong())


// === STRATEGY - SHORT POSITION EXECUTION ===

enterShort() =>
    not longOnly and shortEntry and 
       time > timestamp(start_year, 1, 1, 01, 01)
exitShort() =>
    crossover(shortEma,longEma)

strategy.entry(id="Short", long=strategy.short, when=enterShort())
strategy.close(id="Short", when=exitShort())

Lebih banyak