Stratégie de swing trading dynamique à plusieurs niveaux basée sur l'indice de force relative et la plage réelle moyenne

RSI ATR DCA TP
Date de création: 2025-02-20 17:25:04 Dernière modification: 2025-02-27 17:22:25
Copier: 0 Nombre de clics: 369
2
Suivre
319
Abonnés

Stratégie de swing trading dynamique à plusieurs niveaux basée sur l’indice de force relative et la plage réelle moyenne Stratégie de swing trading dynamique à plusieurs niveaux basée sur l’indice de force relative et la plage réelle moyenne

Aperçu

La stratégie est un système de trading de coût-équilibre dynamique à plusieurs niveaux (DCA) combinant un indice relativement faible (RSI) et une amplitude réelle moyenne (ATR). Elle consiste principalement à construire des positions par lots en identifiant les conditions de survente du marché et à utiliser l’ATR pour ajuster dynamiquement les positions de coupe afin de réaliser des gains d’opérations de bande. La stratégie présente des caractéristiques telles que la dispersion des risques, l’optimisation des coûts et la stabilité des gains.

Principe de stratégie

Les stratégies fonctionnent à un niveau de 4 heures ou de jour, et la logique de base comprend les aspects suivants:

  1. Le signal d’entrée est basé sur un jugement de survente de RSI inférieur à 30, permettant jusqu’à 4 lots de stockage
  2. Le montant de chaque placement est basé sur la marge de risque totale de 200 $, la taille de la position est calculée en fonction du double ATR dynamique
  3. La gestion des stocks utilise le suivi des coûts en moyenne dynamique pour calculer en temps réel le prix moyen après plusieurs constructions
  4. Le stop-loss est réglé sur un ATR de 3 fois supérieur à la moyenne et s’adapte à la volatilité du marché
  5. Affichage en temps réel du cours moyen et de la position de l’arrêt via une ligne de marquage pour un suivi visuel facile

Avantages stratégiques

  1. Contrôle précis des risques - un contrôle précis des risques d’une seule transaction est obtenu en prévoyant le montant du risque et en ajustant l’ATR dynamiquement
  2. Flexibilité dans la construction des entrepôts - un mécanisme de construction par lots permet de réduire les coûts et de saisir les opportunités
  3. Stop-loss intelligent - Stop-loss dynamique basé sur l’ATR garantit des bénéfices tout en s’adaptant aux fluctuations du marché
  4. Visualisation forte - affichage en temps réel des lignes de cours moyens et des lignes de stop-loss pour fournir une référence de trading intuitive
  5. Adaptabilité - les paramètres de la stratégie peuvent être ajustés de manière flexible en fonction des caractéristiques du marché

Risque stratégique

  1. Risque de survente consécutif - une baisse continue du marché pourrait entraîner une survente des positions Solution: appliquer strictement le nombre maximal de fois que vous pouvez construire un entrepôt, en mettant en place un stop loss si nécessaire.
  2. Risque de mise en stop-loss - un multiplicateur de stop-loss trop élevé peut entraîner une perte de profit Solution: Ajuster le multiplicateur ATR en fonction de la dynamique du marché
  3. Risques liés à la gestion des fonds - la construction par lots peut représenter un investissement excessif Solution: fixer des limites de risque et des tailles de placement raisonnables

Orientation de l’optimisation de la stratégie

  1. Optimisation des signaux d’entrée
  • Augmenter les indicateurs de jugement de tendance pour éviter de prendre des positions prématurées en cas de forte baisse
  • Une combinaison d’indicateurs d’échange pour améliorer la fiabilité des jugements de survente
  1. Mechanisme de freinage amélioré
  • La mise en place d’un mécanisme de trailing stop pour mieux bloquer les bénéfices
  • L’idée d’une fermeture par lots et d’une plus grande souplesse dans les bénéfices
  1. Une meilleure maîtrise des risques
  • Ajout d’un contrôle de rétractation global
  • Algorithme de répartition des fonds optimisé

Résumer

La stratégie utilise la combinaison des indicateurs RSI et ATR pour réaliser un système de négociation à la fois contrôlant les risques et stabilisant les gains. Le mécanisme de construction en lots offre la possibilité d’optimiser les coûts, tandis que la conception de l’arrêt dynamique assure une performance raisonnable des gains. Bien que certains risques potentiels existent, la performance globale de la stratégie sera encore améliorée par la mise en œuvre de paramètres raisonnables et d’une orientation optimisée.

Code source de la stratégie
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"DOGE_USDT"}]
*/

//@version=6
strategy("DCA-Based Swing Strategy (Risk $200) with Signals", overlay=true)

// === Main Indicators ===
// RSI for identifying oversold conditions
rsi = ta.rsi(close, 14)

// ATR for volatility estimation
atr = ta.atr(14)

// === Strategy Parameters ===
// Risk management
riskPerTrade = 200                       // Total risk ($200)
atrRisk = 2 * atr                        // Risk in dollars per buy (2 ATR)
positionSize = riskPerTrade / atrRisk    // Position size (shares)

// DCA Parameters
maxEntries = 4                           // Maximum of 4 buys
takeProfitATR = 3                        // Take profit: 3 ATR

// === Position Management ===
var float avgEntryPrice = na             // Average entry price
var int entryCount = 0                   // Number of buys
var line takeProfitLine = na             // Take profit line
var line avgPriceLine = na               // Average entry price line

// === Buy and Sell Conditions ===
buyCondition = rsi < 30 and entryCount < maxEntries  // Buy when oversold
if (buyCondition)
    strategy.entry("DCA Buy", strategy.long, qty=positionSize)
    
    // Update the average entry price
    avgEntryPrice := na(avgEntryPrice) ? close : (avgEntryPrice * entryCount + close) / (entryCount + 1)
    entryCount += 1

    // Display "BUY" signal on the chart
    label.new(bar_index, low, "BUY", style=label.style_label_up, color=color.green, textcolor=color.white, size=size.normal)

    // Update lines for average entry price and take profit
    if (not na(takeProfitLine))
        line.delete(takeProfitLine)
    if (not na(avgPriceLine))
        line.delete(avgPriceLine)
    takeProfitPrice = avgEntryPrice + takeProfitATR * atr


// Sell condition: Take profit = 3 ATR from average entry price
takeProfitPrice = avgEntryPrice + takeProfitATR * atr
if (close >= takeProfitPrice and entryCount > 0)
    strategy.close("DCA Buy")
    
    // Reset parameters after closing
    avgEntryPrice := na
    entryCount := 0

    // Remove lines after selling
    if (not na(takeProfitLine))
        line.delete(takeProfitLine)
    if (not na(avgPriceLine))
        line.delete(avgPriceLine)