Strategi Penembusan EMA Golden Cross Cepat dan Lambat

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

img

Ringkasan

Strategi EMA golden cross breakthrough yang cepat dan perlahan adalah strategi yang mudah dan berkesan untuk mengesan trend pasaran. Ia menggunakan persilangan EMA dari kitaran yang berbeza untuk menjana isyarat beli dan jual. Idea asasnya adalah: apabila EMA kitaran pendek melintasi di atas EMA kitaran yang lebih lama, isyarat beli dihasilkan; apabila EMA kitaran pendek melintasi di bawah EMA kitaran yang lebih lama, isyarat jual dihasilkan.

Prinsip Strategi

Strategi ini terutamanya bergantung pada perbandingan EMA 5-siklus, 8-siklus dan 13-siklus untuk menjana isyarat perdagangan.

  1. Mengira EMA 5-siklus, EMA 8-siklus dan EMA 13-siklus.
  2. Apabila EMA 5-siklus menyeberangi di atas EMA 8-siklus dan 13-siklus, isyarat beli dihasilkan.
  3. Apabila EMA 5-siklus melintasi di bawah EMA 8-siklus dan 13-siklus, isyarat jual dihasilkan.
  4. Pada masa yang sama, menggabungkan penunjuk ADX untuk menentukan kekuatan trend, hanya apabila trend cukup kuat untuk menghasilkan isyarat.

Ini merealisasikan kesan mengesan trend jangka sederhana dan jangka panjang. Apabila purata bergerak kitaran pendek melintasi di atas purata bergerak kitaran panjang, ini bermakna bahawa trend jangka pendek telah menjadi bullish dan boleh dibeli; apabila purata bergerak kitaran pendek melintasi di bawah purata bergerak kitaran panjang, ini bermakna bahawa trend jangka pendek telah menjadi bearish dan harus dijual.

Analisis Kelebihan

Kelebihan utama strategi ini ialah:

  1. Operasi mudah, mudah dilaksanakan.
  2. Menggunakan sepenuhnya kesan penyelarasan EMA untuk mengesan trend dengan berkesan.
  3. Pelbagai gabungan EMA melaksanakan persilangan untuk mengelakkan isyarat palsu.
  4. Digabungkan dengan penunjuk ADX, isyarat lebih boleh dipercayai.
  5. Pengeluaran yang agak rendah dan penurunan maksimum.

Analisis Risiko

Terdapat juga beberapa risiko dalam strategi ini:

  1. Stop loss mungkin lebih besar apabila trend berbalik tajam. Julat stop loss boleh santai dengan sewajarnya.
  2. Frekuensi perdagangan yang tinggi boleh meningkatkan kos transaksi. Parameter EMA boleh diselaraskan dengan sewajarnya untuk mengurangkan kekerapan perdagangan.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam aspek berikut:

  1. Mengoptimumkan parameter EMA untuk mencari kombinasi parameter terbaik.
  2. Tambah penunjuk lain untuk penapisan, seperti KDJ, BOLL, dll., untuk meningkatkan kualiti isyarat.
  3. Sesuaikan pengurusan kedudukan untuk mengoptimumkan kawalan risiko.
  4. Gunakan kaedah pembelajaran mesin untuk mencari peraturan kemasukan dan keluar yang lebih baik.

Ringkasan

Ringkasnya, operasi strategi EMA golden cross yang cepat dan perlahan adalah lancar, isyarat lebih boleh dipercayai, penarikan tidak tinggi, dan sesuai untuk mengesan trend jangka menengah dan panjang.


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