Stratégie de suivi de tendance de stop loss dynamique utilisant un double filtrage RSI et MACD

RSI MACD SL (Stop Loss) TA (Technical Analysis)
Date de création: 2025-02-20 16:50:43 Dernière modification: 2025-02-20 16:50:43
Copier: 0 Nombre de clics: 289
2
Suivre
319
Abonnés

Stratégie de suivi de tendance de stop loss dynamique utilisant un double filtrage RSI et MACD Stratégie de suivi de tendance de stop loss dynamique utilisant un double filtrage RSI et MACD

Aperçu

La stratégie est un système de suivi de tendance basé sur le MACD et le RSI, un filtre à double indice, intégrant un mécanisme de stop-loss dynamique. La stratégie génère principalement des opportunités de négociation via des signaux croisés du MACD et utilise le RSI comme confirmation secondaire, tout en introduisant des stop-loss en pourcentage pour contrôler les risques.

Principe de stratégie

La stratégie utilise le MACD (<12,26,9) et le RSI (<14) comme indicateurs principaux. Les signaux d’entrée doivent satisfaire simultanément à deux conditions: faire plus lorsque le MACD est à la fourchette dorée et que le RSI est dans la zone de survente (<40 par défaut) et faire moins lorsque le MACD est à la fourchette morte et que le RSI est dans la zone de survente (<59 par défaut). Le système a également mis en place un stop loss dynamique de 3%.

Avantages stratégiques

  1. Le filtre à double indice améliore la fiabilité des signaux de transaction et réduit les faux signaux.
  2. Le stop-loss dynamique permet de contrôler efficacement le risque de chaque transaction.
  3. Les paramètres de la stratégie peuvent être ajustés de manière flexible en fonction des différentes conditions du marché.
  4. La fonction de filtrage temporel permet d’effectuer des transactions sur une période donnée.
  5. Le taux de détention des fonds est favorable à la gestion des fonds.

Risque stratégique

  1. Les signaux de transaction peuvent être fréquents dans les marchés en crise, augmentant les coûts de transaction.
  2. Le stop loss à pourcentage fixe peut conduire à une liquidation prématurée dans des marchés très volatils.
  3. Le MACD, en tant qu’indicateur de retard, peut manquer des mouvements de prix importants dans les marchés rapides.
  4. Les paramètres du seuil RSI doivent être optimisés pour les différents marchés.
  5. Les coûts de transaction et les points de glissement peuvent influer sur la performance réelle de la stratégie.

Orientation de l’optimisation de la stratégie

  1. L’introduction d’un indicateur de volatilité pour ajuster dynamiquement le pourcentage de stop loss.
  2. Augmenter les filtres d’intensité de la tendance pour éviter les transactions excessives dans les marchés volatiles.
  3. Considérez l’ajout d’un stop mobile pour protéger les bénéfices.
  4. Optimiser les paramètres du RSI et du MACD pour les adapter aux différentes cycles du marché.
  5. Le nombre de transactions a été augmenté grâce à l’analyse des volumes et à la fiabilité des signaux.

Résumer

Il s’agit d’une stratégie de suivi de tendance structurée et logiquement claire. L’utilisation combinée du MACD et du RSI améliore efficacement la qualité des signaux de négociation. La conception de l’arrêt dynamique aide à contrôler les risques, ce qui donne à la stratégie de bonnes caractéristiques de gestion des risques.

Code source de la stratégie
/*backtest
start: 2025-02-13 10:00:00
end: 2025-02-19 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Binance","currency":"BNB_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © eagle916
//@version=5
strategy("EAG MACD + RSI Strategy",overlay=true, initial_capital = 300, default_qty_value = 10, default_qty_type = "percent_of_equity", commission_type=strategy.commission.percent, commission_value=0.1)


// Input para el RSI
rsi_length = input.int(14, title="RSI Length", minval=1)
rsi_overbought = input.int(59, title="RSI Overbought Level", minval=1, maxval=100)
rsi_oversold = input.int(40, title="RSI Oversold Level", minval=1, maxval=100)

// Input para el MACD
macd_length = input.int(12, title="MACD Length", minval=1)
macd_overbought = input.int(26, title="MACD Overbought Level", minval=1, maxval=100)
macd_signal = input.int(9, title="MACD Signal Level", minval=1, maxval=100)

// Input para el porcentaje de pérdida (stop loss)
stop_loss_percent = input.float(3.0, title="Porcentaje de Stop Loss (%)", minval=0.1, step=0.1)

// Calcular RSI
rsi_value = ta.rsi(close, rsi_length)

// Calcular MACD
[macdLine, signalLine, _] = ta.macd(close, macd_length, macd_overbought, macd_signal)
macd_crossup = ta.crossover(macdLine, signalLine)   // Cruce al alza del MACD
macd_crossdown = ta.crossunder(macdLine, signalLine) // Cruce a la baja del MACD

// Condiciones de compra y venta
buy_condition = macd_crossup and rsi_value <= rsi_oversold
sell_condition = macd_crossdown and rsi_value >= rsi_overbought


// Registrar precio de entrada
var float entry_price = na
if strategy.position_size == 0
    entry_price := na

// Mostrar señales de compra y venta en la gráfica principal
plotshape(series=buy_condition, title="Señal de Compra", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") // Compra debajo de la vela
plotshape(series=sell_condition, title="Señal de Venta", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL") // Venta encima de la vela

// Órdenes de estrategia
if buy_condition 
    strategy.entry("Compra", strategy.long)
    entry_price := close
if sell_condition 
    strategy.entry("Venta", strategy.short)
    entry_price := close

// Calcular el precio de stop loss
long_stop_loss = entry_price * (1 - stop_loss_percent / 100)
short_stop_loss = entry_price * (1 + stop_loss_percent / 100)

// Cerrar posición si el precio va en contra el porcentaje definido por el usuario
if strategy.position_size > 0 and close < long_stop_loss
    strategy.close("Compra", comment="Stop Loss Compra")

if strategy.position_size < 0 and close > short_stop_loss
    strategy.close("Venta", comment="Stop Loss Venta")