
La stratégie de croisement des moyennes mobiles est une stratégie de négociation basée sur le croisement de deux moyennes mobiles (moyennes mobiles rapides et moyennes mobiles lentes). Lorsque la moyenne mobile rapide monte au-dessus de la moyenne mobile lente, une position longue (achat) est prise.
La stratégie utilise deux moyennes mobiles. L’une est une moyenne mobile rapide à court terme et l’autre est une moyenne mobile lente à long terme. La moyenne mobile rapide est plus rapide pour répondre aux variations de prix et la moyenne mobile lente filtre les fluctuations à court terme et reflète mieux les tendances à long terme.
Il est possible de régler le stop-loss pour contrôler le risque. Le choix des paramètres appropriés peut améliorer l’efficacité de la stratégie.
La stratégie de croisement des moyennes mobiles est en général une stratégie de suivi de tendance simple et pratique. Elle utilise l’indicateur de la moyenne mobile pour identifier les changements de tendance des prix. Les avantages sont la simplicité, la facilité de compréhension et les retraits mineurs.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Simple Moving Average Crossover", overlay=true)
// Input parameters
fastLength = input(10, title="Fast MA Length")
slowLength = input(30, title="Slow MA Length")
stopLossPercent = input(1, title="Stop Loss Percentage")
// Calculate moving averages
fastMA = ta.sma(close, fastLength)
slowMA = ta.sma(close, slowLength)
// Buy condition: Fast MA crosses above Slow MA
buyCondition = ta.crossover(fastMA, slowMA)
// Sell condition: Fast MA crosses below Slow MA
sellCondition = ta.crossunder(fastMA, slowMA)
// Plot moving averages as lines
plot(fastMA, color=color.blue, title="Fast MA", linewidth=2)
plot(slowMA, color=color.red, title="Slow MA", linewidth=2)
// Execute trades based on conditions
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.close("Buy")
// Set stop loss level
stopLossLevel = close * (1 - stopLossPercent / 100)
strategy.exit("Sell", from_entry="Buy", loss=stopLossLevel)