Stratégie de croisement de moyennes mobiles RSI


Date de création: 2023-11-07 15:35:58 Dernière modification: 2023-11-07 15:35:58
Copier: 0 Nombre de clics: 1008
1
Suivre
1621
Abonnés

Stratégie de croisement de moyennes mobiles RSI

Aperçu

La stratégie de croisement de la moyenne du RSI est une stratégie utilisée dans le trading de crypto-monnaies. Elle applique la moyenne mobile à l’indicateur RSI et émet des signaux d’achat et de vente en fonction de la croisement du RSI avec sa moyenne mobile.

Principe de stratégie

La stratégie commence par calculer l’indicateur RSI. L’indicateur RSI est basé sur les fluctuations à la baisse d’une période donnée, reflétant la force et la faiblesse des prix. Le RSI supérieur à 70 est une zone de survente et inférieur à 30 est une zone de survente.

Ensuite, la stratégie applique une moyenne mobile basée sur l’indicateur RSI. La moyenne mobile est capable de filtrer les fluctuations aléatoires et de déterminer la direction de la tendance.

Lorsque le RSI est au-dessus de sa moyenne mobile, il est considéré comme un signal d’achat; lorsque le RSI est en dessous de sa moyenne mobile, il est considéré comme un signal de vente. Traiter en fonction de ces deux signaux.

Dans le code, on commence par calculer l’indicateur RSI pour les cycles de longueur. On calcule ensuite la moyenne mobile des cycles de 10 RSI ma. On achète lorsque ma dépasse rsi; on vend lorsque ma dépasse rsi.

En outre, le code trace un diagramme linéaire de rsi, ma, et un diagramme colonnade de rsi-ma. Il trace une ligne de démarcation de rsi=70, rsi=30 et marque les flèches correspondantes sur le diagramme lors de l’achat et de la vente.

Analyse des forces stratégiques

  • L’indicateur RSI permet de juger si une tendance est trop achetée ou trop vendue, tandis que la moyenne mobile permet de filtrer les fluctuations aléatoires, ce qui permet d’identifier les points de conversion de la tendance.
  • Le croisement de la ligne moyenne RSI est une stratégie de trading plus mature qui permet de filtrer certains signaux faux.
  • Le code de la stratégie est simple, clair et compréhensible. La fonctionnalité de cartographie est complète et les signaux de transaction peuvent être clairement observés.
  • Cette stratégie est plus efficace pour les crypto-monnaies où la tendance est plus évidente.

Analyse stratégique des risques

  • Le RSI et les moyennes mobiles utilisent des paramètres cycliques inappropriés, ce qui peut entraîner une surproduction de signaux erronés.
  • Le simple fait de se fier à des indicateurs croisés ne permet pas d’éviter complètement la prise de risque.
  • Les frais de transaction ont une certaine influence sur les bénéfices. La gestion des positions doit être optimisée.
  • Le marché de la crypto-monnaie est très volatil et il faut être vigilant face aux risques de rupture.

Il est possible d’ajuster les paramètres pour optimiser l’effet de l’indicateur en fonction du risque, de réduire les positions de manière appropriée, de définir une ligne de stop-loss et de filtrer les signaux en combinaison avec l’analyse des tendances.

Orientation de l’optimisation de la stratégie

  • Les meilleures combinaisons de RSI et de moyenne peuvent être étudiées sous différents paramètres périodiques
  • Il est possible d’augmenter les positions en cas de forte tendance et de réduire les positions en cas de tendance incertaine.
  • Il est possible de définir un arrêt dynamique pour suivre la tendance
  • Il est possible d’explorer d’autres indicateurs en combinaison avec le RSI pour créer de nouveaux signaux de trading.
  • Des modèles d’apprentissage automatique basés sur cette stratégie peuvent être explorés pour améliorer les chances de réussite de la stratégie.

Résumer

La stratégie de croisement de la RSI, combinant les avantages de l’indicateur de tendance et de l’indicateur de filtrage, est relativement mature et fiable. La logique de la stratégie est simple et compréhensible, la mise en œuvre du code est complète et, dans l’ensemble, c’est une bonne stratégie de trading de crypto-monnaie.

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

//@version=4
strategy("RSI w MA Strategy", shorttitle="RSI w MA Strategy", overlay=false, initial_capital=10000, currency='USD',process_orders_on_close=true)

//TIME FRAME AND BACKGROUND CONTROL/////////////////////////////////////////////
testStartYear = input(2019, "Backtest Start Year")
testStartMonth = input(01, "Backtest Start Month")
testStartDay = input(01, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0)
testStopYear = input(2022, "Backtest Stop Year")
testStopMonth = input(1, "Backtest Stop Month")
testStopDay = input(1, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)
testPeriodBackground = input(title="Color Background?", type=input.bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and time >= testPeriodStart and time <= testPeriodStop ? 
   color.teal : na
//bgcolor(testPeriodBackgroundColor, transp=50)
testPeriod() => true
////////////////////////////////////////////////////////////////////////////////

src = close, len = input(27, minval=1, title="Length")
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))
window = input(10, "RSI MA Window")
ma = sma(rsi,window)
plot(rsi, color=color.orange)
colorr= ma > rsi ? color.red : color.green
plot(ma,color=colorr)
band1 = hline(70)
band0 = hline(30)
fill(band1, band0, color=color.purple, transp=90)
diff = rsi - ma

plot(diff,style= plot.style_columns,transp=50,color = colorr)

plotshape(crossunder(rsi,ma)?rsi:na,title="top",style=shape.triangledown,location=location.absolute,size=size.tiny,color=color.red,transp=0)
plotshape(crossover(rsi,ma)?rsi:na,title="bottom",style=shape.triangleup,location=location.absolute,size=size.tiny,color=color.lime,transp=0)

buySignal = crossover(rsi,ma)
sellSignal = crossunder(rsi,ma)

//TRADE CONTROL/////////////////////////////////////////////////////////////////
if testPeriod()
    if buySignal
        strategy.close("Short", qty_percent = 100, comment = "Close Short")
        strategy.entry("Long", strategy.long, qty=.1)

    if sellSignal
        strategy.close("Long", qty_percent = 100, comment = "Close Long")
        strategy.entry("Short", strategy.short, qty=.1)

////////////////////////////////////////////////////////////////////////////////