Strategi Penutupan Lilin EMA

Penulis:ChaoZhang, Tanggal: 2024-01-29 16:02:08
Tag:

img

Gambaran umum

Strategi ini menghasilkan sinyal perdagangan berdasarkan golden cross dan dead cross dari moving average. Ini menggabungkan tiga moving average dengan pengaturan parameter yang berbeda - jangka pendek, jangka menengah dan jangka panjang. Dengan membandingkan hubungan tinggi antara ketiga MA ini, ia menentukan keadaan bullish / bearish pasar dan menghasilkan sinyal perdagangan.

Prinsip Strategi

Strategi ini menetapkan tiga garis rata-rata bergerak, yaitu rata-rata bergerak sederhana jangka pendek, rata-rata bergerak tertimbang jangka menengah dan rata-rata bergerak eksponensial jangka panjang. Secara khusus, ia menetapkan SMA 1 periode, WMA 20 periode dan EMA 25 periode.

Ketika garis SMA jangka pendek melintasi garis WMA jangka menengah ke atas dan harga penutupan juga lebih tinggi dari garis WMA, itu menunjukkan pasar sedang berbalik ke atas dan membentuk sinyal bullish. Ketika SMA jangka pendek melintasi di bawah WMA jangka menengah atau harga penutupan lebih rendah dari WMA, itu memberikan sinyal bearish. Oleh karena itu, strategi ini menilai keadaan bullish / bearish pasar dengan membandingkan ketinggian dan crossover di antara tiga MAs.

Analisis Keuntungan

Strategi ini menggabungkan tiga MAs jangka pendek, menengah dan panjang, yang dapat bereaksi terhadap perubahan pasar dalam siklus yang berbeda dan meningkatkan akurasi penangkapan tren. Terutama, WMA jangka menengah memiliki efek yang lebih baik untuk menyaring kebisingan pasar dan menghindari sinyal yang salah secara efektif. Selain itu, strategi hanya mengirim sinyal panjang ketika sinyal bullish SMA dan harga penutupan mencapai konsistensi yang tinggi, yang mencegah whipsaws dan memastikan setiap entri efisien.

Analisis Risiko

Strategi ini memiliki risiko sinyal yang salah. Ketika SMA jangka pendek menghasilkan sinyal yang salah, kerugian yang tidak perlu dapat disebabkan karena ketergantungan ketat strategi pada garis SMA. Juga, strategi ini sensitif terhadap parameter. Ketika parameter ditetapkan dengan tidak benar di bawah pasar yang terikat rentang, banyak perdagangan yang salah dapat dipicu.

Untuk mencegah risiko seperti itu, disarankan untuk menyesuaikan panjang MA, melonggarkan kondisi perdagangan dengan benar dan mengatur stop loss untuk membatasi kerugian tunggal.

Arahan Optimasi

Strategi dapat dioptimalkan dari aspek berikut:

  1. Menggabungkan lebih banyak jenis MAs seperti KC untuk membentuk portofolio indikator untuk meningkatkan akurasi

  2. Tambahkan faktor volume seperti breakout dengan volume tinggi

  3. Menggabungkan indikator volatilitas untuk menghindari kegagalan di pasar yang bergolak

  4. Menggunakan pembelajaran mesin untuk melatih dan mengoptimalkan parameter

Kesimpulan

Strategi ini menentukan status bullish/bearish pasar berdasarkan hubungan crossover dan tinggi antara tiga MA dan harga penutupan. Dengan menggabungkan MA dari istilah yang berbeda, ia dapat secara efektif menemukan tren dan sinyalnya berkualitas tinggi. Dengan penyesuaian parameter yang tepat dan pengenalan lebih banyak indikator tambahan, strategi dapat ditingkatkan lebih lanjut dalam pertentangan dan stabilitas.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA Candle Close Strategy KHANH 11/11/2023", overlay=true, initial_capital=100, commission_type=strategy.commission.percent, commission_value=0.0000005, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

len1 = input.int(1, title="SMA #1 Length", minval=1)
src1 = input(close, title="SMA Source #1")
out1 = ta.sma(src1, len1)
plot(out1, title="SMA #1", color=close >= out1 ? color.rgb(120, 123, 134, 100) : color.rgb(120, 123, 134, 100), linewidth=1)

len2 = input.int(20, title="HMA #2 Length", minval=1)
src2 = input(close, title="HMA Source #2")
out2 = ta.hma(src2, len2)
plot(out2, title="HMA #2", color=close >= out2 ? color.rgb(253, 255, 254, 100) : color.rgb(255, 255, 255, 100), linewidth=1)

len3 = input.int(25, title="EMA #3 Length", minval=1)
src3 = input(close, title="EMA Source #3")
out3 = ta.ema(src3, len3)
plot(out3, title="EMA #3", color=close >= out3 ? color.blue : color.blue, linewidth=1)

// Define the long condition
longCondition = (out1 > out2 and close > out2)

// Define the short condition
shortCondition = (out1 < out2 or close < out2)

// Entry conditions
if (longCondition)
    strategy.entry("Long",strategy.long)
else if (shortCondition)
    strategy.entry("Short", strategy.short)

// Trade channel plot
PeriodLookBack = input(55, title="Period Look Back")
xHighest55 = request.security(syminfo.tickerid, timeframe.period, ta.highest(PeriodLookBack))
xLowest55 = request.security(syminfo.tickerid, timeframe.period, ta.lowest(PeriodLookBack))
plot(xHighest55[1], color=color.red, title="HH")
plot(xLowest55[1], color=color.green, title="LL")



//@version=5
//indicator("Custom Moving Averages", shorttitle="CMA", overlay=true)

shortLength = input(defval=40, title="Short Length")
longLength = input(defval=80, title="Long Length")

// Sử dụng khung thời gian của biểu đồ đang sử dụng thay vì cố định là "D"
shortTopBorder = request.security(syminfo.tickerid, timeframe.period, ta.highest(high, shortLength))
shortBottomBorder = request.security(syminfo.tickerid, timeframe.period, ta.lowest(low, shortLength))

longTopBorder = request.security(syminfo.tickerid, timeframe.period, ta.highest(high, longLength))
longBottomBorder = request.security(syminfo.tickerid, timeframe.period, ta.lowest(low, longLength))

shortAverageLine = (shortTopBorder + shortBottomBorder) / 2
longAverageLine = (longTopBorder + longBottomBorder) / 2

plot(shortAverageLine, color=color.new(#fc0000, 0))
plot(longAverageLine, color=color.new(#01ff27, 0))


Lebih banyak