Strategi Pecahan Palang Emas EMA Pantas dan Lambat


Tarikh penciptaan: 2023-12-01 18:02:24 Akhirnya diubah suai: 2023-12-01 18:02:24
Salin: 0 Bilangan klik: 754
1
fokus pada
1621
Pengikut

Strategi Pecahan Palang Emas EMA Pantas dan Lambat

Gambaran keseluruhan

Strategi EMA Gold Cross Breakout adalah strategi yang mudah dan berkesan untuk mengesan trend pasaran. Ia menggunakan garis rata-rata EMA yang berbeza untuk melintasi silang, menghasilkan isyarat beli dan jual.

Prinsip Strategi

Strategi ini bergantung kepada perbandingan rata-rata EMA 5 kitaran, 8 kitaran dan 13 kitaran untuk menghasilkan isyarat perdagangan. Ia termasuk:

  1. Hitung EMA 5 kitaran, EMA 8 kitaran dan EMA 13 kitaran.
  2. Apabila 5 kitaran EMA memakai 8 kitaran dan 13 kitaran EMA, menghasilkan isyarat beli.
  3. Apabila 5 kitaran EMA melintasi 8 kitaran dan 13 kitaran EMA, menghasilkan isyarat menjual.
  4. Dalam kombinasi dengan indikator ADX untuk menilai kekuatan trend, isyarat hanya dihasilkan apabila trend cukup kuat.

Dengan cara ini, kesan trend garis panjang di tengah dapat dicapai. Apabila garis purata jangka pendek melintasi garis purata jangka panjang, menunjukkan trend jangka pendek bertukar menjadi lebih banyak, dan boleh dibeli; Apabila garis purata jangka pendek melintasi garis purata jangka panjang, menunjukkan trend jangka pendek bertukar menjadi kosong, dan harus dijual.

Analisis kelebihan

Strategi ini mempunyai kelebihan utama:

  1. Operasi mudah dan mudah dilaksanakan.
  2. Mengambil kesempatan daripada EMA untuk menghaluskan garis rata dan mengesan trend secara berkesan.
  3. Mengekalkan portfolio EMA berbilang kumpulan untuk mengelakkan isyarat palsu.
  4. Gabungan ADX menjadikan isyarat lebih dipercayai.
  5. Ia juga menunjukkan bahawa penarikan balik dan penurunan maksimum tidak begitu tinggi.

Analisis risiko

Strategi ini mempunyai beberapa risiko:

  1. Stop loss mungkin lebih besar apabila trend berbalik tajam.
  2. Frekuensi dagangan yang tinggi, mudah untuk menambah yuran dagangan. Anda boleh menyesuaikan parameter EMA dengan sewajarnya, mengurangkan frekuensi dagangan.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa arah:

  1. Mengoptimumkan parameter EMA untuk mencari kombinasi parameter terbaik.
  2. Menambah penapis penunjuk lain, seperti KDJ, BOLL, dan lain-lain untuk meningkatkan kualiti isyarat.
  3. Menyesuaikan pengurusan kedudukan dan mengoptimumkan kawalan risiko.
  4. Menggunakan kaedah pembelajaran mesin untuk mencari peraturan masuk dan keluar yang lebih baik.

ringkaskan

Secara keseluruhannya, strategi EMA Gold Cross Breakthrough berjalan lancar secara keseluruhan, isyaratnya lebih dipercayai, pengunduran tidak tinggi, sesuai untuk mengesan trend garis panjang tengah. Dengan pengoptimuman parameter dan penyempurnaan peraturan, anda boleh mendapatkan kesan strategi yang lebih baik.

Kod sumber strategi
/*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())