La stratégie cyclique de l'indice de force relative (RSI) est une stratégie de trading quantitative basée sur l'indicateur de force relative (RSI). Elle génère des signaux d'achat et de vente via des croisements RSI pour réaliser des transactions rentables.
La stratégie est basée sur l'indicateur RSI, qui mesure la dynamique d'un stock et les niveaux de surachat/survente.
Plus précisément, lorsque le RSI franchit le seuil d'achat (défaut 60), un signal d'achat est généré. La stratégie ouvrira alors une position longue. Plus tard, lorsque le RSI tombe en dessous du seuil de vente (défaut 80), un signal de vente se produit. La stratégie fermera la position longue existante en conséquence. En oscillant entre les deux seuils, l'élan cycle d'avant en arrière pour enregistrer des bénéfices.
La stratégie est écrite en Python en utilisant une logique conditionnelle claire pour les entrées et les sorties.
On peut régler le stop loss, optimiser les paramètres du RSI, ou ajouter des filtres pour l'améliorer.
Il y a plusieurs façons d'optimiser la stratégie:
Cet exemple de base démontre l'utilisation du RSI pour le trading quantitatif. Nous pouvons nous appuyer sur lui avec plus d'indicateurs et de techniques de gestion des risques. En pratique, une optimisation et une personnalisation rigoureuses basées sur la tolérance au risque personnel sont nécessaires avant l'application. Avec une méthodologie solide, cette stratégie peut devenir un outil d'investissement quantitatif efficace.
/*backtest start: 2022-12-06 00:00:00 end: 2023-12-12 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("RSI Cross 60/80 Strategy", overlay=true) // Input for RSI period rsiPeriod = input.int(14, title="RSI Period", minval=1) // Calculate RSI rsiValue = ta.rsi(close, rsiPeriod) // Input for RSI thresholds rsiBuyThreshold = input(60, title="RSI Threshold for Buy") rsiSellThreshold = input(80, title="RSI Threshold for Sell") // Conditions for Buy and Sell signals buySignal = ta.crossover(rsiValue, rsiBuyThreshold) sellSignal = ta.crossunder(rsiValue, rsiSellThreshold) // Plot RSI on the chart plot(rsiValue, title="RSI", color=color.blue) // Strategy entry and exit if (buySignal) strategy.entry("Buy", strategy.long) if (sellSignal) strategy.close("Buy") // Plot Buy and Sell signals on the chart plotshape(series=buySignal, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar) plotshape(series=sellSignal, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)