Stratégie d'indicateur de momentum ADX et RSI


Date de création: 2023-12-11 16:06:30 Dernière modification: 2023-12-11 16:06:30
Copier: 0 Nombre de clics: 886
1
Suivre
1621
Abonnés

Stratégie d’indicateur de momentum ADX et RSI

Aperçu

Cette stratégie utilise les indicateurs dynamiques ADX, RSI et les bandes de Brin pour déterminer les tendances du marché et les situations de survente et de survente, pour réaliser des stratégies de trading automatiques de bas prix et de vente à bas prix et de sortie rentable.

Principe de stratégie

  1. L’indicateur ADX détermine la tendance. Lorsque l’ADX est supérieur à 32, le marché est considéré comme en tendance.
  2. L’indicateur RSI est considéré comme étant en survente lorsque le RSI atteint 30 et en survente lorsque le RSI atteint 70.
  3. La courbe de Brin détermine la consolidation et la rupture. Lorsque le prix de clôture dépasse la courbe de Brin, le marché est considéré comme terminé par une consolidation; lorsque le prix de clôture tombe sous la courbe de Brin, le marché est considéré comme terminé par une consolidation.

En fonction de ces indicateurs, les stratégies de négociation sont les suivantes:

Conditions d’achat :

  1. ADX>32, état de la tendance
  2. Le RSI est passé de 30 à la survente.
  3. Les cours de clôture se sont arrêtés en dessous de la bande de Brin

Conditions de vente :

  1. ADX>32, état de la tendance
  2. Le RSI est passé sous la barre des 70, en situation de survente.
  3. Le prix de clôture est supérieur à celui de la bande de Brin, qui se termine par une correction de la courbe.

Analyse des avantages

Cette stratégie utilise de multiples indicateurs pour juger de l’état du marché, afin d’éviter la probabilité d’une erreur de jugement d’un seul indicateur. En même temps, par la tendance, le jugement de l’état de survente de l’achat et de la vente, il est possible de bloquer efficacement les points de retournement du marché, pour réaliser des achats bas et des ventes élevées.

La stratégie permet de saisir plus rapidement les opportunités à court terme que l’utilisation d’un seul indicateur de tendance. La stratégie permet de mieux saisir la direction de la tendance que l’utilisation d’un seul indicateur de choc. Par conséquent, la stratégie conserve les avantages du suivi de la tendance et a la flexibilité d’opérer en contre-courant, une stratégie quantitative potentiellement plus efficace.

Analyse des risques

Les principaux risques associés à cette stratégie sont les suivants:

  1. Le risque que l’indicateur émette un faux signal. Le jugement de l’indicateur peut être invalide en cas d’événement majeur sur le marché.
  2. Le risque de position de stop loss trop radicale. Si le stop loss est trop petit, il peut être bloqué par les fluctuations du marché à court terme.
  3. Risque d’adaptation des paramètres. Si les paramètres de l’indicateur sont adaptés uniquement sur la base des données historiques, la stabilité des paramètres est médiocre et peut ne pas s’adapter aux changements du marché.

Les mesures de gestion des risques correspondantes:

  1. L’intervention humaine sur les marchés anormaux, la suspension manuelle des stratégies, pour éviter les pertes causées par les mauvais signaux.
  2. Définir une distance de stop raisonnable, combinée à des indicateurs tels que la ligne de parité, pour déterminer le prix de stop et éviter d’être piégé.
  3. L’ajout du module Parameter Tuning permet d’optimiser les paramètres de manière dynamique à l’aide de la méthode Walk Forward Analysis afin de garantir la stabilité des paramètres.

Direction d’optimisation

La stratégie peut être optimisée principalement dans les domaines suivants:

  1. Optimiser les paramètres de l’indicateur. Des algorithmes d’optimisation intelligents peuvent être introduits pour optimiser indépendamment les paramètres de différentes variétés.

  2. Augmentation de l’ingénierie des caractéristiques. Introduction de plus d’indicateurs techniques des prix, mise en place de modèles de support pour la formation de vecteurs et autres, amélioration de la précision du signal.

  3. Combinaison des stratégies de percée. Selon les caractéristiques de la situation des différentes variétés, l’application de règles de jugement basées sur les voies, la résistance au support, etc., pour saisir les points de percée et renforcer la stabilité de la stratégie.

  4. Optimiser le mécanisme de stop-loss. Introduire des méthodes telles que le suivi des arrêts, le stop-loss mobile, etc. pour réaliser un ajustement dynamique des arrêts et des arrêts, le verrouillage maximal des bénéfices et la gestion efficace des risques.

Résumer

Cette stratégie est une stratégie de trading quantitatif à moyen et à court terme, utilisant plusieurs indicateurs techniques tels que l’ADX, le RSI et les courbes de Brent pour juger de l’état du marché. Les opérations d’achat et de vente sont effectuées lors de la détermination des changements majeurs dans la structure du marché. La logique de la stratégie est clairement interprétable, ce qui réduit considérablement la probabilité d’erreur de jugement d’un indicateur technique unique.

Code source de la stratégie
/*backtest
start: 2023-11-10 00:00:00
end: 2023-12-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("DAX Shooter 5M Strategy", overlay=true)

//Creo ADX
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
th = input(title="threshold", type=input.integer, defval=20)
dirmov(len) =>
    up = change(high)
    down = -change(low)
    plusDM = na(up) ? na : up > down and up > 0 ? up : 0
    minusDM = na(down) ? na : down > up and down > 0 ? down : 0
    truerange = rma(tr, len)

    plus = fixnan(100 * rma(plusDM, len) / truerange)
    minus = fixnan(100 * rma(minusDM, len) / truerange)

    [plus, minus]

adx(dilen, adxlen) =>
    [plus, minus] = dirmov(dilen)
    sum = plus + minus
    adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
    adx


[plus, minus] = dirmov(dilen)
sig = adx(dilen, adxlen)

//Creo RSI

src = close
len = input(7, minval=1, title="Periodo RSI")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down)
bandainf = input(30, title="Livello Ipervenduto")
bandasup = input(70, title="Livello Ipercomprato")


//Creo Bande di Bollinger

source = close
length = input(50, minval=1, title="Periodo BB")
mult = input(2.0, minval=0.001, maxval=50, title="Dev BB")

basis = sma(source, length)
dev = mult * stdev(source, length)

upper = basis + dev
lower = basis - dev

plot(basis, color=color.white)
p1 = plot(upper, color=color.aqua)
p2 = plot(lower, color=color.aqua)
fill(p1, p2)

//Stabilisco regole di ingresso

if crossover(rsi, bandainf) and adx(dilen, adxlen) > 32 and low < lower
    strategy.entry("COMPRA", strategy.long, limit=upper, oca_name="DaxShooter", comment="COMPRA")
else
    //strategy.exit("exit", "COMPRA", loss = 90) 
    strategy.cancel(id="COMPRA")

if crossunder(rsi, bandasup) and adx(dilen, adxlen) > 32 and high > upper
    strategy.entry("VENDI", strategy.short, limit=lower, oca_name="DaxShooter",comment="VENDI")
else
    //strategy.exit("exit", "VENDI", loss = 90)
    strategy.cancel(id="VENDI")

//Imposto gli alert
buy= crossover(rsi, bandainf) and adx(dilen, adxlen) > 32 and low < lower
sell= crossunder(rsi, bandasup) and adx(dilen, adxlen) > 32 and high > upper
alertcondition(buy, title='Segnale Acquisto', message='Compra DAX')
alertcondition(sell, title='Segnale Vendita', message='Vendi DAX')

//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)