Strategi ini menghitung indikator momentum harga untuk menentukan apakah tren harga telah terbalik, untuk menangkap peluang pembalikan harga. Ketika tren naik atau turun harga melambat, ini menunjukkan bahwa momentum harga telah terbalik. Pada saat ini, strategi akan membuka posisi panjang atau pendek.
Strategi ini didasarkan pada perhitungan indikator momentum. Indikator momentum mencerminkan kecepatan dan kekuatan perubahan harga. Dua indikator momentum MOM dan MOM1 dihitung dalam strategi.
Rumus perhitungan MOM:
MOM = Harga penutupan hari ini - Harga penutupan N hari yang lalu
Rumus perhitungan MOM1:
MOM1 = MOM hari ini - MOM kemarin
Jika MOM > 0 dan MOM1 < 0, ini berarti tren naik harga telah melambat dan sinyal pembalikan tampaknya akan panjang. Jika MOM < 0 dan MOM1 > 0, ini berarti tren penurunan harga telah melambat dan sinyal pembalikan tampaknya akan pendek.
Metode pengurangan risiko utama:
Strategi ini menghitung indikator momentum harga untuk menentukan apakah tren harga telah berbalik, secara otomatis pergi panjang atau pendek. Tes balik menunjukkan bahwa strategi ini bekerja dengan lancar secara keseluruhan dan secara efektif menangkap titik pembalikan harga. Dengan mengoptimalkan pengaturan parameter, menambahkan filter sinyal, dll., Stabilitas dan profitabilitas strategi dapat ditingkatkan lebih lanjut.
/*backtest start: 2023-11-11 00:00:00 end: 2023-12-11 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Momentum - Strategy", overlay = false, precision = 2, initial_capital = 10000, default_qty_value = 100, default_qty_type = strategy.percent_of_equity, commission_type = strategy.commission.percent, commission_value = 0.2 ) i_len = input(defval = 12, title = "Length", minval = 1) i_src = input(defval = close, title = "Source") i_percent = input(defval = true, title = "Percent?") i_mom = input(defval = "MOM2", title = "MOM Choice", options = ["MOM1", "MOM2"]) momentum(seria, length, percent) => _mom = percent ? ( (seria / seria[length]) - 1) * 100 : seria - seria[length] _mom mom0 = momentum(i_src, i_len, i_percent) mom1 = momentum(mom0, 1, i_percent) mom2 = momentum(i_src, 1, i_percent) momX = mom1 if i_mom == "MOM2" momX := mom2 if (mom0 > 0 and momX > 0) strategy.entry("MomLE", strategy.long, stop = high + syminfo.mintick, comment = "MomLE") else strategy.cancel("MomLE") if (mom0 < 0 and momX < 0) strategy.entry("MomSE", strategy.short, stop = low - syminfo.mintick, comment = "MomSE") else strategy.cancel("MomSE") plot(mom0, color = #0000FF, title = "MOM") plot(mom1, color = #00FF00, title = "MOM1", display = display.none) plot(mom2, color = #00FF00, title = "MOM2")