Tren EMA Bertiga Mengikut Strategi

Penulis:ChaoZhang, Tarikh: 2023-12-20 15:00:44
Tag:

img

Ringkasan

Triple EMA Trend Following Strategy adalah strategi yang sangat sesuai untuk mengikuti trend pasaran. Ia menggunakan tiga EMA dari tempoh yang berbeza sebagai isyarat perdagangan untuk menubuhkan kedudukan panjang atau pendek apabila terdapat pengesahan trend yang mencukupi.

Kelebihan strategi ini ialah ia dapat mengurangkan isyarat palsu dan memastikan kekuatan trend yang mencukupi sebelum memasuki kedudukan. Pada masa yang sama, ia mempunyai sistem stop loss adaptif yang boleh menjejaki berhenti berdasarkan turun naik pasaran, dengan itu mencapai pengurusan risiko yang lebih baik.

Logika Strategi

Logika kemasukan

Strategi ini menggunakan EMA 7-, 14 dan 21 tempoh sebagai penunjuk isyarat kemasukan. Logik khusus adalah apabila harga melintasi di atas ketiga-tiga EMA pada masa yang sama, pergi panjang; apabila harga melintasi di bawah ketiga-tiga EMA pada masa yang sama, pergi pendek.

Reka bentuk ini dapat mengurangkan isyarat palsu dan memastikan trend cukup jelas sebelum memasuki.

Kaedah Stop Loss

Strategi ini menggunakan sistem stop loss adaptif berdasarkan ATR dan penarikan maksimum. Ia mengira turun naik harga dalam masa nyata dan menetapkan garis stop loss dengan sewajarnya. Khususnya, ia mengira kelipatan tertentu ATR sebagai zon penyangga stop loss.

Semasa trend menaik, garis stop loss akan bergerak ke atas dengan paras tertinggi baru, dengan kesan mengejar yang baik. Apabila harga jatuh kembali ke titik terendah zon penyangga, garis stop loss akan dicetuskan untuk menutup kedudukan. Ini dapat mengawal risiko stop loss mengikut keadaan pasaran.

Kaedah mengambil keuntungan

Strategi ini menggunakan kaedah mengambil keuntungan peratusan tetap. Selepas membuka kedudukan, garis mengambil keuntungan akan ditetapkan pada peratusan tertentu di atas harga kemasukan. Apabila harga meningkat ke baris mengambil keuntungan, kedudukan akan ditutup untuk mengambil keuntungan.

Manfaat peratusan mengambil keuntungan tetap ini adalah bahawa ia membolehkan menetapkan tahap keuntungan sasaran yang akan memenuhi keluar sekali dicapai. Ia juga mengelakkan risiko harga jatuh lagi. Peratusan mengambil keuntungan boleh diselaraskan mengikut keperluan.

Analisis Kelebihan

  • Boleh mengurangkan isyarat palsu dan memastikan trend harga yang agak kuat selepas membuka kedudukan
  • Menggunakan pemasangan tempoh EMA untuk cepat menangkap trend pasaran
  • Sistem stop loss adaptif boleh mengawal risiko berdasarkan turun naik
  • Peratusan keuntungan tetap memenuhi sasaran keuntungan sebelum keluar
  • Kaedah stop loss berdasarkan ATR dan drawdown maksimum boleh dioptimumkan berdasarkan keadaan pasaran
  • Mudah untuk menyesuaikan gaya strategi dengan menukar parameter

Analisis Risiko

  • Dalam pasaran yang berbeza, EMA boleh menghasilkan persilangan yang kerap, mudah terperangkap
  • Keuntungan tetap tidak boleh diselaraskan berdasarkan keadaan pasaran, mungkin kehilangan keuntungan yang lebih besar atau meningkatkan kerugian
  • Selepas berhenti menjejaki stop loss, tidak dapat menjejaki tinggi baru lagi, kejatuhan harga boleh meningkatkan kerugian
  • Dalam trend letupan satu sisi, peratusan keuntungan tetap mungkin terlalu konservatif, gagal mendapatkan keuntungan yang mencukupi

