Strategi ini masuk melalui isyarat persilangan HMA rata-rata dan garisan hari, dan menetapkan logik stop loss untuk menguruskan kedudukan. Strategi ini menggabungkan pelbagai indikator tempoh masa, yang sesuai untuk perdagangan trend garis panjang dan tengah.
Strategi ini menilai isyarat dagangan berdasarkan petunjuk dan peraturan berikut:
HMA Rata-rata: Mengira purata bergerak Hull harga untuk menentukan arah trend garis tengah dan panjang.
Harga penutupan garisan hari: menilai pergerakan harga kitaran yang lebih pendek.
Isyarat masuk: HMA di atas harga penutupan semalam, dan harga kitaran pendek lebih tinggi daripada harga hari sebelumnya dianggap sebagai sinyal lebih banyak; sebaliknya, ia adalah kosong.
Stop loss: menetapkan titik stop loss yang tetap, apabila harga menyentuh harga stop loss atau stop loss maka ia akan ditutup.
Parameter kelancaran HMA boleh laras, beradaptasi kuat.
Mengambil kira tempoh masa yang berbeza untuk meningkatkan kualiti isyarat.
Tetapkan logik stop loss untuk mengawal risiko.
Peraturan kemasukan yang jelas dan strategi pengurusan kedudukan.
Parameter pengesanan boleh dioptimumkan untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.
HMA yang ketinggalan zaman mungkin terlepas masa yang terbaik untuk masuk.
Parameter Henti Kerosakan Tetap mungkin terlalu radikal atau konservatif.
Tidak mempunyai trend yang kuat atau lemah, anda boleh membuat keputusan sebaliknya.
Peraturan perdagangan yang mudah mudah menghasilkan isyarat palsu.
Langkah-langkah berikut boleh dipertimbangkan untuk mengurangkan risiko:
Optimumkan parameter HMA untuk mengimbangi ketinggalan.
Tetapkan tracker stop loss dan sesuaikan kedudukan stop loss dalam masa nyata.
Menambah Indikator Harga Kuantiti Mencari Trend Kuat.
Tambah isyarat perdagangan yang disahkan oleh penunjuk seperti MACD.
Strategi ini boleh dioptimumkan:
Mengoptimumkan parameter HMA untuk mencari kombinasi parameter terbaik.
Menambah indikator trend kuat dan lemah, mengelakkan dagangan berlawanan arah.
Menggunakan penangguhan kerosakan dinamik, dan bukannya penangguhan tetap.
Memperkenalkan algoritma pembelajaran mesin untuk mengoptimumkan parameter secara automatik menggunakan data besar.
Tambah fungsi penyampaian analog untuk menguji prestasi cakera.
Strategi ini mempunyai konsep yang jelas, tetapi masih terdapat ruang untuk pengoptimuman. Penambahan indikator penghakiman trend, hentian dinamik dan sebagainya dapat meningkatkan kestabilan strategi. Secara keseluruhan, kerangka strategi adalah munasabah dan membantu memahami trend garis tengah dan panjang.
/*backtest
start: 2023-08-22 00:00:00
end: 2023-09-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// created by SeaSide420 Enters on crossovers, exits Basket when profit $ = TP
// strategy(title="HMA & D1 crossover", overlay=true, currency="BTC", initial_capital=1, default_qty_type=strategy.percent_of_equity, default_qty_value=1, commission_type=strategy.commission.percent,commission_value=0.25,slippage=1)
SL=input(defval=-0.05,title="StopLoss $",type=input.float,step=0.01, maxval=-0.01)
TP=input(defval=0.05,title="TargetPoint $",type=input.float,step=0.01, minval=0.01)
price=input(title="Source",type=input.source,defval=open)
Period=input(14, minval=1)
hma = wma(2*wma(price, Period/2)-wma(price, Period), round(sqrt(Period)))
s1=security(syminfo.tickerid, timeframe.period, price, barmerge.gaps_off, barmerge.lookahead_off)
s2=security(syminfo.tickerid, "D", price, barmerge.gaps_off, barmerge.lookahead_off)
cp=s2<price?color.lime:color.red
cp1=plot((s2),color=color.black,title="DailyCandle1",linewidth=2,transp=0)
cp2=plot((s2[1]),color=color.black,title="DailyCandle2",linewidth=2,transp=0)
cp3=plot(hma,title="HMA",color=color.black)
fill(cp1,cp2,color=cp,transp=1)
fill(cp1,cp3,color=cp,transp=75)
closeall=strategy.openprofit<SL or strategy.openprofit>TP
if closeall
strategy.close_all(comment = "Close All")
if (hma>hma[1] and s1>s2 and s2[1]>s2[2] and s1>s2[1])
strategy.order("Buy", strategy.long)
if (hma<hma[1] and s1<s2 and s2[1]<s2[2] and s1<s2[1])
strategy.order("Sell", strategy.short)