Stratégie de suivi des tendances des bandes de Bollinger adaptatives et système de gestion des risques multicouches

BB EMA SL TP SMA
Date de création: 2025-02-10 15:14:57 Dernière modification: 2025-02-10 15:14:57
Copier: 3 Nombre de clics: 446
1
Suivre
1617
Abonnés

Stratégie de suivi des tendances des bandes de Bollinger adaptatives et système de gestion des risques multicouches

Aperçu

La stratégie est un système de suivi de tendance combinant les bandes de Brin et les indicateurs EMA pour optimiser la performance des transactions grâce à un mécanisme de contrôle du risque à plusieurs niveaux. Le cœur de la stratégie est de capturer les tendances du marché en utilisant la forme de reprise de rupture de Brin sur la voie descendante, tout en combinant le filtre de tendance EMA pour améliorer l’exactitude des transactions. Le système comprend également un système de gestion des risques complet, comprenant le suivi des arrêts de perte, des arrêts de perte fixes, des objectifs de profit et un mécanisme de placement basé sur le temps.

Principe de stratégie

La logique de négociation de la stratégie repose sur les éléments clés suivants:

  1. Utilisation de la bande de Brin à intervalles de 1,5 et 14 comme principal indicateur de signaux de négociation
  2. Un signal de couverture est déclenché lorsque le cours d’un K-ligne se ferme et que le K-ligne se retourne.
  3. Un signal de multiplication est déclenché lorsque le cours d’une ligne K se ferme et que la ligne K se renforce.
  4. Ajout optionnel d’une EMA de 80 cycles comme filtre de tendance, ouvrant une position uniquement si la tendance est cohérente
  5. Activer le stop loss tracking lorsque le prix traverse le milieu de la courbe de Brin
  6. Vous pouvez définir des objectifs de stop loss et de profit fixes.
  7. Prise en charge d’un placement automatique basé sur le nombre de lignes K

Avantages stratégiques

  1. Il combine les caractéristiques de suivi de tendance et de trading inversé pour être stable dans différents environnements de marché.
  2. Un système de contrôle des risques à plusieurs niveaux fournit une solution complète de gestion des fonds
  3. La flexibilité des paramètres permet à la stratégie de s’adapter à différentes conditions du marché
  4. Les filtres EMA réduisent efficacement le risque de fausses intrusions
  5. Le système de suivi des pertes permet de verrouiller efficacement les bénéfices
  6. Le mécanisme de liquidation à dimension temporelle évite le risque d’un emprisonnement à long terme

Risque stratégique

  1. De faux signaux de rupture fréquents peuvent se produire sur un marché volatil
  2. Le stop-loss à montant fixe peut ne pas être adapté à toutes les conditions du marché
  3. Le filtrage des EMA pourrait vous faire manquer des opportunités de trading importantes
  4. Le suivi des arrêts de pertes peut entraîner une liquidation prématurée dans des marchés très volatils
  5. L’optimisation des paramètres peut conduire à un surajustement des données historiques

Orientation de l’optimisation de la stratégie

  1. Introduction d’un cycle de courbe de Bryn adapté, qui s’adapte dynamiquement aux fluctuations du marché
  2. Développement d’un système d’arrêt dynamique basé sur la gestion des fonds
  3. Augmentation de l’analyse des volumes de transactions pour confirmer l’efficacité de la percée
  4. Système d’optimisation des paramètres pour une intelligence
  5. Ajout d’un module de reconnaissance des environnements de marché pour utiliser différents paramètres dans différentes conditions de marché

Résumer

Il s’agit d’un système de suivi des tendances bien conçu, qui fournit des signaux de trading fiables grâce à la combinaison des bandes de Brin et des EMA et assure la sécurité des transactions grâce à des contrôles de risque à plusieurs niveaux. La stratégie est hautement configurable et peut s’adapter à différents styles de trading et environnements de marché.

