Stratégie de trading de repli du RSI avec croisement vers le bas des bandes de Bollinger


Date de création: 2023-12-26 12:08:44 Dernière modification: 2023-12-26 12:08:44
Copier: 1 Nombre de clics: 588
1
Suivre
1621
Abonnés

Stratégie de trading de repli du RSI avec croisement vers le bas des bandes de Bollinger

Aperçu

Cette stratégie utilise l’indicateur de la ceinture de Brin pour déterminer si le prix est entré dans une zone de surachat et de survente, en combinaison avec l’indicateur RSI pour déterminer s’il y a une opportunité de rebond, pour faire un vide lorsque la zone de surachat se forme et pour s’arrêter lorsque la hausse du prix dépasse la ceinture de Brin.

Principe de stratégie

La stratégie est basée sur les principes suivants:

  1. Lorsque le prix de clôture est en train de traverser la ceinture de Brin, cela indique que l’actif est entré dans une zone de surachat et qu’il y a une opportunité de rebond.
  2. L’indicateur RSI est efficace pour détecter les zones de survente et de survente, RSI> 70 est une zone de survente
  3. Prendre une position de couverture lorsque le prix de clôture est en dessous de la barre supérieure
  4. Le stop-loss est un arrêt de la position de vente au détail lorsque le RSI recule de la zone de survente ou déclenche un stop-loss.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. Utilisez la courbe de Brin pour déterminer les zones de survente et de surachat pour améliorer le taux de réussite de vos trades
  2. Combinez le RSI avec le filtrage pour éviter des pertes inutiles
  3. Le rapport bénéfice/perte est élevé, les risques sont maîtrisés

Analyse des risques

La stratégie présente les risques suivants:

  1. Les pertes se sont encore accrues après la rupture de la voie ferrée.
  2. Le RSI ne s’est pas rétracté à temps et les pertes se sont encore accrues
  3. Les positions unilatérales ne permettent pas de négocier la liquidation du marché

Le risque peut être réduit par les moyens suivants:

  1. Ajuster le point de rupture en temps opportun
  2. Combinaison avec d’autres indicateurs pour déterminer le signal de reprise du RSI
  3. Indicateur de la ligne de parité pour déterminer si la correction a été effectuée

Direction d’optimisation

Cette stratégie peut être optimisée dans les domaines suivants:

  1. Optimisation des paramètres de la bande de Bryn pour une plus grande variété de transactions
  2. Optimiser les paramètres du RSI pour améliorer l’efficacité de l’indicateur
  3. Ajout d’autres combinaisons d’indicateurs pour déterminer le point de basculement
  4. Ajout de logique de transaction à plusieurs têtes
  5. La stratégie de stop loss est combinée à une stratégie d’ajustement dynamique des points de stop loss.

Résumer

Cette stratégie est une stratégie typique de la zone hyper-achetée. Elle utilise les courbes de Boolean pour déterminer les points d’achat et de vente, les signaux de filtrage RSI. Le niveau de risque est contrôlé par des arrêts raisonnables.

Code source de la stratégie
/*backtest
start: 2023-11-01 00:00:00
end: 2023-11-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Coinrule


strategy("Bollinger Band Below Price with RSI",
         overlay=true,
         initial_capital=1000,
         process_orders_on_close=true,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=70,
         commission_type=strategy.commission.percent,
         commission_value=0.1)

showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2022, 1, 1, 0, 0)
notInTrade = strategy.position_size <= 0

//Bollinger Bands Indicator
length = input.int(20, minval=1)
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
offset = input.int(0, "Offset", minval = -500, maxval = 500)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=#2962FF, offset = offset)
p2 = plot(lower, "Lower", color=#2962FF, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))

// RSI inputs and calculations
lengthRSI = 14
RSI = ta.rsi(close, lengthRSI)



// Configure trail stop level with input options
longTrailPerc = input.float(title='Trail Long Loss (%)', minval=0.0, step=0.1, defval=3) * 0.01
shortTrailPerc = input.float(title='Trail Short Loss (%)', minval=0.0, step=0.1, defval=3) * 0.01

// Determine trail stop loss prices
//longStopPrice = 0.0
shortStopPrice = 0.0

//longStopPrice := if strategy.position_size > 0
    //stopValue = close * (1 - longTrailPerc)
    //math.max(stopValue, longStopPrice[1])
//else
    //0

shortStopPrice := if strategy.position_size < 0
    stopValue = close * (1 + shortTrailPerc)
    math.min(stopValue, shortStopPrice[1])
else
    999999


//Entry and Exit
strategy.entry(id="short", direction=strategy.short, when=ta.crossover(close, upper) and RSI < 70 and timePeriod and notInTrade)

if (ta.crossover(upper, close) and RSI > 70 and timePeriod)
    strategy.exit(id='close', limit = shortStopPrice)