
この戦略は,価格の動力の指標を計算して,価格の移動傾向が逆転しているかどうかを判断し,価格の逆転の機会を捕捉する. 価格の上昇傾向が緩やかになったり,価格の下降傾向が緩やかになったりすると,価格の動力が逆転していることを示し,戦略は多額のポジションを開くか空白にする.
この戦略は主に動向指標の計算に基づいています.動向指標は価格の変化の速度と強さを反映しています.戦略では,MOMとMOM1の2つの動向指標が計算されています.
MOMの計算式は
MOM = 当日の閉店価格 - N日前の閉店価格
MOM1の計算式は
MOM1 = 今日のMOM - 昨日のMOM
MOMとMOM1の値に基づいて,価格が反転したかどうかを判断する.MOM > 0とMOM1 < 0であれば,価格上昇傾向が鈍化し,反転信号が発生し,多めにする.MOM < 0とMOM1 > 0であれば,価格下降傾向が鈍化し,反転信号が発生し,空きをする.
主なリスク緩和策は
この戦略は,価格動量指標を計算して,価格移動の傾向が逆転するかどうかを判断し,自動で多空を行うことができる.反省は,この戦略は全体的に順調に動作し,価格逆転点を効果的に捉えていることを示している.最適化パラメータ設定,信号フィルタを追加するなどの方法により,戦略の安定性と収益率をさらに向上させることができる.
/*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")