Stratégie de tendance multi-périodes basée sur la cassure des bandes de Bollinger et l'indicateur RSI


Date de création: 2024-02-21 13:59:31 Dernière modification: 2024-02-21 13:59:31
Copier: 0 Nombre de clics: 659
1
Suivre
1617
Abonnés

Stratégie de tendance multi-périodes basée sur la cassure des bandes de Bollinger et l’indicateur RSI

Aperçu

Cette stratégie intègre l’indicateur de la ceinture de Brin, l’indicateur RSI et l’analyse de plusieurs périodes afin de capturer la direction de la tendance de la ligne médiane et longue. La rupture de la ceinture de Brin, combinée à des signaux de vente et d’achat sur le RSI, permet de déterminer le point de retournement de la tendance et d’obtenir une entrée à faible risque.

Principe de stratégie

  1. L’indicateur de la ceinture de Brin est utilisé pour déterminer la rupture du prix. La courbe de la ceinture de Brin est la moyenne mobile de la clôture du cours sur N jours, la courbe supérieure et la courbe inférieure étant respectivement une différence standard de la courbe moyenne et inférieure.

  2. L’indicateur RSI est utilisé pour juger de la survente et de la survente. L’indicateur RSI supérieur à 70 est considéré comme une zone de survente et inférieur à 30 comme une zone de survente. Lorsque l’indicateur RSI dépasse 70 du bas vers le haut, il est considéré comme étant en survente.

  3. Utilisez un filtre de fausse rupture pour les délais plus élevés. Si un signal de rupture apparaît sur la ligne du jour, il faut 4 heures ou plus de temps pour confirmer et éviter d’être pris.

Avantages stratégiques

  1. L’intégration de plusieurs indicateurs pour améliorer la stabilité et la rentabilité de la stratégie.

  2. L’indicateur RSI détermine le point de basculement, ce qui réduit les pertes causées par les fausses percées.

  3. L’analyse de plusieurs périodes permet de filtrer efficacement les mouvements de la secousse et d’éviter d’être piégé.

  4. Optimiser le jugement des signaux de rupture (les 3 lignes K doivent franchir la ceinture de Brin et descendre), assurez-vous que la tendance se développe et que vous entrez après sa maturation.

  5. L’indicateur Vortex détermine la direction de la tendance et capte les nouvelles tendances qui commencent à se former.

Risque stratégique

  1. Une mauvaise configuration des paramètres des bandes de Brindes peut entraîner une erreur de signal de survente.

  2. La définition des paramètres RSI nécessite de déterminer des valeurs raisonnables en fonction des différentes variétés.

  3. Les signaux de rupture peuvent être faussement détectés, et l’écart entre les points d’arrêt doit être amplifié de manière appropriée.

  4. Il est possible d’obtenir une marge de stop-loss suffisante, par exemple 3 fois celle de l’indicateur ATR.

Orientation de l’optimisation de la stratégie

  1. Application d’algorithmes d’apprentissage automatique pour optimiser en temps réel les paramètres de la bande de Bryn et du RSI.

  2. Optimiser le stop loss avec les indices de volatilité.

  3. Ajout d’un module de contrôle du volume des transactions et ajustement des positions en fonction des évolutions du marché.

  4. Limiter le pourcentage de pertes sur une seule transaction, conformément aux principes de gestion des fonds.

  5. Évaluer la stabilité des signaux de rupture à différents moments de la transaction.

Résumer

Cette stratégie prend en compte plusieurs indicateurs techniques, tels que le jugement de la tendance, le phénomène de survente et de survente, l’analyse de plusieurs périodes, le choix du moment d’entrée approprié, la capture de la tendance de qualité de la ligne moyenne et longue, le contrôle du risque, et permet d’obtenir de meilleurs résultats. Il y a également de la place pour une optimisation supplémentaire, grâce à l’optimisation des paramètres et à l’amélioration du mécanisme de freinage.

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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Noway0utstorm
//@version=5
strategy(title='Vortex0.71.3 + bb 3bar breakout + rsi - close hit upper or lower', shorttitle='truongphuthinh', format=format.price, precision=4,overlay = true)

length = input(20, title="Length")
mult = input(2.0, title="Multiplier")
source = close

basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)

upperBand = basis + dev
lowerBand = basis - dev

isClosedBar = ta.change(time("15"))

var bool closeAboveUpperBand = false
var bool closeBelowLowerBand = false


// Vortex Indicator Settings
period_ = input.int(14, title='Period', minval=2)

VMP = math.sum(math.abs(high - low[1]), period_)
VMM = math.sum(math.abs(low - high[1]), period_)
STR = math.sum(ta.atr(1), period_)
VIP = VMP / STR
VIM = VMM / STR

//
lengthrsi = input(14, title="RSI Length")
overboughtLevel = input(70, title="Overbought Level")
oversoldLevel = input(30, title="Oversold Level")

sourcersi = close
rsiValue = ta.rsi(sourcersi, lengthrsi)

shouldShort = rsiValue > overboughtLevel
shouldLong = rsiValue < oversoldLevel




if bool(isClosedBar[1]) and bool(isClosedBar[2]) and bool(isClosedBar[3])

    if close[1] > upperBand[1] and close[2] > upperBand[2] and close[3] > upperBand[3] and VIP > 1.25 and VIM < 0.7 and rsiValue > overboughtLevel
        strategy.entry("Short", strategy.short)
        closeAboveUpperBand := false  // Reset the condition when entering a new Short position
    if close[1] < lowerBand[1] and close[2] < lowerBand[2] and close[3] < lowerBand[3] and VIP < 0.7 and VIM > 1.25 and rsiValue < oversoldLevel
        strategy.entry("Long", strategy.long)
        closeBelowLowerBand := false  // Reset the condition when entering a new Long position



if strategy.position_size > 0  // Check if there is an open Long position
    closeAboveUpperBand := close > upperBand  // Update the condition based on close price
    if closeAboveUpperBand
        strategy.close("Long",disable_alert=true)  // Close the Long position if close price is above upper band

if strategy.position_size < 0  // Check if there is an open Short position
    closeBelowLowerBand := close < lowerBand  // Update the condition based on close price
    if closeBelowLowerBand
        strategy.close("Short",disable_alert=true)  // Close the Short position if close price is below lower band

// Plots
plot(basis, color=color.orange, title="Basis")
p1 = plot(upperBand, color=color.blue, title="Upper Band")
p2 = plot(lowerBand, color=color.blue, title="Lower Band")
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))