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.
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.
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.
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.
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.
Strategi ini juga dapat dioptimalkan dalam aspek berikut:
Gunakan lebih banyak indikator untuk menentukan waktu masuk, seperti MACD, KD dll, hindari terjebak di pasar yang tidak stabil.
Coba pindah mengambil keuntungan, atau rasio keuntungan mengambil metode keuntungan, untuk membuat mengambil metode keuntungan lebih fleksibel.
Menambahkan mekanisme pengiringan ke bawah untuk metode stop loss, memungkinkan pelacakan titik-titik yang lebih rendah lagi ketika harga turun lagi, sehingga mengendalikan risiko.
Sesuaikan parameter periode EMA berdasarkan karakteristik produk yang berbeda, mengoptimalkan penilaian tren.
Tambahkan modul ukuran posisi, dapat menyesuaikan per ukuran perdagangan berdasarkan rasio penggunaan dana.
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)