Stratégie de croisement RSI des bandes de Bollinger


Date de création: 2023-12-29 16:40:19 Dernière modification: 2023-12-29 16:40:19
Copier: 2 Nombre de clics: 679
1
Suivre
1621
Abonnés

Stratégie de croisement RSI des bandes de Bollinger

Aperçu

Cette stratégie utilise un indicateur technique combinant les bandes de Bollinger et l’indice de force relative (RSI) pour déterminer si le prix a touché ou percé les bandes de Bollinger pour monter ou descendre, afin d’émettre des signaux d’achat et de vente.

Principe de stratégie

  1. Le SMA de 20 cycles est calculé comme une base, la voie supérieure comme une base + 2 fois l’écart-type, la voie inférieure comme une base - 2 fois l’écart-type, la construction de la bande de Bohr.

  2. Le RSI à 14 cycles est calculé. Si le RSI est supérieur à 70, il s’agit d’une zone d’achat excessif, et si il est inférieur à 30, il s’agit d’une zone de vente excessive.

  3. Lorsque le RSI est inférieur à 30, il génère un signal d’achat si le prix est en dessous de la trajectoire descendante; lorsque le RSI est supérieur à 70, il génère un signal de vente si le prix est au-dessus de la trajectoire montante.

Analyse des avantages

  1. Les bandes de Bolling utilisent la gamme des écarts standards pour juger de la fluctuation des prix et des tendances futures, et ont une plus grande capacité de jugement des tendances.

  2. L’indicateur RSI détermine les situations de survente et d’excédent, en combinaison avec le jugement de l’orbite de la bande de Bolling, afin de détecter efficacement les occasions de reprise.

  3. L’indicateur RSI est plus susceptible de générer des signaux de rupture, et en combinaison avec les bandes de Boring, le signal est plus précis et plus fiable.

Analyse des risques

  1. La Bollinger Bands n’est pas 100% précise, il est possible que le prix dépasse la barre et continue de fonctionner.

  2. L’indicateur RSI peut également produire de faux signaux de rupture qui ne correspondent pas à la courbe de Bohr.

  3. Il est important d’ajuster les paramètres de manière appropriée, car une mauvaise configuration des paramètres peut entraîner des signaux de transaction trop fréquents ou rares.

Direction d’optimisation

  1. Les paramètres peuvent être testés sur différentes périodes pour trouver la combinaison optimale.

  2. Il peut être combiné avec d’autres indicateurs, tels que KD, MACD, etc., pour améliorer la fiabilité du signal.

  3. Les résultats de la rétroanalyse permettent d’optimiser les stratégies de stop-loss et de contrôler les risques.

Résumer

Cette stratégie intègre l’analyse de la tendance de la bande de Bolling et le jugement de sur-achat et de sur-vente de l’indicateur RSI, formant un signal de négociation. En général, l’idée de la stratégie est claire, facile à mettre en œuvre et présente une certaine valeur réelle.

Code source de la stratégie
/*backtest
start: 2023-12-21 00:00:00
end: 2023-12-28 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Bands and RSI Strategy", overlay=false)

// Define the parameters
length = input.int(20, "Length", minval=1)
src = input(close, "Source")
mult = input.float(2.0, "StdDev", minval=0.001, maxval=50)
rsiLength = input.int(14, "RSI Length", minval=1)
rsiOverbought = input.int(70, "RSI Overbought Level", minval=1, maxval=100)
rsiOversold = input.int(30, "RSI Oversold Level", minval=1, maxval=100)

// Calculate the Bollinger Bands
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev

// Plot the Bollinger Bands
plot(basis, "Basis", color=#FF6D00)
p1 = plot(upper, "Upper", color=#2962FF)
p2 = plot(lower, "Lower", color=#2962FF)
fill(p1, p2, color=color.rgb(33, 150, 243, 90), title="Background")

// Calculate the RSI
rsi = ta.rsi(src, rsiLength)

// Plot the RSI
plot(rsi, "RSI", color=#FF6D00)

// Define the entry and exit conditions
longCondition = ta.crossover(rsi, rsiOversold) and src < lower // Use ta.crossover here
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = ta.crossunder(rsi, rsiOverbought) and src > upper // Use ta.crossunder here
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Plot the buy and sell signals
plotshape(longCondition, title="Buy", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(shortCondition, title="Sell", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)