Stratégie de trading quantitatif de divergence de tendance multi-indicateurs

BB RSI STOCH MFI EMA SMA
Date de création: 2025-02-08 16:08:01 Dernière modification: 2025-02-08 16:08:01
Copier: 0 Nombre de clics: 420
1
Suivre
1617
Abonnés

Stratégie de trading quantitatif de divergence de tendance multi-indicateurs

Aperçu

Il s’agit d’une stratégie de trading basée sur le suivi de tendances et de déviation basée sur plusieurs indicateurs techniques. Cette stratégie utilise des bandes de Bollinger, des indicateurs de force relative, des indicateurs stochastiques et des indicateurs de flux de trésorerie pour capturer les occasions de survente et de survente du marché et renforcer la fiabilité des signaux de trading par la confirmation croisée de plusieurs indicateurs.

Principe de stratégie

La stratégie utilise un système de filtrage à plusieurs niveaux pour confirmer les signaux de transactions:

  1. Utilisation de la bande de Brin ((20,2)) comme référence pour la zone de fluctuation des prix, pour déclencher la pré-sélection du signal d’achat lorsque le prix franchit la bande de Brin.
  2. Le RSI ((3) est défini comme étant une zone de survente ((85,15)), qui est confirmée comme étant une survente lorsque le RSI atteint 15 à la hausse.
  3. L’indicateur aléatoire ((10,3) est réglé sur ((85,15)), confirmant davantage le survente lorsque la ligne K atteint 15 vers le haut.
  4. L’EMA à 10 cycles des IFM est utilisée pour confirmer la circulation des fonds, et la tendance haussière soutient les achats. Les conditions d’achat doivent être remplies simultanément: le prix doit franchir la trajectoire de descente de la courbe de Brin, le RSI doit franchir la survente, l’indicateur aléatoire doit franchir la survente et la tendance MFI doit être à la hausse. Les conditions de vente sont inversées: le prix dépasse la barre de Brin, le RSI dépasse le surachat et l’indicateur aléatoire dépasse le surachat.

Avantages stratégiques

  1. La vérification croisée de multiples indicateurs techniques réduit considérablement les faux signaux.
  2. La combinaison de l’indicateur de tendance et de l’indicateur de dynamique permet à la fois de capturer la tendance et de prévenir une inversion.
  3. L’utilisation d’un RSI rapide (de 3 cycles) améliore la timing de l’entrée.
  4. La confirmation des flux de fonds par les IFM pour une plus grande fiabilité des transactions.
  5. Utilisation des bandes de Brin comme référence de volatilité pour s’adapter aux différentes conditions du marché.

Risque stratégique

  1. Plusieurs indicateurs peuvent provoquer des retards de signal et manquer la meilleure opportunité d’entrée.
  2. Les transactions peuvent être fréquentes dans les marchés volatiles.
  3. Les RSI rapides peuvent être plus sensibles au bruit.
  4. Une plus grande quantité d’échantillons est nécessaire pour vérifier la stabilité de la stratégie. Les mesures de contrôle des risques suivantes sont recommandées:
  • Réglage du stop-loss
  • Contrôler le volume d’une seule transaction
  • Adaptation des paramètres dans différentes conditions de marché
  • Filtrer les transactions en fonction de plus de caractéristiques du marché

Orientation de l’optimisation de la stratégie

  1. Paramètres d’ajustement dynamique de l’indicateur
  • Adaptation des paramètres des bandes de Bryn à la fluctuation du marché
  • RSI cycliquement ajusté en fonction du marché et paramètres cycliques aléatoires
  1. Ajouter un filtre d’environnement de marché :
  • Ajout d’un indicateur de force de tendance
  • Prendre en compte les changements de volume
  1. Améliorer la gestion des risques :
  • Réalisation d’un arrêt de perte dynamique
  • Augmentation de la limite de temps de détention
  1. Optimisation du signal :
  • Ajout de conditions de confirmation de tendance
  • Optimiser le poids des indicateurs

Résumer

La stratégie a un avantage central dans l’amélioration de la fiabilité du signal grâce à la vérification croisée de différents types d’indicateurs, tout en tenant compte de plusieurs caractéristiques du marché telles que la tendance, la dynamique et les flux de fonds. Bien qu’il existe un certain risque de retard, la stratégie a un bon potentiel d’application grâce à des mesures rationnelles d’optimisation des paramètres et de gestion des risques. La stabilité et la rentabilité de la stratégie peuvent être encore améliorées à l’avenir par l’ajustement dynamique des paramètres et le filtrage de l’environnement du marché.

Code source de la stratégie
/*backtest
start: 2022-02-09 00:00:00
end: 2025-02-06 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ahmetkaratas4238

//@version=5
strategy("İzmir Stratejisi", overlay=true)

// **Bollinger Bantları Hesaplamaları**
bbLength = 20
bbMult = 2.0
basis = ta.sma(close, bbLength)
dev = bbMult * ta.stdev(close, bbLength)
upperBand = basis + dev
lowerBand = basis - dev

// **RSI (3,85,15) Hesaplaması**
rsiLength = 3
rsiUpper = 85
rsiLower = 15
rsi = ta.rsi(close, rsiLength)

// **Stochastic (10,3,85,15) Hesaplaması**
stochLength = 10
smoothK = 3
smoothD = 3
stochUpper = 85
stochLower = 15
k = ta.sma(ta.stoch(close, high, low, stochLength), smoothK)
d = ta.sma(k, smoothD)

// **Money Flow Index (MFI) Hesaplaması**
mfiLength = 14
mfi = ta.mfi(close, mfiLength)  // Hata düzeltildi: Artık yalnızca periyot alıyor
mfiTrendUp = ta.ema(mfi, 10) > ta.ema(mfi[1], 10)  // MFI yükseliş trendi
mfiTrendDown = ta.ema(mfi, 10) < ta.ema(mfi[1], 10) // MFI düşüş trendi

// **ALIM ŞARTLARI**
var bbBreakdown=false
var rsiBreakout=false
var stochBreakout=false
bbBreakdown := ta.crossunder(close,lowerBand)?true:bbBreakdown  // Fiyat BB altına sarktı mı?
rsiBreakout := ta.crossover(rsi, rsiLower)?true:rsiBreakout  // RSI 15 seviyesini yukarı kırdı mı?
stochBreakout := ta.crossover(k, stochLower)?true:stochBreakout  // Stochastic alt bandı yukarı kırdı mı?
buyCondition = bbBreakdown and rsiBreakout and stochBreakout and mfiTrendUp

// **SATIM ŞARTLARI**
var bbBreakup=false
var rsiBreakdown=false
var stochBreakdown=false
bbBreakup := ta.crossunder(close, upperBand)?true:bbBreakup  // Fiyat BB üst bandından aşağı kırdı mı?
rsiBreakdown := ta.crossunder(rsi, rsiUpper)?true:rsiBreakdown  // RSI 85 seviyesini aşağı kırdı mı?
stochBreakdown := ta.crossunder(k, stochUpper)?true:stochBreakdown  // Stochastic üst bandı aşağı kırdı mı?
sellCondition = bbBreakup and rsiBreakdown// and stochBreakdown and mfiTrendDown

if ta.crossunder(close,lowerBand)
    bbBreakup:=false
if ta.crossover(rsi, rsiLower)
    rsiBreakdown:=false
if ta.crossover(k, stochLower)
    stochBreakdown:=false

if ta.crossunder(close, upperBand)
    bbBreakdown:=false
if ta.crossunder(rsi, rsiUpper)
    rsiBreakout:=false
if ta.crossunder(k, stochUpper)
    stochBreakout:=false

// **Alım İşlemi Aç**
if buyCondition
    strategy.entry("Long", strategy.long)

// **Satım İşlemi Yap (Pozisyon Kapat)**
if sellCondition
    strategy.close("Long")

// **Bollinger Bantlarını Göster**
plot(upperBand, title="Üst BB", color=color.red)
plot(lowerBand, title="Alt BB", color=color.green)
plot(basis, title="Orta BB", color=color.blue)

// **Alım ve Satım Sinyallerini İşaretle**
plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="AL")
plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="SAT")