Stratégie de croisement long-short utilisant des moyennes mobiles doubles et des indicateurs RSI


Date de création: 2024-02-01 11:48:51 Dernière modification: 2024-02-01 11:48:51
Copier: 0 Nombre de clics: 730
1
Suivre
1617
Abonnés

Stratégie de croisement long-short utilisant des moyennes mobiles doubles et des indicateurs RSI

Cette stratégie utilise une combinaison de doubles moyennes mobiles et d’indicateurs RSI pour construire une stratégie de négociation croisée à plusieurs niveaux. Cette stratégie permet de capturer les tendances des lignes moyennes et longues, tout en utilisant les indicateurs des lignes courtes pour éviter les chocs inutiles.

Principe de stratégie

La stratégie utilise deux ensembles de moyennes mobiles, les moyennes mobiles rapides (EMA 59 et EMA 82) et les moyennes mobiles lentes (EMA 96 et EMA 95): faites plus lorsque le prix passe de bas en haut de la moyenne mobile rapide; faites moins lorsque le prix passe de haut en bas de la moyenne mobile rapide. De plus, les zones de sur-achat et de sur-vente de l’indicateur RSI sont utilisées pour confirmer les signaux de négociation et les arrêts.

En particulier, un signal de tête blanche est généré lorsque l’EMA rapide est supérieure à l’EMA lente. Un signal de tête blanche est généré lorsque l’EMA rapide est supérieure à l’EMA lente.

L’avantage d’utiliser des moyennes mobiles doubles est qu’elles permettent de mieux identifier les variations de la tendance de la ligne médiane et longue. L’indicateur RSI permet de filtrer le bruit des transactions causé par certaines fausses ruptures.

Avantages stratégiques

  • La moyenne mobile double est utilisée pour capturer les tendances de la ligne moyenne et longue.
  • Le RSI filtre le bruit des transactions
  • Combiné avec le suivi de la tendance et le trading inverse
  • La logique des transactions est simple et claire.

Analyse des risques

  • Les signaux de trading générés par les moyennes mobiles peuvent être trompés dans des marchés très volatiles
  • L’indicateur RSI peut également être inefficace dans certaines conditions de marché.
  • Les paramètres de point d’arrêt doivent être prudents et ne doivent pas être trop laxistes ou pressants.

Orientation de l’optimisation de la stratégie

  • Combinaisons de moyennes mobiles pour des périodes plus longues
  • Essayez de faire des ajustements de paramètres différents, comme des variations de la fourchette de hausse ou de baisse du RSI
  • Ajout de conditions de filtrage supplémentaires, telles que des indicateurs de volume des transactions
  • Optimisation de la stratégie de stop loss, combinée à un stop loss dynamique avec des indicateurs tels que ATR

Résumer

Cette stratégie intègre les tendances des doubles moyennes mobiles qui suivent le renversement des échanges avec le RSI. Les doubles EMA suivent la direction des tendances des longues lignes du milieu, le RSI est utilisé pour confirmer l’efficacité des signaux de négociation et les arrêts.

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

//@version=2
strategy("Swing Hull/rsi/EMA Strategy", overlay=true,default_qty_type=strategy.cash,default_qty_value=10000,scale=true,initial_capital=10000,currency=currency.USD)

//A Swing trading strategy that use a combination of indicators, rsi for target, hull for overall direction enad ema for entering the martket.
// hull ma copied from syrowof HullMA who copied from mohamed982 :) thanks both
// Performance 

n=input(title="period",defval=500)

n2ma=2*wma(close,round(n/2))
nma=wma(close,n)
diff=n2ma-nma
sqn=round(sqrt(n))

n2ma1=2*wma(close[1],round(n/2))
nma1=wma(close[1],n)
diff1=n2ma1-nma1
sqn1=round(sqrt(n))

n1=wma(diff,sqn)
n2=wma(diff1,sqn)
c=n1>n2?green:red
ma=plot(n1,color=c)



// RSi and Moving averages

length = input( 14 )
overSold = input( 70)
overBought = input( 30)
point = 0.0001
dev= 2

fastLength = input(59)
fastLengthL = input(82)
slowLength = input(96)
slowLengthL = input(95)
price = close

mafast = ema(price, fastLength)
mafastL= ema(price, fastLengthL)
maslow = ema(price, slowLength)
maslowL = ema(price, slowLengthL)
vrsi = rsi(price, length)
cShort =  (crossunder(vrsi, overBought))

condDown = n2 >= n1
condUp = condDown != true
closeLong =  (crossover(vrsi, overSold))
closeShort = cShort 


// Strategy Logic
longCondition = n1> n2
shortCondition = longCondition != true

col =condUp ? lime : condDown ? red : yellow
plot(n1,color=col,linewidth=3)


if (not na(vrsi))
    if shortCondition    
        if (price[0] < maslow[0] and price[1] > mafast[1]) //cross entry
            strategy.entry("SYS-SHORT", strategy.short, comment="short")
strategy.close("SYS-SHORT", when=closeShort) //output logic

if (not na(vrsi))
    if longCondition // swing condition          
        if (price[0] < mafast[0] and price[1] > mafast[1]) //cross entry
            strategy.entry("SYS-LONG", strategy.long, comment="long")
strategy.close("SYS-LONG", when=closeLong) //output logic


// Stop Loss 


sl = input(75)
Stop = sl * 10
Q = 100


strategy.exit("Out Long", "SYS-LONG", qty_percent=Q, loss=Stop)
strategy.exit("Out Short", "SYS-SHORT", qty_percent=Q, loss=Stop)



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