Stratégie de trading quantitative combinant canal de tendance dynamique et indice de force relative

KC RSI EMA ATR
Date de création: 2025-02-18 15:15:48 Dernière modification: 2025-02-18 15:15:48
Copier: 1 Nombre de clics: 345
1
Suivre
1617
Abonnés

Stratégie de trading quantitative combinant canal de tendance dynamique et indice de force relative

Aperçu

La stratégie est un système de trading quantitatif qui combine le canal de Keltner et l’indicateur relativement faible RSI. La stratégie capte les opportunités de trading dans les fluctuations du marché en combinant le canal de prix dynamique et l’indicateur de dynamique. La stratégie utilise les canaux de prix de calcul des moyennes mobiles de l’indicateur (EMA) et de l’amplitude réelle moyenne (ATR) et la confirmation des signaux de négociation avec l’indicateur RSI, permettant le suivi de la tendance et le double filtrage des surventes.

Principe de stratégie

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

  1. Construction de la voie Kentner: utilisation d’une EMA de 20 cycles comme voie médiane, et d’un ATR de 10 cycles multiplié par un multiple de 1,5 pour déterminer l’ascension et la descente de la voie, formant ainsi une zone de fluctuation des prix dynamique.
  2. L’indicateur RSI est utilisé pour calculer le RSI sur 14 cycles, en utilisant 70 et 30 comme seuils critiques pour les surachats et les survente.
  3. Génération de signaux de négociation:
    • Conditions multiples: le cours a dépassé la trajectoire descendante du canal et le RSI est inférieur à 30
    • Conditions de dépréciation: le cours a franchi le canal et le RSI est supérieur à 70
  4. Logique de placement:
    • Période de clôture à plusieurs niveaux: prix en dessous de l’EMA ou RSI à plus de 50
    • Le cours a dépassé l’EMA ou le RSI et est tombé en dessous de 50.

Avantages stratégiques

  1. Confirmation multidimensionnelle: amélioration de la fiabilité des signaux de négociation par la combinaison de la rupture des prix et des indicateurs de dynamique.
  2. Adaptation dynamique: les canaux Kentner sont capables d’ajuster automatiquement la largeur de la plage en fonction de la volatilité du marché pour s’adapter à différentes conditions de marché.
  3. Contrôle des risques: utilisation des niveaux neutres des EMA et du RSI comme conditions de péréquation, aidant à un arrêt-stop en temps opportun.
  4. Prise en charge visuelle: la stratégie fournit une interface graphique claire, comprenant des marqueurs de canaux, de niveaux RSI et de signaux de négociation.

Risque stratégique

  1. Risque de fausse rupture: Les signaux de fausse rupture peuvent être fréquents dans les marchés en crise.
  2. Problème de retard: L’EMA et le RSI ont un certain retard qui peut entraîner des retards dans l’heure d’entrée ou de sortie.
  3. Sensitivité des paramètres: les effets de la stratégie sont sensibles aux paramètres qui peuvent être modifiés en fonction des conditions du marché.
  4. La dépendance à la tendance: les stratégies peuvent être moins performantes dans des marchés où la tendance n’est pas évidente.

Orientation de l’optimisation de la stratégie

  1. Adaptation des paramètres: un mécanisme d’adaptation peut être introduit pour ajuster les paramètres de la chaîne et les seuils du RSI en fonction de la dynamique de la volatilité du marché.
  2. Filtrage du signal: augmentation des indicateurs auxiliaires tels que le volume de trafic, la volatilité, etc. pour améliorer la qualité du signal.
  3. Gestion des positions: introduction d’un mécanisme de gestion des positions dynamique qui permet d’ajuster le volume des positions en fonction de l’intensité des signaux et des risques du marché.
  4. Identification de l’environnement de marché: ajout d’un module de jugement de l’environnement de marché, utilisant une combinaison de paramètres différente dans différents états de marché.

Résumer

La stratégie a pour avantage de permettre une confirmation multidimensionnelle du signal et une adaptation dynamique, mais elle doit également être attentive aux risques tels que les faux-battements et la sensibilité des paramètres. La stabilité et la fiabilité de la stratégie sont susceptibles d’être améliorées en optimisant davantage l’auto-adaptation des paramètres et le mécanisme de filtrage du signal.

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

//@version=6
strategy("Keltner Channel + RSI Stratégiia", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=200)

// Parametre Keltner Channel
ema_length = input.int(20, title="EMA Perióda")
atr_length = input.int(10, title="ATR Perióda")
multiplier = input.float(1.5, title="ATR Multiplikátor")

// Výpočet Keltner Channel
ema = ta.ema(close, ema_length)
atr = ta.atr(atr_length)
upper_kc = ema + (multiplier * atr)
lower_kc = ema - (multiplier * atr)

// Parametre RSI
rsi_length = input.int(14, title="RSI Perióda")
rsi_overbought = input.int(70, title="RSI Prekúpenosť")
rsi_oversold = input.int(30, title="RSI Prepredanosť")

// Výpočet RSI
rsi = ta.rsi(close, rsi_length)

// Obchodné podmienky

// Nákupná podmienka: Cena prechádza nad dolnou Keltner Channel a RSI je pod prepredanosťou
long_condition = ta.crossover(close, lower_kc) and (rsi < rsi_oversold)

// Predajná podmienka: Cena prechádza pod hornou Keltner Channel a RSI je nad prekúpenosťou
short_condition = ta.crossunder(close, upper_kc) and (rsi > rsi_overbought)

// Uzatváranie pozícií
close_long_condition = ta.crossunder(close, ema) or (rsi > 50)
close_short_condition = ta.crossover(close, ema) or (rsi < 50)

// Vstupy do pozícií
if (long_condition)
    strategy.entry("Long", strategy.long)

if (short_condition)
    strategy.entry("Short", strategy.short)

// Uzatváranie pozícií
if (close_long_condition)
    strategy.close("Long")

if (close_short_condition)
    strategy.close("Short")

// Vizualizácia indikátorov

// Keltner Channel
plot_ema = plot(ema, title="EMA", color=color.blue, linewidth=2)
plot_upper = plot(upper_kc, title="Horná Keltner Channel", color=color.green, linewidth=1)
plot_lower = plot(lower_kc, title="Dolná Keltner Channel", color=color.red, linewidth=1)
fill(plot_upper, plot_lower, color=color.new(color.purple, 90), title="Keltner Channel Fill")  // Nastavenie transparentnosti priamo v farbe

// RSI
hline_overbought = hline(rsi_overbought, "RSI Overbought", color=color.red, linestyle=hline.style_dotted)
hline_oversold = hline(rsi_oversold, "RSI Oversold", color=color.green, linestyle=hline.style_dotted)
plot_rsi = plot(rsi, title="RSI", color=color.orange, linewidth=2, offset=0)

// Šípky pre signály
plotshape(series=long_condition, location=location.belowbar, color=color.green, style=shape.labelup, title="Nákupný Signál", text="BUY")
plotshape(series=short_condition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Predajný Signál", text="SELL")