Triple EMA Trend Mengikuti Strategi


Tarikh penciptaan: 2023-12-20 15:00:44 Akhirnya diubah suai: 2023-12-20 15:00:44
Salin: 0 Bilangan klik: 800
1
fokus pada
1621
Pengikut

Triple EMA Trend Mengikuti Strategi

Gambaran keseluruhan

Triple EMA Trend Tracking Strategi adalah strategi yang sangat sesuai untuk mengesan trend pasaran. Ia menggunakan tiga EMA yang berbeza sebagai isyarat binaan kedudukan, untuk membina kedudukan overhead atau kosong apabila terdapat pengesahan trend yang mencukupi.

Kelebihan strategi ini adalah bahawa ia dapat mengurangkan isyarat palsu dan memastikan bahawa trend masuk setelah cukup kekuatan. Pada masa yang sama, ia dilengkapi dengan sistem hentian kerugian yang dapat mengikuti hentian kerugian mengikut turun naik pasaran, sehingga mencapai kesan pengurusan risiko yang lebih baik.

Prinsip Strategi

Logik penempatan

Strategi ini menggunakan tiga EMA kitaran 7, 14 dan 21 sebagai penunjuk isyarat binaan. Logiknya ialah, apabila harga menembusi tiga EMA pada masa yang sama, buat lebih banyak; apabila harga menembusi tiga EMA pada masa yang sama, buat lebih sedikit.

Reka bentuk seperti ini dapat mengurangkan isyarat palsu dan memastikan bahawa trend cukup jelas dan kemudian masuk. Pada masa yang sama, tiga kitaran EMA yang diset dengan betul dapat menangkap perkembangan trend pasaran tepat pada masanya.

Cara untuk menghentikan kerugian

Strategi ini menggunakan sistem penangguhan yang beradaptasi berdasarkan ATR dan penarikan balik maksimum. Ia akan mengira kadar turun naik harga dalam masa nyata dan menetapkan garis penangguhan berdasarkan itu. Secara khusus, ia akan mengira beberapa kali ganda ATR sebagai kawasan penangguhan.

Dalam proses kenaikan, garis berhenti akan bergerak ke atas dengan ketinggian baru, dengan kesan pengesanan yang lebih baik. Apabila harga kembali ke titik rendah zon penangguhan, garis berhenti akan diaktifkan, dan berhenti berhenti. Ini dapat mengawal risiko berhenti bergantung pada keadaan pasaran tertentu.

Cara untuk mendapatkan keuntungan

Strategi ini menggunakan kaedah penutupan peratusan tetap. Setelah membuka kedudukan, garis penutupan akan ditetapkan pada peratusan tertentu dari harga masuk. Apabila harga mencapai garis penutupan, ia akan mengambil keuntungan dari kedudukan yang bersih.

Keuntungan dari stop-loss yang tetap ini ialah anda boleh menetapkan keuntungan sasaran dan keluar apabila ia dicapai. Anda juga boleh mengelakkan risiko harga jatuh kembali.

Analisis kelebihan

  • Untuk mengurangkan isyarat palsu, pastikan terdapat trend harga yang kuat selepas penempatan
  • Menggunakan EMA Cycle Overlay untuk menangkap trend pasaran dengan cepat
  • Sistem penangguhan kerugian yang beradaptasi, boleh mengawal risiko mengikut kadar turun naik
  • Rasio penangguhan tetap, keluar selepas mencapai sasaran keuntungan
  • Stop loss berdasarkan ATR dan pengiraan maksimum pulangan balik yang boleh dioptimumkan mengikut keadaan pasaran
  • Mudah untuk menyesuaikan gaya dasar dengan menukar parameter

Analisis risiko

  • Dalam keadaan gegaran, EMA boleh menghasilkan persilangan yang kerap dan mudah disumbat
  • Hentian tetap tidak dapat disesuaikan dengan keadaan pasaran, mungkin kehilangan lebih banyak keuntungan atau meningkatkan kerugian
  • Selepas berhenti menjejaki hentian, tidak dapat menjejaki titik yang lebih tinggi lagi, harga yang jatuh sekali lagi boleh meningkatkan kerugian
  • Rasio penangguhan tetap mungkin terlalu konservatif dan gagal untuk mendapatkan keuntungan yang mencukupi dalam situasi terobosan unilateral

Ia boleh digunakan untuk menentukan trend dengan menggunakan indikator untuk mengelakkan kedudukan buta dalam keadaan gegaran. Ia juga boleh digunakan untuk membuat penutupan bergerak atau stop loss yang lebih fleksibel. Secara keseluruhan, ia masih memerlukan penilaian buatan untuk menggunakan strategi.

Arah pengoptimuman

Strategi ini juga boleh dioptimumkan dalam beberapa aspek:

  1. Menggunakan lebih banyak penunjuk untuk menentukan masa masuk, seperti MACD, KD, dan lain-lain, untuk mengelakkan terjebak dalam keadaan gegaran.

  2. Cubalah menggerakkan penghalang, atau gunakan cara yang lebih fleksibel untuk menghalang.

  3. Menambah mekanisme pengesanan ke bawah dalam mod hentian, dapat mengesan titik rendah lagi jika harga turun lagi, sehingga mengawal risiko.

  4. Sesuai dengan ciri-ciri pelbagai jenis, menyesuaikan parameter kitaran EMA, mengoptimumkan penghakiman trend.

  5. Tambah modul pengurusan kedudukan, anda boleh menyesuaikan kedudukan tunggal mengikut peratusan penggunaan dana.

ringkaskan

Strategi pengesanan trend EMA bertiga adalah strategi pengesanan trend yang sangat praktikal. Ia mempunyai kebolehan menilai trend yang kuat, dengan mekanisme penghentian dan kerugian yang dapat disesuaikan, yang dapat menguruskan pesanan secara automatik. Dari sudut pengoptimuman, sistem penghentian dan kerugian dapat disempurnakan lagi, yang membolehkan ia disesuaikan dengan keadaan pasaran masa nyata.

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