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.
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)