Cette stratégie est un système de trading de suivi de tendance basé sur un RSI (Relative Strength Index) à double période combiné à une gestion de position de style pyramidal. La stratégie compare les indicateurs RSI de deux périodes différentes (14 et 30), intervient au début de la tendance et augmente les positions via des ordres limités lorsque la tendance se poursuit, maximisant ainsi la compréhension de la tendance. Le système est conçu avec un mécanisme complet de contrôle des risques, incluant la gestion des positions et les conditions de liquidation dynamiques.
La stratégie utilise le signal de croisement RSI à double période comme condition de déclenchement de trading et le combine avec une gestion de position de style pyramidal. Spécifiquement:
Cette stratégie permet d’avoir une bonne compréhension de la tendance grâce à la combinaison du RSI à double période et de l’ajout de positions de style pyramidal. La stratégie conçoit un système de trading complet, comprenant des éléments clés tels que l’entrée, l’augmentation de position, le stop loss et la gestion de position. Grâce à l’optimisation des paramètres et à l’amélioration de la gestion des risques, la stratégie devrait permettre d’obtenir des performances stables dans les transactions réelles. Il est recommandé aux traders de tester et d’ajuster entièrement les paramètres en fonction des caractéristiques spécifiques du marché avant de les utiliser dans le trading réel.
/*backtest
start: 2024-12-17 00:00:00
end: 2025-01-16 00:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/
//@version=5
strategy("RSI Top Strategy", overlay=true, pyramiding=2)
qty1 = input( 1 , "Qty first entry", group="Strategy settings")
qty2 = input( 1 , "Qty second entry", group="Strategy settings")
avg1 = input.float( 1.5 , "% averaging ", group="Strategy settings")
overSold = input( 30 , group="open RSI Settings")
overBought = input( 70 , group="open RSI Settings")
rsi1len = input.int(14, minval=1, title="open RSI Length", group="open RSI Settings")
overSold2 = input( 30 , group="close RSI Settings")
overBought2 = input( 70 , group="close RSI Settings")
rsi2len = input.int(30, minval=1, title="close RSI Length", group="close RSI Settings")
price = close
vrsi = ta.rsi(price, rsi1len)
vrsi2 = ta.rsi(price, rsi2len)
sz=strategy.position_size
co = ta.crossover(vrsi, overSold)
cu = ta.crossunder(vrsi, overBought)
if (not na(vrsi))
if (co) and not (sz>0)
strategy.entry("Long", strategy.long, qty = qty1, comment="Long")
Avgl=close-close*0.01*avg1
strategy.entry("AvgL", strategy.long, qty = qty2, limit=Avgl, comment="AvgL")
if (cu) and not (sz<0)
strategy.entry("Short", strategy.short, qty = qty1, comment="Short")
Avgs=close+close*0.01*avg1
strategy.entry("AvgS", strategy.short, qty = qty2, limit=Avgs, comment="AvgS")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)
if sz[1]<0 and sz<0 and vrsi2<overBought2 and vrsi2[1]>=overBought2
strategy.close_all("x")
if sz[1]>0 and sz>0 and vrsi2>overSold2 and vrsi2[1]<=overSold2
strategy.close_all("x")
plot(vrsi,'open rsi',color=color.green)
plot(vrsi2,'close rsi',color=color.red)
hline(overBought, "RSI Upper Band", color=#787B86)
hline(overSold, "RSI Upper Band", color=#787B86)