Stratégie de suivi de tendance ATR des bandes de Bollinger

BB SMA ATR
Date de création: 2024-05-15 10:50:14 Dernière modification: 2024-05-15 10:50:14
Copier: 3 Nombre de clics: 721
1
Suivre
1617
Abonnés

Stratégie de suivi de tendance ATR des bandes de Bollinger

Aperçu

La stratégie est basée sur les indicateurs Brin et ATR, capture la portée des fluctuations des prix à travers les bandes de Brin, utilise la rupture des bandes de Brin en descente comme signal de prise de position, utilise ATR comme arrêt mobile, et finit par la rupture de la moyenne mobile simple comme signal de prise de position. La stratégie tente de capturer la tendance, de prendre position dans la direction de la tendance et de prendre position à l’heure de la reprise.

Principe de stratégie

  1. Calcul des bandes de Boolin: calcul des prix de clôture en utilisant la moyenne mobile simple (SMA) comme moyenne de la bande de Boolin et calculée en fonction du taux d’oscillation (différence standard).
  2. Calcul de l’ATR: la moyenne mobile de l’amplitude réelle (TR) est utilisée pour calculer l’ATR, qui sert de base au stop loss mobile.
  3. Génération de signaux de transaction: génération de signaux de plus lorsque le prix descend sur la trajectoire de descente de la courbe de Brin, génération de signaux de coupe lorsque le prix monte sur la trajectoire de descente de la courbe de Brin; génération de signaux de plus lorsque le prix monte sur la rupture de l’arrêt mobile ATR, génération de signaux de coupe lorsque le prix monte sur la rupture de l’arrêt mobile ATR.
  4. Placement à zéro: en position multiple, le cours est à zéro si le cours dépasse la moyenne mobile simple vers le haut; en position vide, le cours est à zéro si le cours dépasse la moyenne mobile simple vers le bas.

Avantages stratégiques

  1. Suivi des tendances: capture des tendances par le biais des bandes de Brin et des arrêts de perte mobiles ATR pour s’adapter aux différentes conditions du marché.
  2. Arrêt en temps opportun: l’ATR est utilisé comme arrêt mobile, permettant d’ajuster dynamiquement la position d’arrêt en fonction des fluctuations du marché et de contrôler le risque.
  3. Simplicité: logique stratégique claire, moins de paramètres, facile à comprendre et à appliquer.

Risque stratégique

  1. Paramètres sensibles: le choix des paramètres de la bande de Brimstone et de l’ATR affecte la performance de la stratégie et nécessite une optimisation en fonction des différents marchés et variétés.
  2. Marché en turbulence: dans un environnement de marché en turbulence, les signaux de trading fréquents peuvent entraîner un nombre et un coût de transactions excessifs.
  3. Un revirement de tendance: lorsque la tendance est inversée, la stratégie peut entraîner une reprise plus importante.

Orientation de l’optimisation de la stratégie

  1. Optimisation des paramètres: Optimisation des paramètres de la ceinture et de l’ATR pour trouver la meilleure combinaison de paramètres pour les différents marchés et variétés.
  2. Filtre: ajouter d’autres indicateurs techniques ou des modèles de comportement des prix comme filtre, réduire les erreurs de jugement et améliorer la qualité du signal.
  3. Gestion des positions: Adaptation dynamique des positions en fonction de la volatilité du marché ou du risque du compte, afin d’améliorer l’efficacité de l’utilisation des fonds et le ratio de risque/revenu.

Résumer

Les stratégies de suivi des tendances ATR de la ceinture de Brin capturent les tendances à travers les indicateurs Brin et ATR. Elles ont les avantages de suivre les tendances, de les arrêter à temps et d’être faciles à utiliser. Cependant, il existe également des risques tels que la sensibilité aux paramètres, les marchés surchargés et les retournements de tendance.

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

//@version=5
strategy("Bollinger Bands and ATR Strategy", overlay=true)

// Veri Çekme
symbol = "AAPL"
timeframe = "D"
src = close

// Bollinger Bantları Hesaplama
len = 20
mult = 2
sum1 = 0.0, sum2 = 0.0
for i = 0 to len - 1
    sum1 += src[i]
basis = sum1 / len
for i = 0 to len - 1
    diff = src[i] - basis
    sum2 += diff * diff
dev = math.sqrt(sum2 / len)
upper_band = basis + dev * mult
lower_band = basis - dev * mult

// ATR Hesaplama
atr_period = input(10, title="ATR Period")
atr_value = 0.0
for i = 0 to atr_period - 1
    atr_value += math.abs(src[i] - src[i + 1])
atr_value /= atr_period
loss = input(1, title="Key Value (Sensitivity)")
atr_trailing_stop = src[1]
if src > atr_trailing_stop[1]
    atr_trailing_stop := math.max(atr_trailing_stop[1], src - loss * atr_value)
else if src < atr_trailing_stop[1]
    atr_trailing_stop := math.min(atr_trailing_stop[1], src + loss * atr_value)
else
    atr_trailing_stop := src - loss * atr_value

// Sinyal Üretme
long_condition  = src < lower_band and src[1] >= lower_band[1]
short_condition = src > upper_band and src[1] <= upper_band[1]
close_long  = src > basis
close_short = src < basis
buy_signal = src > atr_trailing_stop[1] and src[1] <= atr_trailing_stop[1]
sell_signal = src < atr_trailing_stop[1] and src[1] >= atr_trailing_stop[1]

if (long_condition)
    strategy.entry("Long", strategy.long, comment="Long Signal")
if (short_condition)
    strategy.entry("Short", strategy.short, comment="Short Signal")
if (close_long)
    strategy.close("Long", comment="Close Long")
if (close_short)
    strategy.close("Short", comment="Close Short")
if (buy_signal)
    strategy.entry("Long", strategy.long, comment="Buy Signal")
if (sell_signal)
    strategy.entry("Short", strategy.short, comment="Sell Signal")

// Çizim
plot(upper_band, color=#0000FF, linewidth=2, title="Upper Band")
plot(lower_band, color=#0000FF, linewidth=2, title="Lower Band")
plot(basis, color=#808080, linewidth=2, title="SMA")
plot(atr_trailing_stop, color=#FFA500, linewidth=2, title="ATR Trailing Stop")
plot(src, color=#FFA500, linewidth=2, title="Price")

// Sinyal İşaretleri
plotshape(long_condition, style=shape.arrowup, color=#00FF00, location=location.belowbar, size=size.small, title="Long Signal")
plotshape(short_condition, style=shape.arrowdown, color=#FF0000, location=location.abovebar, size=size.small, title="Short Signal")
plotshape(buy_signal, style=shape.diamond, color=#00FF00, location=location.belowbar, size=size.small, title="Buy Signal")
plotshape(sell_signal, style=shape.diamond, color=#FF0000, location=location.abovebar, size=size.small, title="Sell Signal")