Cette stratégie est un système de trading qui combine l'indice de force relative (RSI), la moyenne mobile pondérée (WMA) et la moyenne mobile exponentielle (EMA). La stratégie identifie les changements de tendance du marché en surveillant les niveaux de RSI et le croisement entre WMA et EMA pour générer des signaux d'achat et de vente.
La logique de base de la stratégie repose sur les éléments clés suivants: 1. Utilise l'indicateur RSI de 14 périodes pour calculer les conditions de surachat/survente du marché 2. Calcule la WMA à 45 périodes et la EMA à 89 périodes 3. Conditions d'entrée: - Long signal: Lorsque le RSI est inférieur à 50 et que la WMA dépasse la EMA - Signal court: lorsque le RSI est supérieur à 50 et que la WMA dépasse la EMA 4. La stratégie utilise la fonction ta.rma pour faciliter le calcul de l'indicateur RSI, améliorant la stabilité du signal 5. Utilise la fonctionnalité graphique pour marquer les points d'achat/vente sur le graphique pour un jugement intuitif
La stratégie construit un système de suivi des tendances relativement complet en combinant les indicateurs RSI, WMA et EMA. Ses principaux avantages résident dans la fiabilité du signal et les capacités de contrôle des risques, tandis que l'attention doit être portée aux risques de faux signaux dans les marchés de gamme.
/*backtest start: 2024-12-17 00:00:00 end: 2025-01-16 00:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=5 strategy(title="RSI + WMA + EMA Strategy", shorttitle="RSI Strategy", overlay=true) // RSI Settings rsiLengthInput = input.int(14, minval=1, title="RSI Length", group="RSI Settings") rsiSourceInput = input.source(close, "Source", group="RSI Settings") // WMA and EMA Settings wmaLengthInput = input.int(45, minval=1, title="WMA Length", group="WMA Settings") wmaColorInput = input.color(color.blue, title="WMA Color", group="WMA Settings") emaLengthInput = input.int(89, minval=1, title="EMA Length", group="EMA Settings") emaColorInput = input.color(color.purple, title="EMA Color", group="EMA Settings") // RSI Calculation change = ta.change(rsiSourceInput) up = ta.rma(math.max(change, 0), rsiLengthInput) down = ta.rma(-math.min(change, 0), rsiLengthInput) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) // WMA and EMA Calculation wma = ta.wma(rsi, wmaLengthInput) ema = ta.ema(rsi, emaLengthInput) // Plot RSI, WMA, and EMA plot(rsi, "RSI", color=#7E57C2) plot(wma, title="WMA", color=wmaColorInput, linewidth=2) plot(ema, title="EMA", color=emaColorInput, linewidth=2) // Entry and Exit Conditions longCondition = ta.crossover(wma, ema) and rsi < 50 shortCondition = ta.crossunder(wma, ema) and rsi > 50 if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) // Optional: Plot Buy/Sell Signals on Chart plotshape(series=longCondition, style=shape.labelup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal") plotshape(series=shortCondition, style=shape.labeldown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")