
Cette stratégie utilise le RSI pour déterminer le moment de l’achat et de l’achat, et utilise le mécanisme d’arrêt et de perte ATR, qui appartient à la stratégie de suivi de la tendance. En croisant différents indicateurs RSI périodiques pour déterminer le point de basculement de la tendance du marché, en combinaison avec le filtrage de la liquidation pour déterminer le moment de la liquidation. Le mécanisme d’arrêt et de perte contrôle efficacement le risque et bloque la rentabilité.
La stratégie utilise d’abord la technique de l’aplatissement SMA pour calculer une moyenne mobile indicielle de 26 cycles comme référence pour les jugements de plusieurs marchés. Ensuite, la valeur de 4 cycles de l’indicateur RSI est calculée, car il traverse la zone de survente de 30 vers le bas, estimant que la tendance pourrait se retourner vers le haut.
Après l’entrée en bourse, le multiple de l’indicateur ATR est utilisé comme marge de freinage, avec un certain pourcentage de stop loss au point de clôture.
Cette stratégie présente les avantages suivants:
Il a une meilleure capacité à saisir le temps en utilisant l’indicateur RSI pour déterminer le point de basculement.
Il est important d’appliquer un nouveau mécanisme de hauts et de bas pour éviter les faux signaux.
L’ATR est utilisé pour suivre automatiquement les points de sortie optimaux.
Les paramètres sont flexibles et peuvent être ajustés au niveau optimal.
La stratégie est claire et compréhensible, avec une grande stabilité.
La stratégie présente également les risques suivants:
L’indicateur RSI peut émettre des signaux erronés, ce qui entraîne un mauvais moment d’entrée. Vous pouvez ajuster les paramètres RSI de manière appropriée ou ajouter des filtres à d’autres indicateurs.
L’amplitude d’arrêt ATR peut être trop grande ou trop petite pour que le profit maximal ne soit pas bloqué. Une meilleure combinaison de paramètres peut être testée.
Si le point d’arrêt est trop proche, il est possible de franchir le point d’arrêt. La distance d’arrêt peut être allégée de manière appropriée.
Les données de rétroaction sont insuffisantes et peuvent surestimer le rendement de la stratégie. Les périodes de rétroaction et les tests d’environnement du marché devraient être augmentés.
Cette stratégie peut être optimisée dans les domaines suivants:
Tester l’optimisation des paramètres RSI et des multiples de stop-loss pour trouver la meilleure combinaison de paramètres
Ajout d’autres indicateurs de jugement pour améliorer l’exactitude de la stratégie, tels que MACD, KD, etc.
Optimisation des mécanismes de stop-loss, adaptation dynamique en fonction de la gamme de fluctuations de l’ATR.
Testez l’efficacité des variétés commerciales différentes. Choisissez des variétés qui ont une bonne liquidité et une forte volatilité.
Comparer les performances de différents types de stop-loss, tels que le stop-loss proportionnel, le stop-loss mobile, etc.
La stratégie fonctionne globalement de manière claire et fluide, le choix des indicateurs et la configuration des paramètres sont raisonnables et ont une grande utilité. Il y a encore de la place pour une amélioration supplémentaire grâce à l’optimisation des paramètres et à l’amélioration des mécanismes.
/*backtest
start: 2023-02-05 00:00:00
end: 2024-01-18 05:20:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//A translation from info found at http://backtestwizard.com/swing-trading-system-for-stocks/
strategy("Swing Trading System RSI", overlay=true)
source = close[1]
longperiod = input(26,"long week",minval=2,maxval=500,step=1)
s = request.security(syminfo.tickerid, "W", sma(close[1], longperiod)) // 1 Day
plot(s)
shortdays = input(21,"short days high period",minval=2,maxval=500,step=1)
longdays = input(50,"long days high period",minval=2,maxval=500,step=1)
rsiperiod = input(4,"rsi period",minval=2,maxval=500,step=1)
rsithresh = input(30,"rsi thresh",minval=2,maxval=500,step=1)
highcheck = highest(source,shortdays) == highest(source,longdays)
rsicheck = crossunder(rsi(source,rsiperiod),rsithresh)
longCondition = (highcheck) and (rsicheck) and source > s
if (longCondition)
strategy.entry("My Long Entry Id", strategy.long)
profittarget = input(3,"profit target",minval=2,maxval=500,step=1)
stoploss = input(2,"stop target",minval=2,maxval=500,step=1)
exitCondition1 = source > strategy.position_avg_price + (atr(50) * profittarget)
exitCondition2 = source < strategy.position_avg_price - (atr(50) * stoploss)
if (exitCondition1)
strategy.close_all()
if (exitCondition2)
strategy.close_all()