MACD de la stratégie de négociation du RSI

Auteur:ChaoZhang est là., Date: 21 septembre 2023 à 20h48
Les étiquettes:

Résumé

Cette stratégie utilise l'indicateur MACD pour déterminer la tendance de l'indicateur RSI, générant des signaux de trading.

La logique de la stratégie

La stratégie repose sur deux indicateurs principaux:

  1. Indice de résistance Calcule le RSI régulier de 14 périodes.

  2. MACD du RSI Calcule les valeurs MACD sur le RSI, avec par défaut MA rapide 12, MA lent 26, ligne de signal 9.

Lorsque le MACD du RSI se croise vers le haut, le croix dorée du MA rapide et lent, il détermine une tendance haussière et va long.

Quand le MACD descend, le MAC rapide et lent se croisent, il détermine une tendance à la baisse et va court.

Les moyennes mobiles exponentielles du MACD aident à déterminer la tendance à long terme du RSI lui-même, ce qui donne des signaux plus précis.

Les avantages

  • Le MACD juge la direction de la tendance du RSI pour une plus grande précision
  • RSI comme indicateur principal, MACD comme indicateur secondaire
  • Les MAs exponentielles stabilisent la détermination de la tendance
  • Les combinaisons se vérifient mutuellement, évitant les conflits
  • Le réglage des paramètres offre une flexibilité pour les différents marchés

Les risques

  • L'indicateur RSI et le MACD peuvent tous deux être en retard, ce qui conduit à des signaux inexacts
  • Des paramètres MACD incorrects peuvent générer plus de faux signaux
  • Basé uniquement sur des indicateurs, sensible aux événements soudains
  • Le mécanisme d'arrêt des pertes doit être amélioré
  • Optimisation des paramètres requise pour différents produits

Les risques peuvent être réduits par:

  • Optimisation des combinaisons de paramètres RSI et MACD
  • Ajout d'autres filtres pour la confirmation
  • TP/SL relâchée pour éviter une sortie prématurée
  • En considérant les réentrées
  • Dimensionnement des positions pour limiter les pertes uniques

Directions de renforcement

La stratégie peut être améliorée par:

  1. Test des combinaisons de paramètres RSI et MACD

  2. Ajout d'une confirmation secondaire lorsque le MACD signale

    Par exemple, les modèles de chandeliers, le volume, les bandes de Bollinger, etc.

  3. Optimisation des arrêts pour les arrêts de retard

  4. Ajout de règles de réentrée

    Rétablir les positions après avoir atteint des arrêts si la tendance se poursuit

  5. Ajustement de la taille des positions en fonction de la volatilité

    Taille plus petite en cas de volatilité élevée, plus grande en cas de volatilité faible

Résumé

Cette stratégie combine les indicateurs RSI et MACD pour se vérifier les uns les autres pour une détection de tendance plus précise et stable. Mais les paramètres doivent être optimisés et des filtres techniques ou des règles de trading supplémentaires sont nécessaires pour la confirmation, évitant ainsi des événements soudains.


/*backtest
start: 2022-09-14 00:00:00
end: 2023-09-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

strategy(title = "MACD of RSI", overlay = false)

//////////////////////// RSI ///////////////////////////

src = close, len = input(14, minval=1, title="Length")
up = sma(max(change(src), 0), len)
down = sma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))


//////////////////////// RSI   //////////////////////////

//////////////// MACD  ////////////////////////////

sourcemacd = rsi 

fastLength = input(12, minval=1), slowLength=input(26,minval=1)
signalLength=input(9,minval=1)


fastMA = ema(sourcemacd, fastLength)
slowMA = ema(sourcemacd, slowLength)

macd = fastMA - slowMA
signal = ema(macd, signalLength)
delta=macd-signal

swap1 = delta>0?green:red

plot(delta,color=swap1,style=columns,title='Histo',histbase=0,transp=20)
p1 = plot(macd,color=blue,title='MACD Line')
p2 = plot(signal,color=red,title='Signal')
fill(p1, p2, color=blue)
hline(0)




/////////////////////////MACD  //////////////////////////


// Conditions



longCond = na
sellCond = na
longCond :=  crossover(delta,0)
sellCond :=  crossunder(delta,0)




monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)



if (  longCond  ) 
    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY")
    
else
    strategy.cancel(id="BUY")


if ( sellCond   ) 

    strategy.close("BUY")







Plus de