Stratégie d'oscillateur stochastique à bandes de Bollinger

SMA
Date de création: 2024-05-09 15:59:11 Dernière modification: 2024-05-09 15:59:11
Copier: 0 Nombre de clics: 836
1
Suivre
1617
Abonnés

Stratégie d’oscillateur stochastique à bandes de Bollinger

Aperçu

Cette stratégie est une stratégie de négociation basée sur les bandes de Brin et les oscillateurs aléatoires. Elle utilise les bandes de Brin pour déterminer la portée des fluctuations du marché et utilise les oscillateurs aléatoires pour juger de l’état de survente et de survente du marché.

Principe de stratégie

Le cœur de la stratégie est constitué de deux indicateurs techniques, la bande de Brin et l’oscillateur aléatoire. La bande de Brin est composée de trois lignes: la voie médiane, la voie supérieure et la voie inférieure. La voie médiane est une moyenne mobile simple des prix, la voie supérieure et la voie inférieure étant respectivement un certain nombre de multiples de la différence de prix entre la voie médiane et la norme de prix.

L’oscillateur aléatoire est composé de deux lignes: la ligne %K et la ligne %D. La ligne %K mesure la position du prix de clôture entre le plus haut et le plus bas prix au cours de la période la plus récente. La ligne %D est la moyenne mobile de la ligne %K.

La stratégie combine ces deux indicateurs, en faisant un surplus lorsque le prix franchit la bande de Brin et traverse la ligne%D avec l’oscillateur%K au hasard; et en faisant un vide lorsque le prix franchit la bande de Brin et traverse la ligne%D avec l’oscillateur%K au hasard. Cette combinaison permet de capturer efficacement les tendances du marché, tout en évitant les échanges fréquents dans les marchés en mouvement.

Avantages stratégiques

  1. La combinaison d’indicateurs de l’état du marché, tendance et oscillation, permet d’obtenir des gains stables dans différents environnements de marché.
  2. La capacité de Brin à s’adapter dynamiquement aux fluctuations du marché a amélioré l’adaptabilité de la stratégie.
  3. Les oscillateurs aléatoires sont capables de filtrer efficacement certains signaux de fausse percée, ce qui améliore la précision de la stratégie.
  4. La logique de la stratégie est claire, facile à comprendre et à mettre en œuvre, adaptée aux traders de tous niveaux.

Risque stratégique

  1. Cette stratégie peut avoir des signaux de fausses alertes plus importants, entraînant des transactions plus fréquentes et des pertes, dans les cas où les tendances du marché sont incertaines ou très volatiles.
  2. La stratégie repose sur des données historiques, et des retraits plus importants peuvent être effectués pour des événements inattendus ou des situations inhabituelles sur le marché.
  3. Le choix des paramètres de la stratégie a une grande influence sur la performance de la stratégie, et des paramètres différents peuvent conduire à des résultats complètement différents.

Orientation de l’optimisation de la stratégie

  1. L’ajout de conditions de filtrage supplémentaires, telles que le volume de transactions, d’autres indicateurs techniques, etc., peut être envisagé pour améliorer encore la fiabilité du signal.
  2. Les paramètres des bandes de Bryn et des oscillateurs aléatoires peuvent être optimisés pour trouver la combinaison de paramètres la plus adaptée au marché actuel.
  3. Des mécanismes de gestion des risques, tels que des arrêts de perte et des arrêts mobiles, peuvent être introduits pour contrôler le risque d’une transaction unique.
  4. On peut envisager de combiner cette stratégie avec d’autres stratégies pour former un ensemble plus robuste.

Résumer

Cette stratégie est une stratégie de trading simple et efficace qui, en combinant les deux indicateurs techniques classiques des bandes de Brin et des oscillateurs aléatoires, permet d’obtenir des gains stables dans les deux conditions de marché tendance et oscillation. Bien que la stratégie présente également certains risques et limitations, elle peut être améliorée encore plus en termes de performance et d’adaptabilité grâce à une optimisation et une amélioration appropriées.

Code source de la stratégie
/*backtest
start: 2023-05-03 00:00:00
end: 2024-05-08 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Unique Bollinger Bands Strategy", overlay=true)
src = input(close)
length = input.int(34, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)

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

upper1 = basis + dev
lower1 = basis - dev
upper2 = basis + dev2
lower2 = basis - dev2

colorBasis = src >= basis ? color.blue : color.orange

pBasis = plot(basis, linewidth=2, color=colorBasis)
pUpper1 = plot(upper1, color=color.new(color.blue, 0), style=plot.style_circles)
pUpper2 = plot(upper2, color=color.new(color.blue, 0))
pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles)
pLower2 = plot(lower2, color=color.new(color.orange, 0))

fill(pBasis, pUpper2, color=color.new(color.blue, 80))
fill(pUpper1, pUpper2, color=color.new(color.blue, 80))
fill(pBasis, pLower2, color=color.new(color.orange, 80))
fill(pLower1, pLower2, color=color.new(color.orange, 80))




// Parameters
bbLength = input.int(34, title="Length", minval=1)
bbMultiplier = input.float(2.0, title="Multiplier", minval=0.001, maxval=50)

// Source
priceData = close // Unique name for price data source

// Bollinger Bands Calculation
bbBasis = ta.sma(priceData, bbLength)
bbDeviation = ta.stdev(priceData, bbLength)
bbDeviationMultiplied = bbMultiplier * bbDeviation

bbUpperBand = bbBasis + bbDeviationMultiplied
bbLowerBand = bbBasis - bbDeviationMultiplied

// Plot Bollinger Bands
plot(bbBasis, color=color.blue, linewidth=2)
plot(bbUpperBand, color=color.blue)
plot(bbLowerBand, color=color.orange)

// Strategy Logic for Entry and Exit
enterLong = ta.crossover(priceData, bbUpperBand)
enterShort = ta.crossunder(priceData, bbLowerBand)

// Enter Long when price crosses over upper band
if (enterLong)
    strategy.entry("Long", strategy.long)
// Enter Short when price crosses under lower band
if (enterShort)
    strategy.entry("Short", strategy.short)

// Close Long when Short condition is met (i.e., price under lower band)
if (enterShort)
    strategy.close("Long")
// Close Short when Long condition is met (i.e., price over upper band)
if (enterLong)
    strategy.close("Short")