
La stratégie de suivi des moyennes mobiles est une stratégie de suivi des tendances basée sur des moyennes mobiles simples. Elle utilise des moyennes mobiles simples de 200 jours pour déterminer la direction de la tendance des prix.
Cette stratégie est basée sur les principes suivants:
Cette stratégie consiste à déterminer la direction de la tendance à l’aide de moyennes mobiles et à effectuer des opérations inverses en temps opportun en cas de revirement de la ligne de parité, ce qui permet de tirer profit de la tendance.
Cette stratégie présente les avantages suivants:
Cette stratégie comporte aussi des risques:
L’optimisation et l’amélioration des risques peuvent être réalisées dans les domaines suivants:
Cette stratégie peut être optimisée dans les domaines suivants:
Optimiser les paramètres périodiques des moyennes mobiles pour trouver la combinaison optimale des paramètres. Des méthodes d’optimisation des paramètres telles que l’analyse de marche en avant peuvent être utilisées.
Augmenter les moyennes mobiles à court terme pour former une stratégie multivariée, tout en suivant les tendances à court terme.
L’utilisation d’indicateurs de tendance, tels que le MACD, améliore la capacité d’identifier les revirements de tendance.
L’adhésion à des mécanismes d’arrêt des pertes, tels que le suivi des pertes, la suspension des pertes, etc., pour contrôler les pertes individuelles.
Tests répétitifs, stratégies de test dans différentes variétés et périodes de temps, amélioration de la stabilité.
L’auto-adaptation des paramètres et l’optimisation des stratégies sont réalisées par des méthodes telles que l’apprentissage automatique.
La stratégie de suivi des moyennes mobiles est une stratégie de suivi des tendances simple et pratique, dont l’idée est claire et facile à mettre en œuvre, qui permet de capturer les opportunités de tendance. Cependant, la stratégie présente également des problèmes, tels que l’insensibilité aux ajustements à court terme, la faible capacité de contrôle des risques, etc. Nous pouvons l’optimiser de plusieurs façons pour rendre la stratégie plus robuste, plus optimisée en termes de paramètres et de contrôle des risques.
/*backtest
start: 2023-09-19 00:00:00
end: 2023-10-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("MA X 200 BF", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.0)
/////////////// Time Frame ///////////////
testStartYear = input(2012, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay, 0, 0)
testStopYear = input(2019, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(31, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay, 0, 0)
testPeriod() => true
///////////// MA 200 /////////////
slowMA = sma(close, input(200))
/////////////// Strategy ///////////////
long = close > slowMA
short = close < slowMA
last_long = 0.0
last_short = 0.0
last_long := long ? time : nz(last_long[1])
last_short := short ? time : nz(last_short[1])
long_signal = crossover(last_long, last_short)
short_signal = crossover(last_short, last_long)
/////////////// Execution ///////////////
if testPeriod()
strategy.entry("Long Entry", strategy.long, when=long_signal)
strategy.entry("Short Entry", strategy.short, when=short_signal)
strategy.exit("Long Ex", "Long Entry")
strategy.exit("Short Ex", "Short Entry")
/////////////// Plotting ///////////////
plot(slowMA, color = long ? color.lime : color.red, linewidth=2)
bgcolor(strategy.position_size > 0 ? color.lime : strategy.position_size < 0 ? color.red : color.white, transp=80)
bgcolor(long_signal ? color.lime : short_signal ? color.red : na, transp=30)