
Cette stratégie est basée sur l’idée de la stratégie classique de Larry Connors, qui utilise un système bi-linéaire pour capturer les oscillations de la courte et moyenne courbe du marché, et pour réaliser des opérations de stockage en toute sécurité dans les zones de survente.
L’indicateur RSI à 2 cycles est utilisé pour déterminer si le cours d’une action est en zone de survente.
Pour déterminer la direction de la tendance générale, utilisez la moyenne à long terme ((en 200 cycles)). Ne considérez la position que lorsque le prix est supérieur à la moyenne à long terme.
Lorsque le prix est supérieur à la moyenne à long terme et que l’indicateur RSI est inférieur à la ligne de survente, il est préférable d’ouvrir une position au prix du marché.
Lorsque la hausse des prix dépasse la moyenne à court terme (en 5 cycles), la hausse s’arrête au niveau du prix du marché.
En outre, la stratégie offre les options de configuration suivantes:
Paramètres du RSI: longueur du cycle, position des lignes de survente et de survente.
Paramètre de la ligne moyenne: la longueur et la longueur de la période de la ligne moyenne.
Filtre RSI moyen: ajouter un jugement RSI moyen pour éviter que l’indicateur RSI ne soit trop oscillant
Paramètres de stop-loss: vous pouvez choisir d’ajouter ou non un stop-loss.
L’utilisation d’un système bi-linéaire permet de suivre efficacement les tendances à long terme.
L’indicateur RSI évite de rater les meilleurs moments d’entrée dans une forte secousse.
Il est flexible et peut être configuré pour différents paramètres.
Il n’est pas facile de manquer une rundown.
Les stratégies de double équilibre sont sensibles aux paramètres et nécessitent une optimisation des paramètres pour obtenir des résultats optimaux.
La configuration sans perte présente un risque d’expansion des pertes. Une gestion prudente des fonds et un contrôle de la taille des positions individuelles sont nécessaires.
Il peut y avoir un risque de perte en cas de fausse rupture dans une situation de choc. Il peut être envisagé d’optimiser le cycle de la moyenne ou d’ajouter d’autres conditions comme filtres.
Risque de convergence des données de retracement. La validation de la robustesse de la stratégie est nécessaire sur plusieurs marchés sur une longue période.
Testez les combinaisons de paramètres RSI et de la moyenne pour trouver le paramètre optimal.
Test de différentes conditions de filtrage d’entrée, telles que des surtensions de transactions, afin de réduire les faux signaux.
L’ajout d’un stop-loss de suivi pour contrôler les pertes individuelles. Il est nécessaire d’évaluer l’impact du paramètre de stop-loss sur le bénéfice global.
Évaluer l’impact des différentes périodes de détention sur les bénéfices et rechercher la meilleure période de détention.
La stabilité de la stratégie est testée sur des périodes de temps plus longues (par exemple, le niveau de la ligne solaire).
Cette stratégie intègre le suivi des tendances de la bi-équilibre et les caractéristiques de survente et de survente de l’indicateur RSI, un système de rupture typique. Grâce à l’optimisation des paramètres, à la gestion rigoureuse des fonds et à la vérification de la robustesse, la stratégie peut devenir un outil puissant pour la quantification des transactions. Cependant, les traders doivent être vigilants après avoir détecté des problèmes d’adaptation et continuer à ajuster et à perfectionner la stratégie en direct pour l’adapter à un environnement de marché changeant.
/*backtest
start: 2023-09-26 00:00:00
end: 2023-10-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("RSI Strategy", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
//Starter Parameters
length = input(title="RSI Lenght", defval=2)
overBoughtRSI = input(title="OverBought Level for RSI", defval=10)
shortLength = input(title="Short MA Length", defval=5)
longLength = input(title="Long MA Length", defval=200)
RuleMRSI=input(title="RSI Moving Average Filter", defval= true)
lengthmrsi=input(title="RSI Moving Average Length", defval=4)
overBoughtMRSI=input(title="OverBought Level for the Moving Average of the RSI", defval=30)
Rulestop=input(title="Apply Stop Loss", defval=false)
stop_percentual=input(title="% Stop Loss", defval=10)
//RSI
vrsi = rsi(close, length)
//Moving Averages
longma = sma(close,longLength)
shortma = sma(close,shortLength)
mrsi=sma(vrsi,lengthmrsi)
//Stop Loss
stop_level = strategy.position_avg_price*((100-stop_percentual)/100)
//Backtest Period
testStartYear = input(2009, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(2, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(2020, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)
testPeriod() => true
//Strategy
if testPeriod() and (not na(vrsi))
if (RuleMRSI==false) and (Rulestop==false)
if (vrsi<overBoughtRSI) and (close>longma)
strategy.entry("RsiLE", strategy.long , comment="Open")
if (close>shortma)
strategy.close_all()
if (RuleMRSI==true) and (Rulestop==false)
if (vrsi<overBoughtRSI) and (close>longma) and (mrsi<overBoughtMRSI)
strategy.entry("RsiLE", strategy.long , comment="Open")
if (close>shortma)
strategy.close_all()
if (RuleMRSI==false) and (Rulestop==true)
if (vrsi<overBoughtRSI) and (close>longma)
strategy.entry("RsiLE", strategy.long , comment="Open")
strategy.exit("RsiLE", stop = stop_level)
if (close>shortma)
strategy.close_all()
if (RuleMRSI==true) and (Rulestop==true)
if (vrsi<overBoughtRSI) and (close>longma) and (mrsi<overBoughtMRSI)
strategy.entry("RsiLE", strategy.long , comment="Open")
strategy.exit("RsiLE", stop = stop_level)
if (close>shortma)
strategy.close_all()