Dapat mengelakkan membuka kedudukan secara membabi buta di pasaran yang tidak menentu dengan menggabungkan dengan penunjuk penilaian trend; juga boleh menggunakan kaedah mengambil keuntungan atau nisbah keuntungan untuk membuat kaedah mengambil keuntungan lebih fleksibel.

Arahan pengoptimuman

Strategi ini juga boleh dioptimumkan dalam aspek berikut:

  1. Gunakan lebih banyak penunjuk untuk menentukan masa kemasukan, seperti MACD, KD dan lain-lain, mengelakkan terperangkap dalam pasaran yang tidak menentu.

  2. Cuba bergerak mengambil keuntungan, atau nisbah keuntungan mengambil keuntungan kaedah, untuk membuat mengambil keuntungan kaedah lebih fleksibel.

  3. Tambah mekanisme pengiring ke bawah untuk kaedah berhenti kerugian, yang membolehkan mengesan titik yang lebih rendah lagi apabila harga jatuh lagi, dengan itu mengawal risiko.

  4. Sesuaikan parameter tempoh EMA berdasarkan ciri-ciri produk yang berbeza, mengoptimumkan penilaian trend.

  5. Tambah modul saiz kedudukan, boleh menyesuaikan setiap saiz perdagangan berdasarkan nisbah penggunaan dana.

Kesimpulan

Triple EMA Trend Following Strategy adalah strategi trend berikut yang sangat praktikal. Ia mempunyai keupayaan penilaian trend yang kuat, sementara juga mempunyai mekanisme mengambil keuntungan dan menghentikan kerugian adaptif yang boleh menguruskan pesanan secara automatik. Dari perspektif pengoptimuman, sistem mengambil keuntungan dan menghentikan kerugian boleh ditingkatkan lagi untuk menyesuaikan berdasarkan keadaan pasaran masa nyata. Tetapi secara keseluruhan, strategi ini adalah pilihan risiko yang mudah dilaksanakan dan boleh dikawal.


/*backtest
start: 2023-01-01 00:00:00
end: 2023-06-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(shorttitle='Three EMAs Trend-following Strategy',title='Three EMAs Trend-following Strategy (by Coinrule)', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type=strategy.commission.percent, commission_value=0.1)


//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2020, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false       // create function "within window of time"

ema_1 = ema(close, input(7))
ema_2 = ema(close, input(12))
ema_3 = ema(close, input(21))

Take_profit= ((input (4))/100)

longTakeProfit = strategy.position_avg_price * (1 + Take_profit)


length = input(20, "Length", minval = 2)
src = input(close, "Source")
factor = input(3.0, "Multiplier", minval = 0.25, step = 0.25)
volStop(src, atrlen, atrfactor) =>
    var max     = src
    var min     = src
    var uptrend = true
    var stop    = 0.0
    atrM        = nz(atr(atrlen) * atrfactor, tr)
    max         := max(max, src)
    min         := min(min, src)
    stop        := nz(uptrend ? max(stop, max - atrM) : min(stop, min + atrM), src)
    uptrend     := src - stop >= 0.0
    if uptrend != nz(uptrend[1], true)
        max    := src
        min    := src
        stop   := uptrend ? max - atrM : min + atrM
    [stop, uptrend]

[vStop, uptrend] = volStop(src, length, factor)

go_long = crossover(close, ema_1) and crossover(close, ema_2) and crossover(close, ema_3)



closeLong = close > longTakeProfit or crossunder(close, vStop)



//Entry 
strategy.entry(id="long", long = true, when = go_long and window())



//Exit
strategy.close("long", when = closeLong and window())

plot(vStop,"Vstop", color.black, linewidth=2)
plot(ema_1,"EMA Short", color.green, linewidth=1)
plot(ema_2,"EMA Mid", color.purple, linewidth=1)
plot(ema_3,"EMA Long", color.red, linewidth=1)



Lebih lanjut