Stratégie de négociation de seuil RSI

Auteur:ChaoZhang est là., Date: le 30 octobre 2023 14:58:38
Les étiquettes:

img

Résumé

Cette stratégie met en œuvre une stratégie de trading de seuil simple basée sur l'indice de force relative (RSI). Elle achète lorsque le RSI tombe en dessous du seuil de 30 et vend lorsque le RSI dépasse le seuil de 40. La période de détention est fixée à 10 jours. La stratégie convient au trading à moyen terme.

La logique de la stratégie

La stratégie utilise principalement les zones de survente et de surachat de l'indicateur RSI pour générer des signaux de trading. Le RSI reflète la vitesse des changements de prix sur une période.

Plus précisément, la stratégie calcule d'abord le RSI de 10 jours, puis fixe les seuils à 30 et 40. Lorsque le RSI de 10 jours tombe en dessous de 30, un signal d'achat est généré. Lorsque le RSI de 10 jours dépasse 40, un signal de vente est généré. Lorsqu'il reçoit le signal d'achat, il ouvre une position longue. Lorsqu'il reçoit le signal de vente, si les jours de détention dépassent 10 jours, il ferme la position directement. Sinon, il continue à tenir jusqu'au 10e jour pour se vendre.

La stratégie est simple et facile à comprendre, elle identifie les zones de survente et de surachat en utilisant le RSI pour mettre en œuvre une stratégie de négociation de seuil basée sur un indicateur.

Les avantages

  1. Utilise l'indicateur RSI largement utilisé avec une marge d'optimisation des paramètres

La stratégie utilise l'indicateur RSI prédominant. Les paramètres RSI peuvent être ajustés et optimisés pour s'adapter à différentes périodes et environnements de marché.

  1. Il met en œuvre une tendance simple suivant

Le RSI peut refléter les tendances de variation des prix.

  1. Contrôle des risques relativement bon

La stratégie adopte une période de détention fixe pour contrôler efficacement les pertes uniques.

Les risques

  1. Paramètres RSI susceptibles d'être sur-optimisés

Les paramètres de l'indice de volatilité peuvent être réglés de manière flexible, mais une optimisation excessive et un biais de backtest peuvent entraîner des risques de trading en direct.

  1. Il existe un effet de retard

Le RSI est un indicateur de tendance et réagit lentement à des événements soudains, avec un certain effet de retard.

  1. La période de détention fixe manque de souplesse

La période de détention fixe impose des points de prise de profit et de stop-loss et ne peut pas être ajustée en fonction des changements du marché.

Directions de renforcement

  1. Optimiser les paramètres RSI et les effets des essais de différentes valeurs.

  2. Ajouter d'autres indicateurs pour former un système combiné utilisant les points forts de différents indicateurs.

  3. Améliorer la stratégie stop profit/loss pour permettre des ajustements dynamiques en fonction des conditions du marché.

  4. Optimiser la taille des positions pour ajuster dynamiquement les positions en fonction des conditions du marché.

  5. Test des produits adaptés à la stratégie, en choisissant des produits liquides à forte volatilité.

  6. Optimiser les heures de négociation et tester les effets sur la stratégie.

Conclusion

La stratégie est relativement simple, en mettant en œuvre une stratégie de trading basée sur le seuil en utilisant le RSI. Ses avantages comprennent la simplicité, la facilité de compréhension et un contrôle des risques relativement bon. Cependant, des problèmes tels que la difficulté d'optimisation des paramètres du RSI et un stop profit/loss inflexible existent. Les améliorations futures comprennent l'optimisation des paramètres, les améliorations du stop profit/loss, la taille des positions, etc. D'autres optimisations sont nécessaires avant le trading en direct.


/*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)

Plus de