Stratégie de trading à seuil basée sur le RSI


Date de création: 2023-10-30 14:58:38 Dernière modification: 2023-10-30 14:58:38
Copier: 0 Nombre de clics: 805
1
Suivre
1617
Abonnés

Stratégie de trading à seuil basée sur le RSI

Aperçu

La stratégie implique une simple stratégie de trading à la baisse basée sur l’indicateur RSI, relativement faible. Vous pouvez acheter lorsque le RSI est inférieur à 30 et vendre lorsque le RSI est supérieur à 40. La durée de la position est fixée à 10 jours.

Principe de stratégie

La stratégie est basée principalement sur la production de signaux de négociation dans les zones de survente et de survente du RSI. L’indicateur RSI reflète la lenteur de la baisse d’une tendance intra-cyclique. Un RSI inférieur à 30 indique qu’il est au-dessus de la zone de vente et que le prix peut rebondir; un RSI supérieur à 70 indique qu’il est au-dessus de la zone de vente et que le prix peut baisser.

Plus précisément, la stratégie commence par calculer le RSI à 10 jours, puis définit des seuils de 30 et 40. Le RSI à 10 jours génère un signal d’achat lorsque le RSI à 10 jours est inférieur à 30 et un signal de vente lorsque le RSI à 10 jours est supérieur à 40.

La stratégie est simple et facile à comprendre, en utilisant le RSI pour juger des zones de survente et de survente, et en réalisant une stratégie de trading à la baisse basée sur l’indicateur.

Avantages stratégiques

  1. Utilisation d’un large éventail d’indicateurs RSI, avec beaucoup de place pour l’optimisation des paramètres

La stratégie utilise des indicateurs RSI largement utilisés. Les paramètres RSI peuvent être ajustés et optimisés pour différents cycles et environnements de marché.

  1. Le suivi des tendances est simple.

Le RSI peut refléter la tendance des changements de prix. La stratégie permet un suivi simple des tendances en fonction de l’indicateur RSI pour déterminer les mouvements de prix.

  1. Une meilleure maîtrise des risques

La stratégie utilise une période de détention fixe qui permet de contrôler efficacement les pertes individuelles. En même temps, les paramètres RSI peuvent être ajustés pour réduire la probabilité d’erreur de transaction.

Risque stratégique

  1. Les paramètres du RSI sont faciles à optimiser

Les paramètres du RSI peuvent être réglés de manière flexible, mais la sur-optimisation et le biais de retracement peuvent entraîner des risques pour le marché réel.

  1. Il y a un certain retard.

Le RSI est un indicateur de suivi de la tendance. Il est lent à réagir aux événements soudains et présente un certain retard. Il doit être optimisé en combinaison avec d’autres indicateurs.

  1. La flexibilité de la période de détention fixe est insuffisante

La durée de la position fixe impose un point d’arrêt et ne peut pas être ajustée en fonction des variations du marché. Il est souhaitable d’optimiser davantage l’ajustement dynamique des arrêts et des pertes.

Orientation de l’optimisation de la stratégie

  1. Optimiser les paramètres du RSI et tester l’influence des différents paramètres sur la stratégie

  2. Ajouter d’autres indicateurs pour former un ensemble d’indicateurs et tirer parti des avantages des différents indicateurs

  3. Optimiser les stratégies de stop-loss afin de pouvoir s’adapter dynamiquement aux changements du marché

  4. Optimisation de la gestion des positions et adaptation dynamique des positions en fonction des conditions du marché

  5. Tester les variétés qui correspondent à la stratégie, choisir les variétés qui ont une bonne liquidité et une grande volatilité

  6. Optimiser les heures de négociation, tester l’impact des différentes heures de négociation sur la stratégie

Résumer

La stratégie est relativement simple dans l’ensemble, la stratégie de négociation basée sur la dépréciation est réalisée grâce à l’indicateur RSI. Les avantages de la stratégie sont simples et faciles à comprendre, le contrôle du risque est relativement bon. Mais il y a aussi des problèmes tels que la difficulté d’optimisation des paramètres RSI, l’inflexibilité des stop-loss.

Code source de la stratégie
/*backtest
start: 2022-10-23 00:00:00
end: 2023-10-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Bitduke

//@version=4
// strategy("Simple RSI Buy/Sell at a level", shorttitle="Simple RSI Strategy", overlay=true,calc_on_every_tick=false,pyramiding=1, default_qty_type=strategy.cash,default_qty_value=1000, currency=currency.USD, initial_capital=1000,commission_type=strategy.commission.percent, commission_value=0.075)
overbought = input(40, title="overbought value")
oversold = input(30, title="oversold value")
// Component Test Periods Code Begin
testStartYear = input(2018, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2021, "Backtest Stop Year")
testStopMonth = input(16, "Backtest Stop Month")
testStopDay = input(2, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=input.bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)

testPeriod() => true
// Component Test Periods Code End
//////////////////////////////////////////////////////////////////////

myrsi = rsi(close, 10) > overbought
myrsi2 = rsi(close, 10) < oversold

barcolor(myrsi ? color.black : na)
barcolor(myrsi2 ? color.blue : na)


myEntry = myrsi2 and hour(time) <= 9

strategy.entry("Buy Signal", strategy.long, when = myEntry and testPeriod())

// Close 10 bar periods after the condition that triggered the entry

//if (myEntry[10])
    //strategy.close("Buy Signal")
strategy.close("Buy Signal", when = barssince(myEntry) >= 10 or myrsi and testPeriod())

//strategy.entry("Sell Signal",strategy.short, when = myrsi2)