Système de trading collaboratif multi-indicateurs basé sur une stratégie de signal composite de momentum de tendance

SMA RSI MACD TP SL TS
Date de création: 2025-02-20 16:10:54 Dernière modification: 2025-02-20 16:10:54
Copier: 1 Nombre de clics: 333
2
Suivre
319
Abonnés

Système de trading collaboratif multi-indicateurs basé sur une stratégie de signal composite de momentum de tendance Système de trading collaboratif multi-indicateurs basé sur une stratégie de signal composite de momentum de tendance

Aperçu

La stratégie est un système de trading quantitatif combinant plusieurs indicateurs techniques, en utilisant la moyenne mobile (MA), le RSI (RSI) et le MACD (MACD) pour construire un système de signaux de trading complet. La stratégie utilise le suivi des tendances combiné à la reconnaissance de la dynamique, en veillant à ce que la direction des transactions soit correcte, tout en se concentrant sur la saisie des opportunités.

Principe de stratégie

La stratégie est basée sur la construction de signaux commerciaux à trois niveaux:

  1. Détermination de la tendance: utilisation du système de double ligne moyenne à 50 et 200 jours pour déterminer la direction de la tendance générale à l’aide d’une fourche dorée
  2. Confirmation de la dynamique: le RSI combiné avec le niveau de surachat et de survente (7030) et le MACD pour vérifier la dynamique des prix
  3. Contrôle des risques: mise en place d’un stop loss de 2%, d’un stop loss de 4% et d’un stop loss de 1% pour la mise en place d’un système de gestion des risques complet

Concrètement, le système génère un signal de plus lorsque la moyenne rapide (à 50 jours) traverse la moyenne lente (à 200 jours) pour former un fourchette d’or et que le RSI n’a pas atteint le niveau de surachat et que le MACD a formé un fourchette d’or. Inversement, le système génère un signal de reprise lorsque le fourchette mort apparaît et que le RSI n’a pas atteint le niveau de surachat et que le MACD a formé un fourchette morte.

Avantages stratégiques

  1. Une fiabilité élevée du signal: il permet de filtrer efficacement les faux signaux grâce à une vérification croisée de multiples indicateurs
  2. Une meilleure compréhension des principales tendances grâce à un système classique à deux lignes
  3. Contrôle des risques: utilisation intégrée de plusieurs méthodes de stop loss pour contrôler efficacement les risques de baisse
  4. Adaptabilité: les paramètres de la stratégie peuvent être ajustés pour s’adapter à différents environnements de marché
  5. Exécution claire: les conditions de génération du signal sont claires, évitant les interférences de jugement subjectif

Risque stratégique

  1. Risque de décalage : la moyenne mobile elle-même présente des décalages et vous risquez de manquer le meilleur moment d’entrée.
  2. Risque de choc du marché: des signaux de fausse rupture peuvent être fréquents dans les marchés à choc horizontal
  3. Risque d’optimisation des paramètres: des paramètres sur-optimisés peuvent entraîner une suradaptation et affecter la stabilité de la stratégie
  4. Risque de contrôle des coûts: les transactions fréquentes peuvent entraîner des coûts de transaction plus élevés
  5. Dépendance des conditions du marché: la stratégie fonctionne mieux dans les marchés où la tendance est évidente, mais peut être moins efficace dans d’autres conditions du marché

Orientation de l’optimisation de la stratégie

  1. Introduction d’indicateurs de débit: augmentation de la confirmation de débit dans les systèmes de signaux existants, amélioration de la fiabilité du signal
  2. Adaptation des paramètres d’optimisation: développer des mécanismes d’ajustement dynamique des paramètres pour améliorer l’adaptabilité des stratégies au marché
  3. Augmentation des indicateurs de l’humeur du marché: l’introduction d’indicateurs d’humeur tels que VIX, optimisation du moment d’entrée
  4. Amélioration des mécanismes de stop-loss: développement de solutions de stop-loss plus flexibles, telles que le stop-loss dynamique basé sur l’ATR
  5. Ajout d’un filtre sur la volatilité: modifier les positions dans un environnement à forte volatilité pour optimiser le ratio risque/rendement

Résumer

La stratégie utilise la synergie de multiples indicateurs techniques pour construire un système de négociation relativement complet. La stratégie fonctionne bien dans les marchés où la tendance est évidente, mais nécessite toujours des ajustements optimisés en fonction de la situation réelle du marché. Il est recommandé aux traders d’effectuer d’abord une vérification de retour complète et d’ajuster les paramètres en fonction de leur propre capacité à supporter le risque.

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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © EthioTrader

//@version=5
strategy("Optimal Multi-Indicator Strategy", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=10, commission_type=strategy.commission.percent, commission_value=0.1)

// ===== Input Parameters =====
// Moving Averages
fastMA = ta.sma(close, 50)
slowMA = ta.sma(close, 200)
plot(fastMA, "Fast MA", color=color.green)
plot(slowMA, "Slow MA", color=color.red)

// RSI
rsiLength = input(14, "RSI Length")
rsiOverbought = input(70, "RSI Overbought")
rsiOversold = input(30, "RSI Oversold")
rsi = ta.rsi(close, rsiLength)

// MACD
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)

// Risk Management
stopLossPerc = input(2.0, "Stop Loss (%)") / 100
takeProfitPerc = input(4.0, "Take Profit (%)") / 100
trailingStopPerc = input(1.0, "Trailing Stop (%)") / 100

// ===== Strategy Logic =====
// Trend Condition: Golden Cross (Fast MA > Slow MA)
bullishTrend = ta.crossover(fastMA, slowMA)
bearishTrend = ta.crossunder(fastMA, slowMA)

// Momentum Condition: RSI and MACD
bullishMomentum = rsi < rsiOverbought and ta.crossover(macdLine, signalLine)
bearishMomentum = rsi > rsiOversold and ta.crossunder(macdLine, signalLine)

// Entry Signals
longCondition = bullishTrend and bullishMomentum
shortCondition = bearishTrend and bearishMomentum

// Exit Signals
trailingStop = strategy.position_avg_price * (1 - trailingStopPerc)
exitLong = ta.crossunder(close, trailingStop) or (close >= strategy.position_avg_price * (1 + takeProfitPerc))
exitShort = ta.crossover(close, trailingStop) or (close <= strategy.position_avg_price * (1 - takeProfitPerc))

// ===== Execute Orders =====
if (longCondition)
    strategy.entry("Long", strategy.long)
    strategy.exit("Exit Long", "Long", stop=strategy.position_avg_price * (1 - stopLossPerc), limit=strategy.position_avg_price * (1 + takeProfitPerc), trail_price=trailingStop, trail_offset=trailingStopPerc * close)

if (shortCondition)
    strategy.entry("Short", strategy.short)
    strategy.exit("Exit Short", "Short", stop=strategy.position_avg_price * (1 + stopLossPerc), limit=strategy.position_avg_price * (1 - takeProfitPerc), trail_price=trailingStop, trail_offset=trailingStopPerc * close)

// ===== Plotting =====
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")