Strategi purata bergerak double HULL

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

Ringkasan Strategi:

Strategi purata bergerak double HULL adalah strategi dagangan berdasarkan penunjuk purata bergerak HULL (HMA) yang dicipta oleh Alan HULL. Strategi ini menggunakan dua garis HMA, garis jangka panjang dan garis jangka pendek, untuk menentukan titik masuk dan keluar.

Formula pengiraan untuk HMA adalah seperti 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 tempoh jangka panjang, dan PDS mewakili tempoh jangka pendek. Strategi membandingkan nilai garis jangka pendek dan jangka panjang untuk menentukan syarat membeli dan menjual.

Kelebihan:

  1. Pengurangan kelewatan: HMA mempunyai kelewatan yang lebih rendah berbanding dengan purata bergerak tradisional, yang membolehkannya bertindak balas dengan lebih cepat terhadap perubahan dalam trend harga dan memberikan isyarat yang lebih tepat untuk membeli dan menjual.
  2. Kesederhanaan: Strategi menggunakan dua garis purata bergerak untuk analisis silang, menjadikannya agak mudah difahami dan dilaksanakan.
  3. Keupayaan yang tinggi: Parameter tempoh strategi boleh disesuaikan berdasarkan pasaran dan instrumen perdagangan tertentu, menjadikannya lebih mudah disesuaikan dengan keadaan pasaran yang berbeza.

Risiko:

  1. Volatiliti pasaran: Semasa tempoh turun naik pasaran, garis purata bergerak boleh menyeberang dengan kerap, mengakibatkan isyarat yang kerap yang boleh menghasilkan isyarat palsu dan membawa kepada perdagangan dan kerugian yang berlebihan.
  2. Pergeseran dan latensi: Pelaksanaan strategi tertakluk kepada pergeseran dan latensi, terutamanya dalam perdagangan frekuensi tinggi, yang boleh menyebabkan harga yang dilaksanakan menyimpang dari harga yang dijangkakan dan mempengaruhi hasil perdagangan.
  3. Ketergantungan pada satu penunjuk: Strategi hanya bergantung kepada penunjuk HMA tanpa menggabungkan penunjuk teknikal atau maklumat pasaran yang lain, yang boleh mengehadkan keupayaannya untuk menangkap pelbagai perubahan dan trend pasaran.

Kesimpulan:

Strategi purata bergerak double HULL adalah strategi dagangan berdasarkan penunjuk purata bergerak HULL. Ia menggunakan persilangan garis HMA jangka pendek dan jangka panjang untuk menentukan titik masuk dan keluar. Strategi ini menawarkan kelebihan seperti penurunan kelewatan, kesederhanaan, dan penyesuaian yang tinggi. Walau bagaimanapun, ia juga membawa risiko yang berkaitan dengan turun naik pasaran, slippage dan latensi, dan bergantung pada satu penunjuk. Dalam aplikasi praktikal, strategi boleh diselaraskan dan dioptimumkan berdasarkan keadaan tertentu, menggabungkan penunjuk teknikal lain dan kaedah pengurusan risiko untuk meningkatkan kejayaan perdagangan dan keuntungan.


/*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 lanjut