Code source de la stratégie
/*backtest
start: 2025-01-10 00:00:00
end: 2025-02-08 08:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("AI Bollinger Bands Strategy with SL, TP, and Bars Till Close", overlay=true)

// Input parameters
bb_length           = input.int(14, title="Bollinger Bands Length", minval=1)
bb_stddev           = input.float(1.5, title="Bollinger Bands Standard Deviation", minval=0.1)
use_ema             = input.bool(true, title="Use EMA Filter")
ema_length          = input.int(80, title="EMA Length", minval=1)
use_trailing_stop   = input.bool(true, title="Use Trailing Stop")
use_sl              = input.bool(true, title="Use Stop Loss")
use_tp              = input.bool(false, title="Use Take Profit")
sl_dollars          = input.float(300.0, title="Stop Loss (\$)", minval=0.0)
tp_dollars          = input.float(1000.0, title="Take Profit (\$)", minval=0.0)
use_bars_till_close = input.bool(true, title="Use Bars Till Close")
bars_till_close     = input.int(10, title="Bars Till Close", minval=1)
// New input to toggle indicator plotting
plot_indicators     = input.bool(true, title="Plot Bollinger Bands and EMA on Chart")

// Calculate Bollinger Bands and EMA
basis      = ta.sma(close, bb_length)
upper_band = basis + bb_stddev * ta.stdev(close, bb_length)
lower_band = basis - bb_stddev * ta.stdev(close, bb_length)
ema        = ta.ema(close, ema_length)

// Plot Bollinger Bands and EMA conditionally
plot(plot_indicators  ? basis : na, color=color.blue, linewidth=2, title="Basis (SMA)")
plot(plot_indicators ? upper_band : na, color=color.red, linewidth=2, title="Upper Band")
plot(plot_indicators  ? lower_band : na, color=color.green, linewidth=2, title="Lower Band")
plot(plot_indicators   ? ema   : na, color=color.orange, linewidth=2, title="EMA")

// EMA conditions
ema_long_condition  = ema > ema[1]
ema_short_condition = ema < ema[1]

// Entry conditions
sell_condition = close[1] > upper_band[1] and close[1] > open[1] and close < open
if sell_condition and (not use_ema or ema_short_condition)
    strategy.entry("Sell", strategy.short)

buy_condition = close[1] < lower_band[1] and close > open
if buy_condition and (not use_ema or ema_long_condition)
    strategy.entry("Buy", strategy.long)

// Trailing stop logic
if use_trailing_stop
    if strategy.position_size > 0 and close >= basis
        strategy.exit("Trailing Stop Long", from_entry="Buy", stop=low)
    if strategy.position_size < 0 and close <= basis
        strategy.exit("Trailing Stop Short", from_entry="Sell", stop=high)

// Stop Loss and Take Profit logic
if use_sl or use_tp
    if strategy.position_size > 0
        long_entry = strategy.position_avg_price
        long_sl    = long_entry - sl_dollars
        long_tp    = long_entry + tp_dollars
        if use_sl and close <= long_sl
            strategy.close("Buy", comment="Long SL Hit")
        if use_tp and close >= long_tp
            strategy.close("Buy", comment="Long TP Hit")
    if strategy.position_size < 0
        short_entry = strategy.position_avg_price
        short_sl    = short_entry + sl_dollars
        short_tp    = short_entry - tp_dollars
        if use_sl and close >= short_sl
            strategy.close("Sell", comment="Short SL Hit")
        if use_tp and close <= short_tp
            strategy.close("Sell", comment="Short TP Hit")

// Bars Till Close logic
var int bars_since_entry = na
if strategy.position_size != 0
    bars_since_entry := na(bars_since_entry) ? 0 : bars_since_entry + 1
else
    bars_since_entry := na

if use_bars_till_close and not na(bars_since_entry) and bars_since_entry >= bars_till_close
    strategy.close("Buy", comment="Bars Till Close Hit")
    strategy.close("Sell", comment="Bars Till Close Hit")

// Plot buy/sell signals
plotshape(sell_condition and (not use_ema or ema_short_condition), title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")
plotshape(buy_condition and (not use_ema or ema_long_condition), title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")