
Strategi ini menggunakan indikator pergerakan harga untuk menilai apakah trend pergerakan harga telah berbalik untuk menangkap peluang untuk berbalik. Apabila trend kenaikan harga melambatkan atau trend penurunan melambatkan, menunjukkan bahawa pergerakan harga telah berbalik, maka strategi ini akan membuka kedudukan untuk melakukan over atau short.
Strategi ini adalah berdasarkan pengiraan indikator dinamik. Indikator dinamik mencerminkan kelajuan dan kekuatan perubahan harga. Strategi ini mengira dua indikator dinamik MOM dan MOM1.
Formula MOM:
MOM = harga penutupan hari - harga penutupan N hari sebelum
Formula pengiraan MOM1:
MOM1 = MOM hari ini - MOM semalam
Berdasarkan nilai MOM dan MOM1 untuk menentukan sama ada harga berlaku pembalikan. Jika MOM > 0 dan MOM1 < 0, menandakan trend kenaikan harga melambatkan, terdapat isyarat pembalikan, lakukan lebih banyak; jika MOM < 0 dan MOM1 > 0, menandakan trend penurunan harga melambatkan, terdapat isyarat pembalikan, lakukan kosong.
Kaedah utama untuk mengurangkan risiko:
Strategi ini dengan mengira indikator pergerakan harga, menilai apakah trend pergerakan harga telah berbalik, dan secara automatik melakukan lebih banyak penyingkiran. Ulasan menunjukkan bahawa strategi ini berfungsi dengan lancar secara keseluruhan dan menangkap titik-titik perubahan harga dengan berkesan. Dengan cara mengoptimumkan parameter, menambah penapisan isyarat, dan sebagainya, anda dapat meningkatkan kestabilan strategi dan kadar keuntungan.
/*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")