
La stratégie est basée sur la génération de signaux de trading en bandes de Brin et en double ligne égale, combinée à un filtrage de tendance, dans le but de rechercher des taux de victoires élevés et un bon rapport gain/perte.
Les signaux d’espace libre sont déterminés à l’aide des bandes de Brin pour les lignes supérieure, intermédiaire et inférieure.
Pour déterminer la tendance, utilisez une moyenne à court terme de 20 ans et une moyenne à long terme de 60 ans. Lorsque la moyenne à court terme est en hausse, la moyenne à long terme est en baisse.
Adaptation de la position d’arrêt en fonction de la largeur dynamique de la bande de broyage. Lorsque la largeur de la bande de broyage est supérieure à 0,5%, la position d’arrêt est en dessous de la voie; lorsque la largeur est inférieure à 0,5%, la position d’arrêt est réduite à la moitié de la distance entre les voies.
Conditions d’entrée: le bullish est utilisé comme signal de multiplication lorsque le prix dépasse la trajectoire descendante, et le bearish comme signal de reprise lorsque le prix dépasse la trajectoire montante.
Conditions de sortie: arrêt au contact de la courroie de Brin sur la voie ou à la ligne moyenne à court terme; arrêt au contact de la courroie de Brin sur la voie inférieure ou à la ligne moyenne à court terme.
Conditions de stop loss: stop loss lorsque le cours est en dessous de la zone dynamique de la courbe de Bolling; stop loss lorsque le cours est en dessous de la zone dynamique de la courbe de Bolling.
L’utilisation d’une double ligne d’équilibre pour la détermination des tendances permet de filtrer efficacement les tendances inconnues ou le bruit de la correction du marché.
Le milieu de la ceinture de Brin sert de résistance de support, et le haut et le bas de la ceinture de Brin servent de point d’arrêt dynamique, permettant de contrôler le risque.
Ajustez l’amplitude d’arrêt en fonction de la bande passante de Brin pour réduire la probabilité que l’arrêt soit activé et pour s’assurer que l’arrêt est placé de manière raisonnable.
Le taux de réussite est plus élevé.
Les doubles courbes ont une plus grande probabilité de générer de fausses ruptures et peuvent manquer le point de basculement de la tendance. La courbe peut être raccourcie de manière appropriée.
La zone Brin est facilement prise en compte dans les tendances de choc. Elle peut être évitée en réduisant la fréquence des transactions.
La position d’arrêt de perte peut être facilement dépassée lorsque la résistance est proche de la résistance de support. La gamme d’arrêt de perte peut être libérée de manière appropriée.
Les chances de ne pas pouvoir capturer efficacement les retours de courte ligne.
Optimiser les paramètres de cycle moyen pour trouver un environnement de marché approprié pour la stratégie.
Optimiser les paramètres de multiplication de la bande de Brindes pour équilibrer la probabilité que le stop-loss soit dépassé.
Ajouter d’autres indicateurs pour une vérification multi-facteur et améliorer la qualité du signal.
Le nombre de transactions a été évalué en tenant compte de l’énergie du volume des transactions pour déterminer la tendance et éviter les déviations.
Optimisation de la gestion des fonds, par exemple par le biais de quotas fixes, de stop-loss fixes, etc. pour contrôler les pertes individuelles.
Le prix de l’acquisition de l’acquisition de l’acquisition de l’acquisition de l’acquisition.
Cette stratégie est globalement plus stable, avec une direction de tendance à deux niveaux, une résistance de soutien et un arrêt dynamique. Cependant, il existe certaines limitations, telles que des problèmes d’erreur de tendance, d’arrêt trop proche et autres.
/*backtest
start: 2022-10-18 00:00:00
end: 2023-10-24 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy(title="yuthavithi BB Scalper 2 strategy", overlay=true)
len = input(20, minval=1, title="Length")
multiplier = input(4, minval=1, title="multiplier")
trendTimeFrame = input(60, minval=1, title="Trend Time Frame")
useTrendFilter = input(true, type=bool, title = "Use Trend Filter")
src = input(close, title="Source")
out = sma(src, len)
//plot(out, title="SMA", color=blue)
stdOut = stdev(close, len)
bbUpper = out + stdOut * multiplier
bbLower = out - stdOut * multiplier
bbUpper2 = out + stdOut * (multiplier / 2)
bbLower2 = out - stdOut * (multiplier / 2)
bbUpperX2 = out + stdOut * multiplier * 2
bbLowerX2 = out - stdOut * multiplier * 2
bbWidth = (bbUpper - bbLower) / out
closeLongTerm = request.security(syminfo.tickerid, tostring(trendTimeFrame), close)
smaLongTerm = request.security(syminfo.tickerid, tostring(trendTimeFrame), sma(close,20))
//plot(smaLongTerm, color=red)
trendUp = useTrendFilter ? (closeLongTerm > smaLongTerm) : true
trendDown = useTrendFilter? (closeLongTerm < smaLongTerm) : true
bearish = ((cross(close,bbUpper2) == 1) or (cross(close,out) == 1)) and (close[1] > close) and trendDown
bullish = ((cross(close,bbLower2) == 1) or (cross(close,out) == 1)) and (close[1] < close) and trendUp
closeBuy = (high[1] > bbUpper[1]) and (close < bbUpper) and (close < open) and trendUp
closeSell = (((low[1] < bbLower[1]) and (close > bbLower)) or ((low[2] < bbLower[2]) and (close[1] > bbLower[1]))) and (close > open) and trendDown
cutLossBuy = iff(bbWidth > 0.005, (low < bbLower) and (low[1] > bbLower[1]) and trendUp, (low < bbLowerX2) and (low[1] > bbLowerX2[1]) and trendUp)
cutLossSell = iff(bbWidth > 0.005, (high > bbUpper) and (high[1] < bbUpper[1]) and trendDown, (high > bbUpperX2) and (high[1] < bbUpperX2[1]) and trendDown)
if (bullish)
strategy.entry("Buy", strategy.long, comment="Buy")
if (bearish)
strategy.entry("Sell", strategy.short, comment="Sell")
strategy.close("Buy", closeBuy or cutLossBuy)
strategy.close("Sell", closeSell or cutLossSell)