Strategi Rata-rata Gerak Double HULL

Penulis:ChaoZhang, Tanggal: 2023-09-15 16:39:48
Tag:

Ringkasan Strategi:

Double HULL Moving Average Strategy adalah strategi perdagangan berdasarkan indikator HULL Moving Average (HMA) yang dibuat oleh Alan HULL. Strategi ini menggunakan dua garis HMA, garis jangka panjang dan garis jangka pendek, untuk menentukan titik masuk dan keluar. HMA adalah rata-rata bergerak yang ditingkatkan yang mengurangi lag dengan menerapkan rata-rata tertimbang pada data harga.

Rumus perhitungan untuk HMA adalah sebagai berikut:

HmaL = wma(2 * wma(close, round(PDL/2)) - wma(close, PDL), round(sqrt(PDL)))
HmaS = wma(2 * wma(close, round(PDS/2)) - wma(close, PDS), round(sqrt(PDS)))

Di sini, PDL mewakili periode jangka panjang, dan PDS mewakili periode jangka pendek. Strategi membandingkan nilai garis jangka pendek dan jangka panjang untuk menentukan kondisi pembelian dan penjualan.

Keuntungan:

  1. Pengurangan keterlambatan: HMA memiliki keterlambatan yang lebih kecil dibandingkan dengan rata-rata bergerak tradisional, yang memungkinkannya untuk merespons lebih cepat perubahan tren harga dan memberikan sinyal yang lebih akurat untuk membeli dan menjual.
  2. Kesederhanaan: Strategi menggunakan dua garis rata-rata bergerak untuk analisis silang, membuatnya relatif mudah dipahami dan diterapkan.
  3. Kecocokan yang tinggi: Parameter periode strategi dapat disesuaikan berdasarkan pasar dan instrumen perdagangan tertentu, membuatnya lebih mudah beradaptasi dengan kondisi pasar yang berbeda.

Risiko:

  1. Volatilitas pasar: Selama periode volatilitas pasar, garis rata-rata bergerak dapat sering melintasi, menghasilkan sinyal yang sering yang dapat menghasilkan sinyal palsu dan menyebabkan perdagangan dan kerugian yang berlebihan.
  2. Slippage dan latency: Pelaksanaan strategi tunduk pada slippage dan latency, terutama dalam perdagangan frekuensi tinggi, yang dapat menyebabkan harga yang dilaksanakan menyimpang dari harga yang diharapkan dan mempengaruhi hasil perdagangan.
  3. Ketergantungan pada satu indikator: Strategi hanya mengandalkan indikator HMA tanpa memasukkan indikator teknis atau intelijen pasar lainnya, yang dapat membatasi kemampuannya untuk menangkap berbagai perubahan dan tren pasar.

Kesimpulan:

Double HULL Moving Average Strategy adalah strategi perdagangan yang didasarkan pada indikator HULL Moving Average. Strategi ini memanfaatkan penyeberangan garis HMA jangka pendek dan jangka panjang untuk menentukan titik masuk dan keluar. Strategi ini menawarkan keuntungan seperti mengurangi lag, kesederhanaan, dan kustomisasi yang tinggi. Namun, strategi ini juga membawa risiko yang terkait dengan volatilitas pasar, slippage dan latensi, dan ketergantungan pada satu indikator. Dalam aplikasi praktis, strategi dapat disesuaikan dan dioptimalkan berdasarkan keadaan tertentu, menggabungkan indikator teknis lainnya dan metode manajemen risiko untuk meningkatkan keberhasilan perdagangan dan profitabilitas.


/*backtest
start: 2023-09-07 00:00:00
end: 2023-09-14 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
// Credit Indicator from KIVANC
// author and idea: KIVANC @fr3762 on twitter
// creator: Alan HULL
// 
strategy("Double HULL Moving Average Strategy", overlay=true)
PDL=input(title="LongerPeriod", defval=21, minval=1,maxval=500)
PDS=input(title="ShorterPeriod",  defval=8, minval=1,maxval=500)

// === INPUT BACKTEST RANGE ===
FromYear  = input(defval = 2019, title = "From Year", minval = 2009)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2009)
ToMonth   = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 31, title = "To Day", minval = 1, maxval = 31)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"

HmaL=wma(2*wma(close,round(PDL/2))-wma(close,PDL),round(sqrt(PDL)))
HmaS=wma(2*wma(close,round(PDS/2))-wma(close,PDS),round(sqrt(PDS)))
plot(HmaL,color=red, linewidth=2)
plot(HmaS,color=blue, linewidth=2)

Buy = HmaS > HmaL
Sell = HmaS < HmaL

strategy.entry("Buy",true,when=window() and Buy)
strategy.close_all(when=window() and Sell)

Lebih banyak