Strategi HULL Moving Average adalah strategi perdagangan berdasarkan indikator HULL Moving Average yang diciptakan oleh Alan HULL. Strategi ini menggunakan dua HULL Moving Average, satu garis panjang dan satu garis pendek, untuk menilai waktu untuk membeli dan menjual. HULL Moving Average adalah rata-rata bergerak yang ditingkatkan untuk mengurangi lag dengan membebani harga rata-rata.
Rumus HULL Moving Average 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 antaranya, PDL mewakili periode panjang dan PDS mewakili periode pendek. Strategi menilai kondisi pembelian dan penjualan dengan membandingkan nilai garis pendek dan garis panjang.
Strategi HULL Moving Average adalah strategi perdagangan yang didasarkan pada HULL Moving Average untuk menilai waktu pembelian dan penjualan dengan membandingkan garis pendek dan garis panjang. Strategi ini memiliki kelebihan mengurangi keterbelakangan, mudah dipahami, dan sangat disesuaikan, tetapi juga memiliki risiko guncangan, slippage, dan keterlambatan pasar, serta ketergantungan pada satu indikator. Dalam aplikasi praktis, strategi dapat disesuaikan dan dioptimalkan sesuai dengan situasi, dikombinasikan dengan indikator teknis lainnya dan metode manajemen risiko, untuk meningkatkan keberhasilan dan profitabilitas perdagangan.
/*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)