Tren EMA Triple Mengikuti Strategi

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

img

Gambaran umum

Triple EMA Trend Following Strategy adalah strategi yang sangat cocok untuk mengikuti tren pasar.

Keuntungan dari strategi ini adalah bahwa ia dapat mengurangi sinyal palsu dan memastikan kekuatan tren yang cukup sebelum memasuki posisi. Pada saat yang sama, ia memiliki sistem stop loss adaptif yang dapat menelusuri stop berdasarkan volatilitas pasar, sehingga mencapai manajemen risiko yang lebih baik.

Logika Strategi

Logika entri

Strategi ini menggunakan EMA 7-, 14 dan 21 periode sebagai indikator sinyal masuk. Logika spesifiknya adalah ketika harga melintasi di atas ketiga EMA pada saat yang sama, pergi panjang; ketika harga melintasi di bawah ketiga EMA pada saat yang sama, pergi pendek.

Desain ini dapat mengurangi sinyal palsu dan memastikan tren yang cukup jelas sebelum memasuki. juga, tiga periode EMA ditetapkan dengan tepat untuk menangkap tren pasar secara tepat waktu.

Metode Stop Loss

Strategi ini menggunakan sistem stop loss adaptif berdasarkan ATR dan penarikan maksimum. Ini menghitung volatilitas harga secara real time dan menetapkan garis stop loss sesuai dengan itu. Secara khusus, ini menghitung kelipatan tertentu dari ATR sebagai zona penyangga stop loss.

Selama tren naik, garis stop loss akan bergerak ke atas dengan level tertinggi baru, dengan efek mengejar yang baik. Ketika harga jatuh kembali ke titik terendah dari zona penyangga, garis stop loss akan dipicu untuk menutup posisi. Ini dapat mengendalikan risiko stop loss sesuai dengan kondisi pasar.

Metode Mengambil Keuntungan

Strategi ini menggunakan metode mengambil keuntungan persentase tetap. Setelah membuka posisi, garis mengambil keuntungan akan ditetapkan pada persentase tertentu di atas harga masuk. Ketika harga naik ke garis mengambil keuntungan, posisi akan ditutup untuk mengambil keuntungan.

Manfaat dari persentase profit take ini adalah bahwa hal ini memungkinkan untuk menetapkan target profit level yang akan memenuhi exit once reached. Hal ini juga menghindari risiko harga jatuh kembali.

Analisis Keuntungan

  • Dapat mengurangi sinyal palsu dan memastikan tren harga yang relatif kuat setelah membuka posisi
  • Menggunakan tumpang tindih periode EMA untuk dengan cepat menangkap tren pasar
  • Sistem stop loss adaptif dapat mengendalikan risiko berdasarkan volatilitas
  • Persentase keuntungan tetap memenuhi target keuntungan sebelum keluar
  • Metode stop loss berdasarkan ATR dan drawdown maksimum dapat dioptimalkan berdasarkan kondisi pasar
  • Mudah untuk menyesuaikan gaya strategi dengan mengubah parameter

Analisis Risiko

  • Di pasar yang bervariasi, EMA dapat menghasilkan persilangan yang sering, dengan mudah terjebak
  • Fixed take profit tidak dapat disesuaikan berdasarkan kondisi pasar, dapat kehilangan keuntungan yang lebih besar atau meningkatkan kerugian
  • Setelah berhenti melacak stop loss, tidak dapat melacak tertinggi baru lagi, penurunan harga dapat meningkatkan kerugian
  • Dalam tren eksplosif satu sisi, persentase fixed take profit mungkin terlalu konservatif, gagal mendapatkan keuntungan yang cukup

Dapat menghindari membuka posisi secara membabi buta di pasar yang tidak stabil dengan menggabungkan dengan indikator penilaian tren; juga dapat menggunakan metode bergerak mengambil keuntungan atau rasio keuntungan untuk membuat metode mengambil keuntungan lebih fleksibel.

Arahan Optimasi

Strategi ini juga dapat dioptimalkan dalam aspek berikut:

  1. Gunakan lebih banyak indikator untuk menentukan waktu masuk, seperti MACD, KD dll, hindari terjebak di pasar yang tidak stabil.

  2. Coba pindah mengambil keuntungan, atau rasio keuntungan mengambil metode keuntungan, untuk membuat mengambil metode keuntungan lebih fleksibel.

  3. Menambahkan mekanisme pengiringan ke bawah untuk metode stop loss, memungkinkan pelacakan titik-titik yang lebih rendah lagi ketika harga turun lagi, sehingga mengendalikan risiko.

  4. Sesuaikan parameter periode EMA berdasarkan karakteristik produk yang berbeda, mengoptimalkan penilaian tren.

  5. Tambahkan modul ukuran posisi, dapat menyesuaikan per ukuran perdagangan berdasarkan rasio penggunaan dana.

Kesimpulan

Triple EMA Trend Following Strategy adalah strategi trend following yang sangat praktis. Strategi ini memiliki kemampuan penilaian tren yang kuat, sementara juga memiliki mekanisme profit take dan stop loss adaptif yang dapat mengelola order secara otomatis. Dari perspektif optimasi, sistem take profit dan stop loss dapat ditingkatkan lebih lanjut untuk menyesuaikan berdasarkan kondisi pasar real-time.


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