Stratégie de trading quantitative de suivi des tendances et de gestion des risques à plusieurs échelles de temps

SMA MA SRI TP SL BE
Date de création: 2025-04-17 14:01:16 Dernière modification: 2025-04-17 14:01:16
Copier: 1 Nombre de clics: 350
2
Suivre
319
Abonnés

Stratégie de trading quantitative de suivi des tendances et de gestion des risques à plusieurs échelles de temps Stratégie de trading quantitative de suivi des tendances et de gestion des risques à plusieurs échelles de temps

Aperçu

Il s’agit d’une stratégie de trading quantitatif basée sur un portefeuille d’indicateurs techniques à plusieurs échelles temporelles, permettant une entrée sur le marché et un contrôle du risque précis grâce à une analyse globale des moyennes mobiles, des indices de faiblesse relative aléatoires (SRI) et de la dynamique des prix. Cette stratégie vise à capturer les tendances du marché tout en gérant efficacement les risques de trading.

Principe de stratégie

Le cœur de la stratégie est constitué de cinq indicateurs techniques clés:

  1. Indicateur de la moyenne mobile:
  • Les moyennes mobiles simples à 5, 10, 50 et 100 jours (SMA)
  • Déterminez la direction des tendances du marché à l’aide de la position relative des moyennes mobiles sur plusieurs échelles de temps
  • La relation relative des prix aux moyennes mobiles détermine le signal d’entrée
  1. Indicateur de force et de faiblesse aléatoires (SRI):
  • Calculer le SRI à l’échelle d’une minute
  • SRI inférieur à 70 comme signal de multiplication
  • SRI supérieur à 30 comme signal de dégagement
  1. La forme du fil de fer:
  • Analyse de la relation entre le prix d’ouverture et le prix de clôture de la ligne K
  • Jugez la dynamique actuelle des prix et l’humeur du marché
  1. Les mécanismes de gestion des risques:
  • Réglage des points de stop (TP) et de stop (SL)
  • La mise en œuvre de la stratégie de garantie de rentabilité (Break-Even, BE)
  • Adaptation dynamique de la position d’arrêt

Avantages stratégiques

  1. Vérification du signal multidimensionnel
  • Utilisation intégrée des moyennes mobiles, de l’ISR et de la dynamique des prix
  • Réduit considérablement la probabilité de faux signaux
  • Amélioration de la fiabilité des signaux de trading
  1. Des contrôles de risque flexibles
  • Pré-arrêt et points de rupture
  • Le mécanisme de garantie dynamique
  • Contrôle efficace des pertes maximales sur une seule transaction
  1. Analyse à plusieurs échelles temporelles
  • Les moyennes mobiles combinées à différentes périodes
  • Capture intégrale des tendances du marché
  • Améliorer l’adaptabilité des stratégies
  1. Ajustabilité des paramètres
  • Des points de rupture personnalisables
  • Adaptation à différents environnements de marché et variétés commerciales

Risque stratégique

  1. Risque de sensibilité des paramètres
  • Les moyennes mobiles et les paramètres SRI ont un impact significatif sur la performance de la stratégie
  • Il est nécessaire d’effectuer des mesures de retour suffisantes et d’optimiser les paramètres
  1. Risque de fortes fluctuations sur le marché
  • Une stratégie qui pourrait échouer dans des conditions de marché extrêmes
  • Il est recommandé de définir une limite de retrait maximale.
  1. Risques liés à la survente
  • La fréquence des transactions peut augmenter les coûts
  • Il est nécessaire de faire des ajustements en fonction des coûts réels des transactions.
  1. Risque de retard dans les indicateurs
  • Les moyennes mobiles sont en retard
  • Peut-être que vous avez manqué un signal de tendance précoce

