Strategi ini memasuki perdagangan berdasarkan garis HMA dan persilangan lilin harian dan mengelola posisi menggunakan logika stop loss dan take profit.
Sinyal dan aturan utama:
HMA line: Menghitung Hull Moving Average untuk menentukan tren jangka menengah dan panjang.
Harga penutupan harian: menilai tindakan harga jangka pendek.
Sinyal masuk: HMA melintasi di atas penutupan harian sebelumnya, dengan harga lebih tinggi dari harga hari sebelumnya untuk panjang. Kembali untuk pendek.
Stop loss/take profit: Tingkat tetap untuk menutup posisi saat hit.
Parameter HMA yang dapat disesuaikan untuk fleksibilitas.
Mempertimbangkan indikator multi-frame waktu untuk sinyal berkualitas lebih tinggi.
Stop loss/take profit memfasilitasi manajemen risiko.
Aturan masuk yang jelas dan manajemen posisi.
Parameter backtest dapat dioptimalkan untuk pasar yang berbeda.
HMA lag mungkin melewatkan waktu masuk terbaik.
Stop loss/take profit tetap mungkin terlalu agresif atau konservatif.
Kurangnya filter kekuatan tren, mempertaruhkan perdagangan kontra-tren.
Aturan sederhana cenderung sinyal palsu.
Peningkatan:
Optimalkan parameter HMA untuk lag.
Gunakan stop loss yang tertinggal daripada tetap.
Tambahkan indikator volume atau momentum untuk menilai kekuatan tren.
Masukkan indikator lain seperti MACD untuk konfirmasi sinyal.
Cara potensial untuk mengoptimalkan strategi:
Optimalkan parameter HMA untuk kombinasi ideal.
Tambahkan penyaring kekuatan tren untuk menghindari kontra-tren.
Gunakan berhenti dinamis alih-alih tingkat tetap.
Masukkan pembelajaran mesin untuk optimasi parameter otomatis.
Tambahkan perdagangan simulasi untuk menguji kinerja dunia nyata.
Logika strategi jelas tetapi memiliki ruang untuk perbaikan. Menambahkan filter tren, berhenti dinamis dapat meningkatkan stabilitas. Secara keseluruhan memberikan kerangka kerja yang wajar untuk menangkap tren jangka menengah 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)