Strategi ini memasuki perdagangan berdasarkan garis HMA dan persilangan lilin harian dan menguruskan kedudukan menggunakan logik stop loss dan mengambil keuntungan.
Isyarat dan peraturan utama:
Garis HMA: Mengira purata bergerak Hull untuk menentukan trend jangka sederhana dan panjang.
Harga penutupan harian: Pengadil tindakan harga jangka pendek.
Isyarat kemasukan: HMA melintasi di atas penutupan harian sebelumnya, dengan harga lebih tinggi daripada harga hari sebelumnya untuk panjang. Kembali untuk pendek.
Stop loss/take profit: Tahap tetap untuk menutup kedudukan apabila dipukul.
Parameter HMA yang boleh diselaraskan untuk kebolehsesuaian.
Mengambil kira penunjuk jangka masa berbilang untuk isyarat berkualiti tinggi.
Stop loss/take profit memudahkan pengurusan risiko.
Peraturan kemasukan yang jelas dan pengurusan kedudukan.
Parameter backtest boleh dioptimumkan untuk pasaran yang berbeza.
HMA lag mungkin terlepas masa masuk terbaik.
Stop loss / mengambil keuntungan tetap mungkin terlalu agresif atau konservatif.
Kekurangan penapis kekuatan trend, risiko perdagangan kontra-trend.
Peraturan mudah yang cenderung kepada isyarat palsu.
Penambahbaikan:
Mengoptimumkan parameter HMA untuk lag.
Guna stop loss belakang dan bukannya tetap.
Tambah indikator jumlah atau momentum untuk menilai kekuatan trend.
Masukkan penunjuk lain seperti MACD untuk pengesahan isyarat.
Cara yang berpotensi untuk mengoptimumkan strategi:
Mengoptimumkan parameter HMA untuk combo ideal.
Tambah penapis kekuatan trend untuk mengelakkan trend lawan.
Gunakan hentian dinamik dan bukannya tahap tetap.
Menggabungkan pembelajaran mesin untuk pengoptimuman parameter automatik.
Tambah perdagangan simulasi untuk menguji prestasi dunia sebenar.
Logik strategi adalah jelas tetapi mempunyai ruang untuk penambahbaikan. Menambah penapis trend, berhenti dinamik boleh meningkatkan kestabilan. Secara keseluruhan menyediakan rangka kerja yang munasabah untuk menangkap trend jangka sederhana 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)