RSI Momentum Stratégie courte longue

Auteur:ChaoZhang est là., Date: 2023-10-26 17h05 et 40 min
Les étiquettes:

img

Résumé

La stratégie RSI Momentum Long Short est une stratégie de momentum typique basée sur l'indicateur RSI de Larry Connors, utilisant les signaux de surachat et de survente du RSI pour déterminer les entrées et les sorties.

La logique de la stratégie

La stratégie construit l'indicateur RSI en calculant la dynamique haussière et la dynamique baissière des prix sur une période de rétrospective.

Des filtres de moyenne mobile supplémentaires sont ajoutés - ne permettant que des signaux longs lorsque l'EM de 5 jours est supérieur à l'EM de 200 jours, et des signaux courts lorsque l'EM de 5 jours est inférieur à l'EM de 200 jours. Cela aide à filtrer les faux signaux des rebonds à court terme.

Des mécanismes de prise de profit sont également introduits. Les positions longues existantes seront fermées lorsque le RSI franchit la ligne de surachat 90. Les positions courtes existantes seront fermées lorsque le RSI franchit la ligne de survente 10.

Les avantages de la stratégie

  1. L'utilisation du RSI pour identifier les niveaux de surachat/survente capte les moments d'inversion des prix.

  2. L'ajout de filtres MA réduit les faux signaux du bruit à court terme.

  3. Les mécanismes de prise de profit aident à contrôler les risques et à limiter les pertes.

  4. Des règles simples et claires, faciles à comprendre et à mettre en œuvre.

  5. Le RSI est un indicateur largement utilisé et pratique, adapté à de nombreux instruments.

Risques liés à la stratégie

  1. Les indices de rentabilité surachetés/survendus peuvent ne pas toujours entraîner un renversement.

  2. Les filtres MA pourraient également filtrer les bonnes opportunités commerciales.

  3. Des réglages de profit inappropriés abandonnent trop tôt les tendances.

  4. Les paramètres tels que le lookback du RSI, les niveaux de surachat/survente, les paramètres MA doivent être ajustés.

Les risques peuvent être réduits par l'optimisation des paramètres, la combinaison d'autres indicateurs, la prise de bénéfices flexible, etc.

Des possibilités d'amélioration

  1. Testez le RSI avec différentes périodes de rétrospective.

  2. Ajoutez d'autres indicateurs comme KDJ, MACD pour compléter le RSI.

  3. Ajuster les niveaux de surachat/survente en fonction des régimes du marché.

  4. Les niveaux d'indice de rentabilité pour la réalisation de bénéfices sont ajustés en fonction de la période de détention.

  5. Incorporer des stratégies de stop loss basées sur le pourcentage maximal de perte.

  6. Optimisez le système MA, utilisez le stop-loss dynamique.

Conclusion

La stratégie RSI Momentum Long Short capte les opportunités d'inversion à court terme en utilisant le RSI pour identifier les niveaux de surachat/survente, filtrés par les MAs et les règles de prise de profit.


/*backtest
start: 2023-09-25 00:00:00
end: 2023-10-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//authour: SudeepBisht
//@version=3
//Based on Larry Connors RSI-2 Strategy - Lower RSI
strategy("SB_CM_RSI_2_Strategy_Version 2.0", overlay=true)

src = close
entry= input(defval=0,title="Entry area")
entry:=nz(entry[1])
overBought=input(90)
overSold=input(10)
//RSI CODE
up = rma(max(change(src), 0), 2)
down = rma(-min(change(src), 0), 2)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
//Criteria for Moving Avg rules
ma5 = sma(close,5)
ma200= sma(close, 200)

//Rule for RSI Color
col = close > ma200 and close < ma5 and rsi < 10 ? lime : close < ma200 and close > ma5 and rsi > 90 ? red : silver
chk= col==red?-1:col==lime?1:0

if (not na(rsi))
    if (crossover(rsi, overSold))
        if(chk[1]==1)
            strategy.entry("RsiLE", strategy.long, comment="RsiLE")
            entry:=1
    if (crossunder(rsi, overBought))
        if(chk[1]==-1)
            strategy.entry("RsiSE", strategy.short, comment="RsiSE")
            entry:=-1
        
if (not na(rsi))
    if (crossover(rsi, overSold) and entry==-1)
        strategy.close_all()
        //strategy.entry("RsiLE", strategy.long, comment="RsiLE")
        entry:=0
    if (crossunder(rsi, overBought) and entry==1)
        strategy.close_all()
        //strategy.entry("RsiSE", strategy.short, comment="RsiSE")
        entry:=0
        


Plus de