Cette stratégie utilise le croisement d'une EMA rapide (9 périodes) et d'une EMA lente (21 périodes) comme signaux d'entrée, et intègre un stop-loss de trailing pour bloquer les bénéfices et éviter des retraitements excessifs.
Lorsque l'EMA rapide traverse au-dessus de l'EMA lente depuis le bas, un signal d'achat est généré. Lorsque l'EMA rapide traverse au-dessous de l'EMA lente depuis le haut, un signal de vente est déclenché.
Une fois entrée, la stratégie suit le plus haut niveau en temps réel et déclenche un stop loss de trailing lorsque le prix actuel tombe de 2% en dessous du plus haut niveau, ce qui bloque les bénéfices.
Solution au risque:
Cette stratégie intègre les avantages de l'identification des tendances et du contrôle des risques.
/*backtest start: 2023-12-12 00:00:00 end: 2023-12-19 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("EMA Crossover with Trailing Stop-Loss", overlay=true) fastEMA = ema(close, 9) slowEMA = ema(close, 21) // Entry conditions longCondition = crossover(fastEMA, slowEMA) shortCondition = crossunder(fastEMA, slowEMA) // Trailing stop-loss calculation var float trailingStop = na var float highestHigh = na if (longCondition) highestHigh := na trailingStop := na if (longCondition and high > highestHigh) highestHigh := high if (strategy.position_size > 0) trailingStop := highestHigh * (1 - 0.02) // Adjust the trailing percentage as needed // Execute trades strategy.entry("Long", strategy.long, when=longCondition) strategy.entry("Short", strategy.short, when=shortCondition) // Apply trailing stop-loss to long positions strategy.exit("Long", from_entry="Long", loss=trailingStop) // Plot EMAs and Trailing Stop-Loss plot(fastEMA, color=color.green, title="Fast EMA") plot(slowEMA, color=color.red, title="Slow EMA") plot(trailingStop, color=color.orange, title="Trailing Stop-Loss", linewidth=2)