Les ressources ont été chargées... Je charge...

Une double stratégie de dynamisme

Auteur:ChaoZhang est là., Date: 2024-01-22 17h04:36
Les étiquettes:

img

Résumé

Cette stratégie combine l'indice de force relative (RSI) et les indicateurs de Bollinger Bands pour mettre en œuvre une logique de confirmation double pour les entrées et les sorties. Elle génère des signaux de trading uniquement lorsque l'indice de force relative et les bandes de Bollinger montrent des signaux de surachat ou de survente en même temps. Cela peut effectivement réduire les faux signaux et améliorer la stabilité de la stratégie.

La logique de la stratégie

  1. Logique du jugement RSI
    • Un indice RSI dépassant 45 est considéré comme un signal de survente.
    • Un RSI inférieur à 55 est considéré comme un signal de surachat.
  2. Logique de jugement des bandes de Bollinger
    • Le franchissement des prix au-dessus de la bande inférieure de Bollinger est considéré comme une survente.
    • Les prix qui dépassent la bande supérieure de Bollinger sont considérés comme surachetés.
  3. La logique de la confirmation double
    • La position longue n' est ouverte que lorsque l'indicateur de volatilité et les bandes de Bollinger montrent un signal de survente
    • Une position courte n'est ouverte que lorsque l'indicateur RSI et les bandes de Bollinger montrent un signal de surachat

La logique ci-dessus met en œuvre une stratégie de double confirmation stable pour les entrées et les sorties.

Analyse des avantages

  1. Le mécanisme de confirmation double filtre beaucoup de transactions bruyantes, évite les transactions inutiles, réduit les coûts de négociation et améliore la rentabilité.

  2. Les bandes de Bollinger sont efficaces pour juger des supports et des résistances. Les deux se complètent parfaitement.

  3. Les paramètres sont flexibles et peuvent être ajustés en fonction des différents produits et des préférences commerciales.

Analyse des risques

  1. Dans les marchés de gamme, le RSI et les bandes de Bollinger peuvent émettre des signaux erronés en même temps, causant des pertes inutiles.

  2. Le mécanisme de double confirmation augmente légèrement le délai d'entrée, manquant éventuellement des opportunités de négociation à très court terme.

  3. La stratégie est très sensible aux paramètres. Des paramètres inappropriés peuvent réduire considérablement la rentabilité. Des tests et des examens suffisants sont nécessaires pour trouver la combinaison optimale de paramètres.

Directions d'optimisation

  1. Testez les indicateurs RSI avec différentes périodes pour trouver le paramètre de période de correspondance le plus approprié pour améliorer l'efficacité.

  2. Ajouter une logique de stop loss, définir un stop loss mobile raisonnable ou un stop loss fixe pour contrôler le risque de perte d'une seule transaction.

  3. Testez le paramètre de bande passante de Bollinger pour optimiser la portée du canal et améliorer l'efficacité.

  4. Testez différentes entrées de prix comme proche, haut, bas, etc. pour trouver la meilleure entrée de prix pour améliorer la stabilité.

Résumé

La stratégie combine avec succès les indicateurs RSI et Bollinger Bands pour mettre en œuvre une logique de confirmation double, assurant suffisamment d'opportunités de trading tout en réduisant efficacement les transactions bruyantes.


/*backtest
start: 2023-12-22 00:00:00
end: 2024-01-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Bollinger + RSI, Double Strategy (by ChartArt)", shorttitle="CA_-_RSI_Bol_Strat", overlay=true)

// ChartArt's RSI + Bollinger Bands, Double Strategy
//
// Version 1.0
// Idea by ChartArt on January 14, 2015.
//
// This strategy uses a modfied RSI to sell
// when the RSI increases over the value of 55
// (or to buy when the value falls below 45),
// with the classic Bollinger Bands strategy
// to sell when the price is above the
// upper Bollinger Band (and to buy when
// this value is below the lower band).
//
// This simple strategy only triggers when
// both the RSI and the Bollinger Bands
// indicators are at the same time in
// a overbought or oversold condition.
//
// List of my work: 
// https://www.tradingview.com/u/ChartArt/
// 
//  __             __  ___       __  ___ 
// /  ` |__|  /\  |__)  |   /\  |__)  |  
// \__, |  | /~~\ |  \  |  /~~\ |  \  |  
// 
// 


///////////// RSI
RSIlength = input( 16 ,title="RSI Period Length") 
RSIvalue = input( 45 ,title="RSI Value Range") 
RSIoverSold = 0 + RSIvalue
RSIoverBought = 100 - RSIvalue
price = close
vrsi = rsi(price, RSIlength)


///////////// Bollinger Bands
BBlength = input(20, minval=1,title="Bollinger Bands SMA Period Length")
BBmult = input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation")
BBbasis = sma(price, BBlength)
BBdev = BBmult * stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
source = close
buyEntry = crossover(source, BBlower)
sellEntry = crossunder(source, BBupper)
plot(BBbasis, color=aqua,title="Bollinger Bands SMA Basis Line")
p1 = plot(BBupper, color=silver,title="Bollinger Bands Upper Line")
p2 = plot(BBlower, color=silver,title="Bollinger Bands Lower Line")
fill(p1, p2)


///////////// Colors
switch1=input(true, title="Enable Bar Color?")
switch2=input(true, title="Enable Background Color?")
TrendColor = RSIoverBought and (price[1] > BBupper and price < BBupper) ? red : RSIoverSold and (price[1] < BBlower and price > BBlower)  ? green : na
barcolor(switch1?TrendColor:na)
bgcolor(switch2?TrendColor:na,transp=50)


///////////// RSI + Bollinger Bands Strategy
if (not na(vrsi))

    if (crossover(vrsi, RSIoverSold) and crossover(source, BBlower))
        strategy.entry("RSI_BB_L", strategy.long, stop=BBlower,  comment="RSI_BB_L")
    else
        strategy.cancel(id="RSI_BB_L")
        
    if (crossunder(vrsi, RSIoverBought) and crossunder(source, BBupper))
        strategy.entry("RSI_BB_S", strategy.short, stop=BBupper, comment="RSI_BB_S")
    else
        strategy.cancel(id="RSI_BB_S")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Plus de