
Strategi ini didasarkan pada indikator Hull Moving Average, menghitung Hull MA pada berbagai garis waktu, dan membandingkan pergerakan Hull MA pada garis waktu yang berbeda untuk menemukan perubahan tren. Generate sinyal beli ketika Hull MA berperiode pendek melewati Hull MA berperiode panjang; Generate sinyal jual ketika Hull MA berperiode pendek melewati Hull MA berperiode panjang.
Input parameter: Hull MA Periode, HMA2 Resolution 2, HMA3 Resolution 3
Hull MA HMA di garis K saat ini
Hull MA HMA2 dihitung pada waktu Resolution 2
Hull MA HMA3 dihitung pada Resolution3 timeline
Bandingkan hubungan ukuran HMA, HMA2, dan HMA3
Ketika HMA>HMA2>HMA3, menghasilkan sinyal beli
Ketika HMA < HMA2 < HMA3, menghasilkan sinyal jual
Hull MA nilai dan sinyal pada garis waktu yang berbeda ditampilkan di atas kiri antarmuka
Menggunakan warna untuk membedakan keadaan naik turun
Dengan menggunakan beberapa garis waktu, Anda dapat menyaring kebocoran palsu dan menghindari kebocoran.
Parameter timeline yang dapat disesuaikan untuk periode yang berbeda.
Sinyal yang ditampilkan secara real time, dan pengoperasian yang intuitif.
Untuk memvisualisasikan pergerakan Hull MA, dan membuat penilaian tren saat ini.
Pengaturan parameter yang tidak tepat dapat menyebabkan perdagangan yang terlalu sering.
Hull MA berperiode besar memiliki keterlambatan dan mungkin melewatkan titik balik tren.
Ini adalah strategi yang menghasilkan sinyal palsu ketika banteng bertukar menjadi beruang.
Strategi penembakan, mudah untuk dipalsukan untuk menerobos sel.
Biaya transaksi tidak dipertimbangkan, yang akan mempengaruhi pendapatan nyata.
Risiko dapat dikurangi dengan mengoptimalkan parameter, mengkombinasikan indikator lain sebagai filter, dan melebarkan garis penghentian yang tepat.
Mengoptimalkan parameter siklus Hull MA untuk menyesuaikan dengan siklus dan fluktuasi yang berbeda.
Meningkatkan penilaian indikator volume transaksi, menghindari terobosan palsu.
Menambahkan indikator getaran untuk menentukan intensitas tren.
Menambahkan model pembelajaran mesin untuk menentukan kapan harus membeli atau menjual.
Dengan menggunakan indikator sentimen, Anda dapat menemukan titik panas di pasar.
Adaptasi strategi stop loss, optimalisasi manajemen risiko.
Persyaratan pembelian dan penjualan yang disesuaikan, kombinasi sinyal indikator lainnya.
Meningkatkan strategi perdagangan berdasarkan saluran harga, band.
Strategi ini didasarkan pada indikator Hull MA yang membandingkan pergerakan rata-rata pada sumbu waktu yang berbeda, untuk menilai arah tren saat ini, dan menghasilkan sinyal beli dan jual ketika tren berbalik. Dibandingkan dengan garis rata-rata tunggal, Hull MA multi-sumbu waktu dapat secara efektif memfilter false breakout. Namun, strategi ini juga memiliki masalah seperti pengaturan parameter, penilaian tren. Dengan mengintegrasikan lebih banyak indikator, pengoptimalan pengaturan parameter, dan perbaikan strategi stop loss, strategi dapat meningkatkan profitabilitas dan mengendalikan risiko.
/*backtest
start: 2023-10-07 00:00:00
end: 2023-11-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//
strategy("wtfBUYorSELLffs",overlay=true,currency="USD",initial_capital=100000,default_qty_type=strategy.percent_of_equity,default_qty_value=100,commission_type=strategy.commission.percent,commission_value=0.1)
Period=input(title="Hull MA Period",type=input.integer,defval=6,minval=1)
Resolution2=input(title="HMA2 Resolution", type=input.resolution,defval="60")
Resolution3=input(title="HMA3 Resolution", type=input.resolution,defval="240")
Price=input(title="Source of Price",type=input.source,defval=open)
xOffset = input(40, title="Panel offset (X-Axis)")
yOffset = input(0, title="Panel offset (y-Axis)")
lightgray = #D3D3D3FF
pnlTextColor = color.silver
pnlColor = color.black
HMA = hma(Price,Period)
HMA2 = security(syminfo.tickerid, Resolution2, HMA,barmerge.gaps_off,barmerge.lookahead_off)
HMA3 = security(syminfo.tickerid, Resolution3, HMA,barmerge.gaps_off,barmerge.lookahead_off)
HUP = HMA > HMA[1]
H1UP = security(syminfo.tickerid, Resolution2, HUP,barmerge.gaps_off,barmerge.lookahead_off)
H2UP = security(syminfo.tickerid, Resolution3, HUP,barmerge.gaps_off,barmerge.lookahead_off)
int barSize = timeframe.isdaily ? timeframe.multiplier*86400000 :
timeframe.isseconds? timeframe.multiplier*1000 :
timeframe.isminutes? timeframe.multiplier*60000 : (time[0]-time[1])
int lapos_x = timenow + barSize*xOffset
float lapos_y = highest(20) + yOffset*syminfo.mintick * syminfo.pointvalue
f_draw_infopanel(_x, _y, _line, _text)=>
_rep_text = ""
for _l = 0 to _line
_rep_text := _rep_text + "\n"
_rep_text := _rep_text + _text
// var label _la = na
// label.delete(_la)
// _la := label.new(
// x=_x, y=_y,
// text=_rep_text, xloc=xloc.bar_time, yloc=yloc.price,
// color=pnlColor, style=label.style_labelup, textcolor=pnlTextColor, size=size.normal)
// f_draw_infopanel(lapos_x, lapos_y, 8, "╚═══════════════════════╝")
f_draw_infopanel(lapos_x, lapos_y, 6, "HMA3 on TF " + Resolution3 + " = " + tostring(HMA3,"#.####") + (H2UP ? " BUY" : " SELL"))
f_draw_infopanel(lapos_x, lapos_y, 4, "HMA2 on TF " + Resolution2 + " = " + tostring(HMA2,"#.####") + (H1UP ? " BUY" : " SELL"))
f_draw_infopanel(lapos_x, lapos_y, 2, "HMA1 on TF " + timeframe.period + " = " + tostring(HMA,"#.####") + (HUP ? " BUY" : " SELL"))
f_draw_infopanel(lapos_x, lapos_y, 0, "╔═════════ HMA(" + tostring(Period,"#") +") ════════╗")
change_color=HMA>HMA3?color.green:color.red
change_color2=HMA2>HMA3?color.lime:color.yellow
plot1=plot(HMA3,color=change_color2,title="3 Hull MA Line",linewidth=2,transp=75)
plot2=plot(HMA2,color=change_color,title="2 Hull MA Line",linewidth=2,transp=75)
plot3=plot(HMA,color=color.white,title="Hull MA Line",linewidth=2,transp=75)
fill(plot1,plot3,color=change_color,transp=90)
fill(plot2,plot3,color=change_color2,transp=75)
if (H2UP and H1UP and HUP)
strategy.entry("BUY",strategy.long)
if (not H2UP and not H1UP and not HUP)
strategy.entry("SELL",strategy.short)