Stratégie quantitative du DPD-RSI-BB

Auteur:ChaoZhang est là., Date: 2023-11-22 16:17:52 Je vous en prie.
Les étiquettes:

img

Résumé

La stratégie quantitative DPD-RSI-BB combine trois indicateurs - DPD, RSI et Bollinger Bands pour le trading d'actions.

La logique de la stratégie

La stratégie est composée des principales composantes suivantes:

  1. Indicateur DPD pour déterminer la tendance

    Il construit la ligne DEMA en utilisant des moyennes doubles EMA et calcule le pourcentage de différence de prix par rapport à DEMA comme indicateur de détermination de tendance.

  2. Indicateur RSI pour juger des conditions de surachat et de survente

    Il calcule la valeur du RSI sur une certaine période. Le RSI supérieur à la limite supérieure est jugé comme une zone de surachat et le RSI inférieur à la limite inférieure est jugé comme une zone de survente.

  3. Bandes de Bollinger pour identifier le support et la résistance

    Il calcule la bande moyenne, la bande supérieure et la bande inférieure sur une certaine période.

  4. Décision globale

    Lorsque le pourcentage de différence de prix DPD est inférieur au seuil, le RSI est inférieur à la limite inférieure de la zone de survente et le prix est inférieur à la bande supérieure de Bollinger, un signal haussier est généré.

Analyse des avantages

La stratégie présente les avantages suivants:

  1. Un jugement global fondé sur plusieurs indicateurs évite de recevoir de faux signaux d'un seul indicateur.

  2. L'utilisation de l'indicateur RSI pour juger des conditions de surachat et de survente permet de définir à l'avance des points de stop loss et de profit.

  3. L'indicateur DPD permet de mieux déterminer les tendances des prix, tandis que les bandes de Bollinger permettent d'identifier les niveaux de support et de résistance.

  4. Des paramètres flexibles permettent des optimisations pour différents stocks.

Risques et optimisation

La stratégie comporte également certains risques:

  1. La combinaison de multiples indicateurs rend la stratégie assez complexe avec des difficultés de réglage des paramètres.

  2. Les indicateurs tels que le DPD et le RSI présentent certains délais, qui peuvent manquer le meilleur moment d'entrée.

  3. Les paramètres doivent être optimisés en fonction des différents cycles et des caractéristiques des stocks.

Les aspects suivants peuvent être optimisés:

  1. Ajustez les paramètres des indicateurs pour optimiser les points d'entrée et de sortie.

  2. Ajouter des mécanismes de stop loss pour un contrôle strict par perte de transaction.

  3. Test sur différents stocks et paramètres de cycle pour évaluer le rendement de la stratégie.

Conclusion

La stratégie DPD-RSI-BB combine plusieurs indicateurs pour les jugements afin d'éviter les faux signaux d'un seul indicateur. Grâce à l'optimisation des paramètres, elle peut devenir une stratégie de négociation d'actions relativement forte. Mais en raison de sa complexité, elle peut toujours ne pas couvrir complètement les risques du marché et doit être utilisée avec prudence.


/*backtest
start: 2023-11-14 00:00:00
end: 2023-11-21 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version= 2
strategy("DPD+RSI+BB ",overlay=true)
price=close




//############### DPD  #################


buyper =input(-1,step=0.1)
sellper=input(0,step=0.1)
demalen = input(50,title="Dema Length")
e1= ema(close,demalen)
e2=ema(e1,demalen)
demaprice  =   2 * e1 - e2
demadifper =  ((price-demaprice)/price)*100


//############## DPD #####################

//############# RSI ####################


lengthrsi = input(6)
overSold = input( 20 )
overBought = input( 60 )

vrsi = rsi(price, lengthrsi)

//########## RSI #######################

//############### BB #################

lengthbb = input(50, minval=1)
multlow = input(1.5, minval=0.001, maxval=50,step=0.1)
multup = input(1.5,minval=0.001,maxval=50,step=0.1)

basisup = sma(close, lengthbb)
basislow = sma(close, lengthbb)

devup = multup * stdev(close, lengthbb)

devlow = multlow*stdev(close,lengthbb)

upperbb = basisup + devup
lowerbb = basislow - devlow

p1 = plot(upperbb, color=blue)
p2 = plot(lowerbb, color=blue)
fill(p1, p2)



//########### BB ###################




yearfrom = input(2018)
yearuntil =input(2039)
monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)



if (  (demadifper<buyper) and crossover(vrsi,overSold) and  (price < upperbb) and   year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil) 
    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND",  comment="BUY")
    
else
    strategy.cancel(id="BUY")


if (   price>upperbb and vrsi>overBought and demadifper>sellper   and  year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil ) 

    strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND",  comment="SELL")
else
    strategy.cancel(id="SELL")
    
    
    

Plus de