Stratégie de trading de régression de la moyenne mobile RSI


Date de création: 2023-09-12 14:37:28 Dernière modification: 2023-09-12 14:37:28
Copier: 0 Nombre de clics: 703
1
Suivre
1617
Abonnés

Cette stratégie est basée sur la RSI indicateur de la ligne de retour caractéristique de la conception. RSI surachat survente de retour se produit, la formation d’opportunités de négociation. La stratégie par l’indicateur de RSI juger surachat survente de l’état, prendre la même ligne de retour de créer des positions ouvertes, pour atteindre l’objectif de la négociation systématisée.

Le principe de la stratégie:

  1. Calculer la valeur de l’indicateur RSI, en définissant une ligne de survente et une ligne de survente, le paramètre typique étant la ligne de survente 60 et la ligne de survente 30.

  2. Lorsque le RSI dépasse la ligne de reprise de haut en bas, effectuez une opération de vente et établissez une position courte.

  3. Lorsque le RSI dépasse la ligne de vente de bas en haut, effectuez une opération d’achat et créez une position en survente.

  4. La ligne d’arrêt pour les positions multiples est le prix d’entrée multiplié par le taux d’arrêt de 1 et la ligne d’arrêt pour les positions courtes est le prix d’entrée multiplié par le taux d’arrêt de 1 et plus.

  5. Lorsque le prix atteint la ligne de rupture, le stop loss est effectué.

Les avantages de cette stratégie sont:

  1. L’indicateur RSI est caractérisé par une régression qui permet de saisir au hasard les opportunités de négociation liées à une reprise de tendance.

  2. La méthode de construction d’une position de rupture permet de saisir le renversement de tendance en temps opportun.

  3. Il est possible de régler les pertes individuelles en mettant en place un stop-loss.

Les risques de cette stratégie sont:

  1. L’indicateur RSI est plus susceptible d’émettre de faux signaux et doit être confirmé en combinaison avec d’autres indicateurs.

  2. Les points d’arrêt proches des points d’entrée sont fréquemment arrêtés et la portée de l’arrêt doit être allégée de manière appropriée.

  3. Le mauvais choix du moment de la reprise peut entraîner une période de détention trop longue.

En résumé, la stratégie de retour de la RSI est de traiter en capturant les opportunités de retour de l’indicateur RSI. Cette stratégie peut être efficace pour contrôler efficacement les pertes individuelles. Cependant, l’indicateur RSI a une faible fiabilité.

Code source de la stratégie
/*backtest
start: 2022-09-05 00:00:00
end: 2023-09-11 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/
// © relevantLeader16058

//@version=4
strategy(shorttitle='RSI Bot Strategy',title='Quadency Mean Reversion Bot Strategy', overlay=true, initial_capital = 100, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type=strategy.commission.percent, commission_value=0.08)

//Backtest dates
start = input(defval = timestamp("08 Mar 2021 00:00 -0600"), title = "Start Time", type = input.time)
finish = input(defval = timestamp("9 Mar 2021 23:59 -0600"), title = "Start Time", type = input.time)
window()  => true       // create function "within window of time"

// Complete Control over RSI inputs and source price calculations
lengthRSI = input(14, minval=1)
source = input(title="Source", type=input.source, defval=close)
strat = input(title="Strategy", defval="Long/Short", options=["Long Only", "Long/Short", "Short Only"])
strat_val = strat == "Long Only" ? 1 : strat == "Long/Short" ? 0 : -1
stoploss = input(5.00, "Stop Loss %")
oversold= input(30)
overbought= input(60)

// Standard RSI Calculation
RSI = rsi(close, lengthRSI)
stLossLong=(1-(stoploss*.01))
stLossShort=(1+(stoploss*.01))

//Long and Short Strategy Logic
GoLong = crossunder(RSI, oversold) and window()
GoShort = crossover(RSI, overbought) and window()

// Strategy Entry and Exit
if (GoLong)
    if strat_val > -1
        strategy.entry("LONG", strategy.long)
    if strat_val < 1
        strategy.close("SHORT")
    

if (GoShort)
    if strat_val > -1
        strategy.close("LONG")
    if strat_val < 1
        strategy.entry("SHORT", strategy.short)


LongStopLoss = barssince(GoLong)<barssince(GoShort) and crossunder(low, valuewhen(GoLong, close, 0)*stLossLong)

ShortStopLoss = barssince(GoLong)>barssince(GoShort) and crossover(high, valuewhen(GoShort, close, 0)*stLossShort)

if (ShortStopLoss)
    strategy.close("SHORT")
    
if (LongStopLoss)
    strategy.close("LONG")