
La stratégie utilise une combinaison de croisement de moyennes mobiles binaires et d’indicateurs relativement faibles pour identifier les opportunités de trading potentielles sur le marché. Elle s’adresse aux traders qui suivent les plus grandes tendances et fluctuations des prix.
L’idée de base est de faire un achat lorsque la moyenne mobile rapide de 9 semaines dépasse la moyenne mobile plus lente de 21 semaines, car cela indique que la tendance du marché est probablement en train de s’intensifier. Ensuite, si le RSI est supérieur à 50, confirmez le signal d’achat, car cela signifie que la hausse des prix est forte.
Plus précisément, un signal d’achat est émis lorsque l’EMA de 9 semaines est portée par l’EMA de 21 semaines et que le RSI de 14 semaines est supérieur à 50. Ensuite, un risque de compte de 2% est utilisé pour ouvrir une position, 5% pour arrêter une perte, 10% pour arrêter une perte.
Le signal de vente est basé sur la logique inverse: si l’EMA de 9 semaines est en baisse, l’EMA de 21 semaines ou le RSI est en dessous de 50, cela signifie que la tendance à court terme a changé de direction et est à la baisse.
Les combinaisons de ces paramètres peuvent être optimisées en les testant systématiquement. Des filtres peuvent également être ajoutés dans la logique conditionnelle pour réduire les transactions de bruit. La prise en compte des facteurs fondamentaux peut fournir plus de confirmation.
La stratégie utilise la force de l’EMA et du RSI pour identifier les opportunités potentielles dans les tendances à moyen et long terme. Elle fournit des règles claires de gestion des risques qui permettent de contrôler efficacement le risque de chaque transaction. La performance de la stratégie peut être améliorée en continuant à tester et à optimiser les paramètres.
/*backtest
start: 2023-12-22 00:00:00
end: 2024-01-21 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Weekly Swing Trading Strategy", overlay=true)
// Entry Indicators
shortEma = ema(close, 9)
longEma = ema(close, 21)
rsiValue = rsi(close, 14)
// Entry Condition
longCondition = crossover(shortEma, longEma) and rsiValue > 50
if (longCondition)
strategy.entry("Long", strategy.long)
// Position Sizing (2% risk per trade)
riskPerTrade = 0.02
stopLossPercent = 0.05 // 5% stop loss
stopLossPrice = close * (1 - stopLossPercent)
strategy.exit("Stop Loss", "Long", stop=stopLossPrice)
// Profit Target and Trailing Stop
profitTargetPercent = 0.10 // 10% profit target
profitTargetPrice = close * (1 + profitTargetPercent)
trailStopPercent = 0.03 // 3% trailing stop
strategy.exit("Take Profit", "Long", limit=profitTargetPrice, trail_price=trailStopPercent, trail_offset=trailStopPercent)
// Exit Strategy
exitCondition = crossunder(shortEma, longEma) or rsiValue < 50 // Exit when EMAs cross or RSI drops below 50
strategy.close("Long", when=exitCondition)
plot(shortEma, color=color.red)
plot(longEma, color=color.blue)
hline(50, "RSI 50", color=color.purple)