Orientation de l’optimisation de la stratégie

  1. Les algorithmes d’apprentissage automatique sont introduits
  • Paramètres d’optimisation utilisant des algorithmes d’apprentissage supervisé
  • Dynamique d’ajustement du point de rupture
  • Améliorer la résilience des stratégies
  1. Ajout de conditions de filtrage supplémentaires
  • Introduction de l’indicateur de la quantité d’échange
  • Ajout d’un indicateur de force de tendance
  • Amélioration de la précision des signaux
  1. Optimisation de l’adaptation à plusieurs variétés
  • Développement d’un mécanisme d’adaptation des paramètres généraux
  • Réduction de l’intervention humaine
  • Améliorer la portée de la stratégie

Résumer

Il s’agit d’une stratégie de négociation quantifiée basée sur une analyse à plusieurs échelles temporelles, conçue pour capturer les tendances du marché et contrôler les risques de négociation grâce à des indicateurs techniques intégrés et à un mécanisme de gestion des risques avancé. Le principal avantage de la stratégie réside dans la validation multidimensionnelle du signal et le contrôle des risques flexibles.

Code source de la stratégie
/*backtest
start: 2024-04-17 00:00:00
end: 2025-04-15 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"TRX_USD"}]
*/

//@version=6
strategy("Strategia LONG & SHORT con TP, SL e BE", overlay=true, default_qty_type=strategy.fixed, default_qty_value=1)

// === INPUT === //
tp_points = input.int(60000, "Take Profit (punti)")
sl_points = input.int(25000, "Stop Loss (punti)")
breakeven_trigger = tp_points * 0.5

// === MEDIE MOBILI === //
ma5  = ta.sma(close, 5)
ma10 = ta.sma(close, 10)
ma50 = ta.sma(close, 50)
ma100 = ta.sma(close, 100)

// === SRI da timeframe 1 minuto === //
sri_tf = "1"
sri_length = 10
sri_src = close
sri = request.security(syminfo.tickerid, sri_tf, ta.stoch(sri_src, sri_src, sri_src, sri_length))

// === CONDIZIONI LONG === //
long_candle        = open > close[1]
price_above_ma100  = close > ma100
ma50_above_ma100   = ma50 > ma100
ma5_above_ma10     = ma5 > ma10
sri_below_75       = sri < 70

long_condition = long_candle and price_above_ma100 and ma50_above_ma100 and ma5_above_ma10 and sri_below_75

// === CONDIZIONI SHORT === //
short_candle       = open < close[1]
price_below_ma100  = close < ma100
ma50_below_ma100   = ma50 < ma100
ma5_below_ma10     = ma5 < ma10
sri_above_25       = sri > 30

short_condition = short_candle and price_below_ma100 and ma50_below_ma100 and ma5_below_ma10 and sri_above_25

// === ENTRY LONG === //
if (long_condition)
    strategy.entry("Long", strategy.long)

// === ENTRY SHORT === //
if (short_condition)
    strategy.entry("Short", strategy.short)

// === GESTIONE USCITE === //
var float long_entry_price  = na
var float short_entry_price = na

// LONG: TP/SL + break-even
if (strategy.position_size > 0)
    if (na(long_entry_price))
        long_entry_price := strategy.position_avg_price

    tp_price_long = long_entry_price + tp_points * syminfo.mintick
    sl_price_long = long_entry_price - sl_points * syminfo.mintick
    be_trigger_long = long_entry_price + breakeven_trigger * syminfo.mintick
    sl_be = close >= be_trigger_long ? long_entry_price : sl_price_long

    strategy.exit("Exit Long", from_entry="Long", limit=tp_price_long, stop=sl_be)

// SHORT: TP/SL + break-even
if (strategy.position_size < 0)
    if (na(short_entry_price))
        short_entry_price := strategy.position_avg_price

    tp_price_short = short_entry_price - tp_points * syminfo.mintick
    sl_price_short = short_entry_price + sl_points * syminfo.mintick
    be_trigger_short = short_entry_price - breakeven_trigger * syminfo.mintick
    sl_be_short = close <= be_trigger_short ? short_entry_price : sl_price_short

    strategy.exit("Exit Short", from_entry="Short", limit=tp_price_short, stop=sl_be_short)

// Reset quando flat
if (strategy.position_size == 0)
    long_entry_price := na
    short_entry_price := na