
La stratégie de rotation dynamique est une stratégie de négociation quantitative basée sur un indicateur relativement faible (RSI). La stratégie émet un signal d’achat et de vente en croisant l’indicateur RSI et en réalisant un profit. Elle génère un signal d’achat lorsque le RSI dépasse le seuil défini par l’utilisateur.
La stratégie est basée sur la personnalisation de l’indicateur RSI. L’indicateur RSI reflète la dynamique du marché des actions et les situations de survente et de survente.
Plus précisément, si le RSI franchit le seuil de vente (défaut 60), un signal de vente est généré. Si le RSI franchit le seuil de vente (défaut 80), un signal de vente est généré.
La stratégie est écrite dans le langage Pine Script et la structure du code est claire. La logique d’entrée et de sortie de la stratégie est réalisée à l’aide d’une structure de jugement conditionnelle moderne. La courbe de l’indicateur RSI est également tracée et les signaux de marquage des points d’achat et de vente sont marqués.
Pour ce type de risque, nous pouvons mettre en place des stratégies telles que la mise en place d’une ligne de stop loss, l’optimisation des paramètres du RSI, le filtrage en combinaison avec d’autres indicateurs.
Nous pouvons continuer à optimiser cette stratégie dans les domaines suivants:
Cette stratégie sert d’exemple de base pour montrer comment utiliser les indicateurs RSI pour effectuer des transactions quantifiées. Nous pouvons l’étendre sur cette base, en combinant plus d’indicateurs et d’outils de contrôle des risques pour construire un système de négociation.
/*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)