Stratégie de suivi de tendance consistant à franchir le canal BB et à franchir la moyenne mobile SMA200


Date de création: 2023-11-16 11:04:42 Dernière modification: 2023-11-16 11:04:42
Copier: 0 Nombre de clics: 700
1
Suivre
1617
Abonnés

Stratégie de suivi de tendance consistant à franchir le canal BB et à franchir la moyenne mobile SMA200

Aperçu

Cette stratégie, combinant les bandes de Brin et les moyennes mobiles, a conçu un système de négociation qui suit la tendance. Faites plus lorsque le prix franchit la bande de Brin et est en train de s’enfoncer au-dessus de la SMA200, faites une pause partielle lorsque le prix franchit la bande de Brin et est en train de s’enfoncer, et faites une pause totale lorsque le prix franchit la SMA200.

Principe de stratégie

  1. Calculer la moyenne mobile exponentielle SMA200 comme indicateur de la tendance générale
  2. Calculer la bande de Brindille, comprenant la voie supérieure, la voie médiane et la voie inférieure, et remplir la couleur comme zone de gain
  3. Lorsque les bandes de Brin sont en train de monter et de descendre au-dessus du SMA200, cela indique qu’elles sont dans une tendance haussière
  4. Faites une entrée supplémentaire lorsque le prix franchit la voie de la courbe de Brin vers le haut
  5. Une partie de l’offre a été levée lorsque le prix a dépassé la barre de Brent vers le bas.
  6. Lorsque le prix est inférieur au SMA200, cela indique un renversement de tendance majeure et une levée complète des positions.
  7. Fixez un point d’arrêt pour éviter des pertes excessives
  8. Nombre de transactions calculé en fonction des fonds du compte et de la tolérance au risque

La stratégie juge l’existence d’une tendance en supposant que les bandes de bourses doivent être complètement au-dessus de la SMA200 et choisissent une entrée en direction de plusieurs têtes uniquement dans une tendance à la hausse claire. Lorsque la tendance à la baisse arrive, le risque est contrôlé par un arrêt de part et un arrêt total de position à des points critiques.

Analyse des avantages

  1. Il existe une tendance claire à utiliser les courbes de Bryn pour juger, plutôt que d’être jugé sur un seul indicateur
  2. Le SMA200 détermine la direction de la tendance générale et évite de faire des transactions inutiles en cas de choc
  3. La tendance est à la baisse depuis le début de l’année.
  4. Arrêt des pertes aux points critiques et évitement des pertes au maximum
  5. Le calcul du nombre de transactions introduit des concepts de gestion des risques pour éviter des pertes individuelles excessives

Analyse des risques

  1. Les signaux de transaction générés par la rupture de la ceinture de Brin peuvent avoir un taux de faux signal plus élevé
  2. Certains paramètres de point d’arrêt nécessitent une optimisation pour prévenir un arrêt prématuré
  3. Les points d’arrêt sont trop petits et peuvent être trop fréquents
  4. Les paramètres du cycle SMA doivent être testés et optimisés pour équilibrer la latence et la sensibilité
  5. La méthode de calcul du nombre de transactions peut nécessiter une optimisation pour éviter des frais individuels excessifs.

Ces risques peuvent être réduits en testant soigneusement les paramètres de la courbe de Bryn, en optimisant les stratégies d’arrêt partiel, en ajustant les paramètres du cycle SMA et en introduisant des méthodes de gestion des risques plus scientifiques.

Direction d’optimisation

  1. Test optimisé pour les paramètres de la bande de Bryn, réduisant le taux d’erreur de signal
  2. Des études sur la manière de définir des points de rupture partiels plus appropriés
  3. Optimisation des paramètres de la période SMA
    1. Considérer l’introduction de stop-loss adaptatifs pour remplacer les points de stop-loss fixes
  4. La recherche a introduit le quota de volatilité pour calculer plus scientifiquement la taille des transactions.
  5. Simulation de la rétroaction ajoutée au coût de transaction
  6. Considérer une combinaison avec d’autres indicateurs pour améliorer la stabilité stratégique

Résumer

La stratégie intègre le canal de la ceinture de Brin, l’indicateur de la ligne moyenne SMA pour concevoir une stratégie de suivi de tendance plus complète. Elle est plus fiable pour juger de l’existence d’une tendance et possède une plus forte capacité de suivi de tendance.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © mohanee

//@version=4
strategy(title="BB9_MA200_Strategy", overlay=true, pyramiding=1,     default_qty_type=strategy.cash,  initial_capital=10000, currency=currency.USD)  //default_qty_value=10, default_qty_type=strategy.fixed, 


var stopLossVal=0.00

//variables BEGIN
smaLength=input(200,title="MA Length")
bbLength=input(21,title="BB Length")  

bbsrc = input(close, title="BB Source")
mult = input(2.0, minval=0.001, maxval=50, title="StdDev")


stopLoss = input(title="Stop Loss%", defval=5, minval=1)

riskCapital = input(title="Risk % of capital  == Based on this trade size is claculated    numberOfShares = (AvailableCapital*risk/100) / stopLossPoints", defval=10, minval=1)


sma200=ema(close,smaLength)

plot(sma200, title="SMA 200", color=color.orange)


//bollinger calculation
basis = sma(bbsrc, bbLength)
dev = mult * stdev(bbsrc, bbLength)
upperBand = basis + dev
lowerBand = basis - dev
offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500)

//plot bb
plot(basis, "Basis", color=color.teal, style=plot.style_circles , offset = offset)
p1 = plot(upperBand, "Upper", color=color.teal, offset = offset)
p2 = plot(lowerBand, "Lower", color=color.teal, offset = offset)
fill(p1, p2, title = "Background", color=color.teal, transp=95)


strategy.initial_capital = 50000

//Entry---

strategy.entry(id="LE", comment="LE capital="+tostring(strategy.initial_capital + strategy.netprofit ,"######.##"), qty=( (strategy.initial_capital + strategy.netprofit ) * riskCapital / 100)/(close*stopLoss/100) , long=true,  when=strategy.position_size<1 and upperBand>sma200 and lowerBand > sma200 and crossover(close, basis) )     //  // aroonOsc<0  //(strategy.initial_capital * 0.10)/close


barcolor(color=strategy.position_size>=1? color.blue: na)

//partial Exit
tpVal=strategy.position_size>1 ? strategy.position_avg_price * (1+(stopLoss/100) ) : 0.00
strategy.close(id="LE", comment="Partial points="+tostring(close - strategy.position_avg_price, "####.##"),  qty_percent=30 , when=abs(strategy.position_size)>=1 and close>tpVal and crossunder(lowerBand, sma200)   )   //close<ema55 and rsi5Val<20 //ema34<ema55


//close All on stop loss
//stoploss
stopLossVal:=   strategy.position_size>1 ? strategy.position_avg_price * (1-(stopLoss/100) ) : 0.00

strategy.close_all( comment="SL Exit points="+tostring(close - strategy.position_avg_price, "####.##"),  when=abs(strategy.position_size)>=1 and close < stopLossVal  )  //close<ema55 and rsi5Val<20 //ema34<ema55  //close<ema89//

strategy.close_all( comment="BB9 X SMA200 points="+tostring(close - strategy.position_avg_price, "####.##"),  when=abs(strategy.position_size)>=1 and  crossunder(basis, sma200)  )  //close<ema55 and rsi5Val<20 //ema34<ema55  //close<ema89