
La stratégie est un système de trading de suivi de tendance basé sur plusieurs croisements de moyennes mobiles et l’indicateur RSI. La stratégie combine les trois moyennes mobiles EMA20, EMA50 et SMA200, juge la tendance du marché par la relation de position des moyennes mobiles et utilise l’indicateur RSI pour filtrer les signaux de trading et négocie lorsque le prix dépasse le sommet précédent. La stratégie définit des conditions fixes de take-profit et de stop-loss et convient aux opérations sur 1 heure et aux opérations quotidiennes.
La logique fondamentale de la stratégie repose sur les conditions clés suivantes :
Cette stratégie est un système de suivi des tendances avec une structure complète et une logique claire. Grâce à l’utilisation coordonnée de plusieurs indicateurs techniques, il est possible de capturer efficacement les tendances du marché tout en disposant d’un mécanisme complet de gestion des risques. Il existe une grande marge d’optimisation de la stratégie, et une amélioration continue peut encore renforcer la stabilité et la rentabilité de la stratégie. Pour les traders à moyen et long terme, il s’agit d’un cadre stratégique qui mérite d’être essayé.
/*backtest
start: 2025-01-02 00:00:00
end: 2025-01-09 00:00:00
period: 5m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA/SMA Strategy", overlay=false)
// Input parameters
ema20Length = input(20, title="20 EMA Length")
ema50Length = input(50, title="50 EMA Length")
sma200Length = input(200, title="200 SMA Length")
rsiLength = input(14, title="RSI Length")
rsiThreshold = input(40, title="RSI Threshold")
// Calculate indicators
ema20 = ta.ema(close, ema20Length)
ema50 = ta.ema(close, ema50Length)
sma200 = ta.sma(close, sma200Length)
rsiValue = ta.rsi(close, rsiLength)
// Conditions
emaCondition = ema20 > ema50 and sma200 < ema20 and sma200 < ema50
priceNearEMA = (close <= ema20 * 1.01 and close >= ema20 * 0.99) or (close <= ema50 * 1.01 and close >= ema50 * 0.99)
rsiCondition = rsiValue > rsiThreshold
// Entry condition: Price crosses previous candle high
entryCondition = priceNearEMA and rsiCondition and emaCondition and (close > high[1])
// Strategy entry
if entryCondition
strategy.entry("Long", strategy.long)
// Take profit and stop loss settings
takeProfitLevel = strategy.position_avg_price * 1.25 // Take profit at +25%
stopLossLevel = strategy.position_avg_price * 0.90 // Stop loss at -10%
// Exit conditions
if strategy.position_size > 0
strategy.exit("Take Profit", from_entry="Long", limit=takeProfitLevel)
strategy.exit("Stop Loss", from_entry="Long", stop=stopLossLevel)
// Plotting indicators for visualization
plot(ema20, color=color.blue, title="20 EMA")
plot(ema50, color=color.red, title="50 EMA")
plot(sma200, color=color.green, title="200 SMA")
hline(rsiThreshold, "RSI Threshold", color=color.orange)