Strategi Dagangan Crossover HMA

Penulis:ChaoZhang, Tarikh: 2023-09-22
Tag:

Ringkasan

Strategi ini memasuki perdagangan berdasarkan garis HMA dan persilangan lilin harian dan menguruskan kedudukan menggunakan logik stop loss dan mengambil keuntungan.

Logika Strategi

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.

Kelebihan

  • 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.

Risiko

  • 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:

  1. Mengoptimumkan parameter HMA untuk lag.

  2. Guna stop loss belakang dan bukannya tetap.

  3. Tambah indikator jumlah atau momentum untuk menilai kekuatan trend.

  4. Masukkan penunjuk lain seperti MACD untuk pengesahan isyarat.

Pengoptimuman

Cara yang berpotensi untuk mengoptimumkan strategi:

  1. Mengoptimumkan parameter HMA untuk combo ideal.

  2. Tambah penapis kekuatan trend untuk mengelakkan trend lawan.

  3. Gunakan hentian dinamik dan bukannya tahap tetap.

  4. Menggabungkan pembelajaran mesin untuk pengoptimuman parameter automatik.

  5. Tambah perdagangan simulasi untuk menguji prestasi dunia sebenar.

Ringkasan

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)

Lebih lanjut