Stratégie de suivi de tendance des bandes de Bollinger à double moyenne mobile


Date de création: 2023-12-22 14:54:20 Dernière modification: 2023-12-22 14:54:20
Copier: 1 Nombre de clics: 619
1
Suivre
1621
Abonnés

Stratégie de suivi de tendance des bandes de Bollinger à double moyenne mobile

Aperçu

Cette stratégie est une stratégie de trading quantitative qui utilise une combinaison de bandes et de courbes de Brin pour la détermination des tendances et l’entrée. Elle combine les capacités de reconnaissance de la tendance des bandes de Brin et l’effet de fléchissement des moyennes mobiles pour identifier efficacement la direction de la tendance du marché et entrer dans la tendance.

Principe de stratégie

  1. Calculer les prix maximaux et minimaux des canaux de la ceinture de Brin pour déterminer la direction des tendances du marché

    • Les canaux de calcul des prix les plus élevés (highest and lowest) sont en train de s’enrouler.
    • L’axe central du canal est la moyenne des prix les plus élevés et les plus bas.
    • Déterminer la position du prix sur le canal pour déterminer la direction de la tendance
  2. Calculer la taille de l’entité solaire et déterminer les signaux d’arrêt et de retour

    • La valeur absolue de l’entité en ligne droite est le prix de clôture moins le prix d’ouverture
    • Calculer la moyenne des entités de rayons solaires sur N périodes, comparer avec la taille de l’entité de rayons solaires actuelle, et juger de la perte et de l’inversion
  3. Après confirmation de la direction de la tendance, l’entrée est effectuée dans la direction du passage

    • La tendance à la hausse s’installe près de la baisse
    • Hors-ligne près de la ligne supérieure à la baisse de la tendance
  4. Les moyennes mobiles sont utilisées pour filtrer et éviter les faux signaux.

    • Calculer la moyenne mobile du prix de clôture pour N cycles
    • Les signaux de négociation ne sont émis que lorsque le prix dépasse la moyenne.

Avantages stratégiques

  1. Une forte systématisation des tendances de jugement combinées avec les courbes de Brin et les moyennes mobiles

La courbe de Brin permet de déterminer clairement les canaux de prix et la direction de la tendance, la moyenne mobile est filtrée, les deux combinés permettent d’identifier efficacement les tendances, d’éviter l’impact des événements soudains sur le marché et de garantir la stabilité du système.

  1. Utilisation de la taille de l’entité de rayonnement solaire pour arrêter les pertes et contrôler efficacement les risques

En calculant la moyenne de la taille de l’entité de rayonnement solaire au cours d’un certain cycle et en la comparant à la taille de l’entité du cycle actuel, il est possible de déterminer clairement le renversement de la tendance et de procéder à un arrêt et à une réduction de la position, afin de contrôler efficacement le risque de la stratégie.

  1. Règles claires pour l’entrée quantitative et le stop loss

La stratégie consiste à entrer dans les conditions de la combinaison des moyennes mobiles et de la direction du passage, et à utiliser la règle de taille de l’entité de la ligne solaire pour effectuer des arrêts de perte, de sorte que les règles d’entrée et de stop-loss de l’ensemble du système soient très clairement systématisées.

Analyse des risques

  1. Risques potentiels de pertes dans une situation de choc

En cas de choc, le prix peut toucher plusieurs fois la voie descendante et entraîner de petites pertes répétées. La taille de la position doit être réduite pour réduire les pertes individuelles.

  1. Le risque d’être frappé par des fluctuations excessives

Lors d’une tendance forte, un revirement de prix à court terme peut déclencher la levée de la règle de stop-loss, au cours de laquelle la marge de stop-loss doit être allégée de manière appropriée pour suivre la tendance.

  1. Les paramètres incorrects peuvent déclencher un signal d’erreur

Les paramètres des moyennes mobiles et des bandes de Brin sont mal configurés, ce qui peut entraîner une erreur d’identification du signal. Les paramètres doivent être optimisés de manière appropriée pour que le signal soit stable et fiable.

Orientation de l’optimisation de la stratégie

  1. Optimisation des paramètres de périodicité des moyennes mobiles

Les paramètres des moyennes mobiles ont été ajustés pour réduire la fluidité et permettre de détecter plus rapidement les changements de tendance.

  1. Tester l’efficacité de différentes règles d’arrêt

Essayez différentes règles de stop-loss, telles que le stop-tracking, le stop-ATR, etc. et choisissez la meilleure façon de vous arrêter.

  1. Ajout de modèles d’apprentissage automatique

Les modèles d’entraînement basés sur une grande quantité de données historiques aident à juger les tendances et à émettre des signaux de trading.

Résumer

La stratégie prend en compte le jugement de la tendance et le contrôle du risque, utilise les canaux de la ceinture de Brin et les moyennes mobiles pour identifier les tendances, tout en utilisant la taille de l’entité de la chaîne solaire pour arrêter les pertes. La stratégie est systématique, les règles quantitatives sont claires et permettent de contrôler efficacement les risques pour obtenir des gains excédentaires.

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


//@version=2
strategy("Noro's Bands Scalper Strategy v1.3", shorttitle = "Scalper str 1.3", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
takepercent = input(0, defval = 0, minval = 0, maxval = 1000, title = "take, %")
needct = input(false, defval = false, title = "Counter-trend entry")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period")
needbb = input(true, defval = true, title = "Show Bands")
needbg = input(true, defval = true, title = "Show Background")
src = close

//PriceChannel 1
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2

//Distance
dist = abs(src - center)
distsma = sma(dist, len)
hd = center + distsma
ld = center - distsma
hd1 = center + distsma / 2
ld1 = center - distsma / 2

//Trend
trend = close < ld and high < center ? -1 : close > hd and low > center ? 1 : trend[1]

//Lines
colo = needbb == false ? na : black
plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band")
plot(center, color = colo, linewidth = 1, transp = 0, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band")

//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 80)

//Body
body = abs(close - open)
smabody = ema(body, 30)
candle = high - low

//Engulfing
min = min(open, close)
max = max(open, close)
bar = close > open ? 1 : close < open ? -1 : 0
upeng = bar == 1 and bar[1] == -1 and min >= min[1] and max <= max[1] ? 1 : 0
dneng = bar == -1 and bar[1] == 1 and min >= min[1] and max <= max[1] ? 1 : 0

//Signals
up7 = trend == 1 and ((bar == -1 and bar[1] == -1) or (body > smabody and close < open)) ? 1 : 0
dn7 = trend == 1 and bar == 1 and bar[1] == 1 and close > strategy.position_avg_price * (100 + takepercent) / 100 ? 1 : 0
up8 = trend == -1 and bar == -1 and bar[1] == -1 and close < strategy.position_avg_price * (100 - takepercent) / 100 ? 1 : 0
dn8 = trend == -1 and ((bar == 1 and bar[1] == 1) or (body > smabody and close > open)) ? 1 : 0

if up7 == 1 or up8 == 1 
    strategy.entry("Long", strategy.long, needlong == false ? 0 : trend == -1 and needct == false ? 0 : na)

if dn7 == 1 or dn8 == 1
    strategy.entry("Short", strategy.short, needshort == false ? 0 : trend == 1 and needct == false ? 0 : na)