
Cette stratégie utilise des indicateurs de dynamique du prix pour déterminer si une tendance de mouvement de prix est en train de se retourner afin de saisir les opportunités de reprise. Lorsque la tendance à la hausse ralentit ou que la tendance à la baisse ralentit, ce qui indique que la dynamique du prix est en train de se retourner, la stratégie ouvre une position à la hausse ou à la baisse
La stratégie est principalement basée sur le calcul d’indicateurs de dynamique. Les indicateurs de dynamique reflètent la vitesse et l’intensité des variations de prix. La stratégie comporte deux indicateurs de dynamique, MOM et MOM1.
Formule de calcul du MOM:
MOM = prix de clôture du jour - prix de clôture du jour précédant N
Formule de calcul du MOM1:
MOM1 = MOM aujourd’hui - MOM hier
Si MOM > 0 et MOM1 < 0, indique que la tendance à la hausse est ralentie, un signal de reprise, faites plus; si MOM < 0 et MOM1 > 0, indique que la tendance à la baisse est ralentie, un signal de reprise, faites plus.
Les principales mesures d’atténuation des risques:
Cette stratégie permet de faire plus de blanchiment automatiquement en calculant les indicateurs de dynamique des prix, en déterminant si la tendance des prix est inversée. Les retours d’expérience montrent que la stratégie fonctionne globalement sans heurts et capte efficacement les points de revers des prix.
/*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")