Stratégie de rupture inverse

Auteur:ChaoZhang est là., Date: 2023-10-27 16h14 et 16h
Les étiquettes:

img

Résumé

La stratégie de rupture d'inversion utilise les bandes de Bollinger et l'oscillateur stochastique pour identifier les points d'inversion potentiels lorsqu'un actif est suracheté ou survendu.

La logique de la stratégie

La stratégie utilise à la fois les bandes de Bollinger et l'oscillateur stochastique comme principaux indicateurs techniques. Les bandes de Bollinger sont tracées à des niveaux d'écart type au-dessus et en dessous d'une moyenne mobile simple. Les prix atteignant la bande supérieure sont considérés comme surachetés tandis que la bande inférieure est survendue.

Les règles de trading sont les suivantes: aller long lorsque le prix dépasse la bande inférieure de Bollinger et que le Stochastique est inférieur à 20; aller court lorsque le prix dépasse la bande supérieure et que le Stochastique est supérieur à 80. Le stop loss est placé à quelques pips sous le minimum (pour les longs) ou au-dessus du maximum (pour les shorts).

Les croisements identifient les ruptures de bande. Les marqueurs de forme tracent les signaux d'entrée. Les arrêts et les objectifs de profit sont définis après l'entrée.

Les avantages

La combinaison de bandes pour le support/résistance et de stochastique pour le surachat/survente améliore la qualité du signal par rapport à un seul indicateur.

Le stop loss serré aide à limiter les pertes. Prendre un profit basé sur la plage moyenne vraie vise à une récompense/risque équilibré. Le trading à haute fréquence capte les petits mouvements.

Les risques

Les écarts de bande supposent une inversion moyenne qui peut échouer.

Les petits arrêts restreignent le potentiel de profit.

Améliorations

Testez des périodes de Bollinger plus longues ou confirmez des clôtures en dehors des bandes pour améliorer la qualité.

Combinez d'autres indicateurs comme le MACD et le KD avec le Stochastique pour obtenir de meilleurs signaux de surachat/survente.

Considérez des arrêts dynamiques basés sur la volatilité au lieu de pips fixes.

Conclusion

La stratégie vise à identifier les renversements en combinant les bandes de Bollinger pour le support/résistance et le stochastique pour les conditions de surachat/survente. Les paramètres de réglage fin, le contrôle des risques et l'optimisation continue sont essentiels pour la performance dans le monde réel. Les coûts de transaction doivent être pris en compte.


/*backtest
start: 2022-10-20 00:00:00
end: 2023-10-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Bollinger Bands & Stochastic Scalping Strategy", shorttitle="BB & Stoch Scalp", overlay=true)

// Bollinger Bands
length = input(20, title="Bollinger Bands Length")
src = input(close, title="Source")
mult = input(2, title="Multiplier")
basis = sma(src, length)
dev = mult * stdev(src, length)
upperBB = basis + dev
lowerBB = basis - dev

// Stochastic
stochLength = input(14, title="Stochastic Length")
smoothK = input(5, title="Stochastic %K Smoothing")
smoothD = input(3, title="Stochastic %D Smoothing")
k = sma(stoch(close, high, low, stochLength), smoothK)
d = sma(k, smoothD)

// Entry Conditions
longCondition = crossover(close, lowerBB) and crossover(k, 20)
shortCondition = crossunder(close, upperBB) and crossunder(k, 80)

// Exit Conditions
takeProfit = input(50, title="Take Profit (pips)")

plotshape(series=longCondition, title="Long Entry Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=shortCondition, title="Short Entry Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

// Stop Loss
stopLossPips = input(3, title="Stop Loss (pips)")
stopLossLong = close - stopLossPips * syminfo.mintick
stopLossShort = close + stopLossPips * syminfo.mintick

strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)

strategy.exit("Take Profit/Stop Loss", from_entry="Long", profit=takeProfit, stop=stopLossLong)
strategy.exit("Take Profit/Stop Loss", from_entry="Short", profit=takeProfit, stop=stopLossShort)

plot(upperBB, title="Upper Bollinger Band", color=color.red)
plot(lowerBB, title="Lower Bollinger Band", color=color.green)

hline(80, "Overbought", color=color.red)
hline(20, "Oversold", color=color.green)


Plus de