Cette stratégie est connue sous le nom de stratégie de suivi de tendance de la grille en ligne uniforme de la bande de broyage supérieure. C’est une stratégie qui utilise la bande de broyage et la ligne uniforme pour faire des jugements de tendance et établir un suivi de position de la grille dans la direction de la tendance.
Les principales idées de cette stratégie sont:
Utilisez la bande de Brin pour déterminer l’étendue des fluctuations du marché actuel. La bande de Brin est en moyenne n jours de moyenne mobile simple et la bande de n jours d’ATR moyenne.
Les quatre lignes extérieures de la bande de Bryn sont des lignes d’amplitude d’oscillation réelle de la moyenne exogène. La stratégie consiste à établir des positions lors de la rupture de lignes de différents niveaux.
L’EMA détermine la direction de la tendance de la grande période.
La tendance est suivie par la construction d’une position, et l’arrêt d’une position de vente lorsqu’une ligne K conique apparaît.
Plus précisément, la stratégie est principalement composée des éléments suivants:
Déterminez le paramètre de la bande de Brin, le milieu de la bande de Brin est la moyenne SMA de n jours, la largeur de la bande de Brin est l’ATR de n jours. La longueur de Brin dans la stratégie est de 20
Les quatre lignes d’amplification extérieures de Brin ont été mises en place, avec des variations réelles moyennes de 1,236x, 2,382x, 3,618x et 4,236x respectivement.
Pour déterminer la tendance à grande périodicité, définissez une moyenne EMA rapide-lente de 25 jours et une moyenne EMA lente de 200 jours.
Lors d’un cycle majeur, les positions multiples sont créées progressivement lorsque les prix franchissent les quatre lignes d’équilibre ci-dessous.
Lorsqu’une ligne K aiguilleuse apparaît ou que le prix traverse à nouveau la moyenne périodique, il est considéré comme un signal de fin en forme d’aiguille et la position est arrêtée.
Ce sont les principaux principes techniques de la stratégie. En utilisant les bandes de Brin pour déterminer l’étendue des fluctuations actuelles, suivre la construction de positions dans les tendances à grande périodicité et finalement obtenir l’effet de la position à haute probabilité.
La stratégie présente les principaux avantages suivants:
L’utilisation des caractéristiques de la tendance, le grand cycle de déterminer la direction de la tendance, la construction de positions dans la direction de la tendance, peut réduire les opérations de retour inutiles.
L’utilisation d’une ligne de fléchissement à plusieurs niveaux permet de juger plus précisément les zones de fluctuation actuelles, ce qui permet de saisir la plupart des situations.
La méthode de détention de positions en grille permet de répartir les risques de manière uniforme pour chaque unité de fonds, ce qui permet de générer des rendements stables.
L’utilisation d’une ligne en forme d’aiguille K, un signal de stabilisation très efficace, permet de mettre fin rapidement à l’arrêt.
L’ensemble de la stratégie réalise une trinité de jugement de tendance, de maintien de la grille et de placement de signaux spécifiques, une stratégie de quantification relativement mature et complète.
La stratégie présente également les risques suivants:
Probabilité d’erreur dans le jugement de la tendance à grande périodicité. Il existe une certaine probabilité d’erreur dans la moyenne rapide, ce qui peut entraîner des opérations inversées inutiles.
La probabilité d’échec d’une rupture de la ligne de Brin. La ligne de Brin ne peut pas prédire à 100% la trajectoire des prix.
Les signaux de la ligne K sont plus tardifs et ne peuvent pas être arrêtés à temps.
Il est facile de créer trop de superpositions lors d’ajustements à des secousses périodiques majeures.
La solution est la suivante:
Ajustez lentement les paramètres de la moyenne pour réduire la probabilité d’erreur.
Ajustez les paramètres de la ligne de Bryn pour qu’elle soit aussi proche que possible de la plupart des fluctuations.
Les signaux d’arrêt de formes spécifiques sont testés avec une plus grande sensibilité.
L’augmentation de la distance entre les positions permet de contrôler la taille des positions.
Cette stratégie peut être optimisée dans les directions suivantes:
Tester différents paramètres de la moyenne pour optimiser les tendances à grande période. Par exemple, tester d’autres indicateurs tels que l’EMA, le RSI.
Tester les paramètres ATR de différents multiples pour optimiser les réglages de la largeur du canal de Boolin.
Tester d’autres signaux d’arrêt efficaces, tels que le SAR, la ligne de Carman, etc.
Optimisation de l’espacement de la grille. Rendre les zones de fluctuation plus uniformes et réduire la répétition de la construction de la position.
Il a ajouté: “Nous avons besoin d’un mécanisme de prévention des pertes supplémentaire pour éviter de grandes pertes dans des situations extrêmes”.
La stratégie utilise des techniques telles que les voies de la bande de Brin, les indicateurs de l’équilibre, les formes spécifiques de la ligne K. La stratégie est construite sur la base d’une stratégie de grille de Brin linéaire, qui suit la tendance du grand cycle. Par rapport à la rupture de la bande de Brin traditionnelle, la stratégie ajoute la détermination des caractéristiques de la tendance, ce qui permet de réduire les positions inverses inutiles, tandis que la méthode de maintien de la grille permet la dispersion du risque de chaque unité de fonds, ce qui permet de réaliser des gains stables.
/*backtest
start: 2023-10-24 00:00:00
end: 2023-11-23 00:00:00
period: 1h
basePeriod: 15m
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/
// © Aayonga
//@version=5
strategy("fib trend grid@Aa", overlay=true)
//回测时间
useDateFilter=input.bool(true,title = "启用回测时间范围限定(backtest)", group = "回测范围(backtest)")
backtesStarDate=input(timestamp("1 Jan 2015"),title = "开始时间(Start)", group = "回测范围(backtest)")
backtestEndDate=input(timestamp("1 Jan 2040"),title = "结束时间(finish)",group = "回测范围(backtest)")
inTradeWindow=true
//入场位 entry
bolllen=input.int(defval=20,minval=1,title="布林长度,(boll length)",group = "入场位(entry)")
sma=ta.sma(close,bolllen)
avg=ta.atr(bolllen)
fib1=input(defval=1.236,title="Fib 1",group = "入场位(entry)")
fib2=input(defval=2.382,title="Fib 2",group = "入场位(entry)")
fib3=input(defval=3.618,title="fib 3",group = "入场位(entry)")
fib4=input(defval=4.236,title="Fib 4",group = "入场位(entry)")
r1=avg*fib1
r2=avg*fib2
r3=avg*fib3
r4=avg*fib4
top4=sma+r4
top3=sma+r3
top2=sma+r2
top1=sma+r1
bott1=sma-r1
bott2=sma-r2
bott3=sma-r3
bott4=sma-r4
//趋势 plot
t4=plot(top4,title="卖 (sell)4",color=color.rgb(244, 9, 9))
t3=plot(top3,title = "卖(sell) 3",color=color.rgb(211, 8, 8))
t2=plot(top2,title="卖 (sell)2",color=color.rgb(146, 13, 13))
t1=plot(top1,title="卖(sell) 1",color=color.rgb(100, 3, 3))
b1=plot(bott1,title="买(buy1)1",color=color.rgb(4, 81, 40))
b2=plot(bott2,title="买(buy)2",color=color.rgb(15, 117, 46))
b3=plot(bott3,title = "买(buy)3",color =color.rgb(8, 176, 42) )
b4=plot(bott4,title="买(buy)4",color=color.rgb(15, 226, 103))
plot(sma,style=plot.style_cross,title="SMA",color=color.rgb(47, 16, 225))
//趋势
LengthF=input(defval = 25,title = "快线长度(fastlength)")
LengthS=input(defval=200,title = "慢线长度(slowlength)")
emaF=ta.ema(close,LengthF)
smaS=ta.sma(close,LengthS)
longTrend=emaF>smaS
longb=ta.crossover(emaF,smaS)
bgcolor(longb ? color.new(color.green,40):na,title = "多头强势(bull trend)")
shortTrend=smaS>emaF
shortb=ta.crossunder(emaF,smaS)
bgcolor(shortb ? color.new(#951313, 40):na,title = "空头强势(bear trend)")
//pinbar
bullPinBar = ((close > open) and ((open - low) > 0.6* (high - low))) or ((close < open) and ((close - low) > 0.9 * (high - low)))
//plotshape(bullPinBar , text ="pinbar", textcolor=color.rgb(9, 168, 144),location=location.belowbar, color=color.rgb(29, 103, 67), size=size.tiny)
bearPinBar = ((close > open) and ((high - close) > 0.7 * (high - low))) or ((close < open) and ((high - open) > 0.7 * (high - low)))
//plotshape(bearPinBar , text ="pinbar", textcolor=color.rgb(219, 12, 12),location=location.abovebar, color=color.rgb(146, 7, 7), size=size.tiny)
buy1=ta.crossunder(close,bott1) and longTrend and close>ta.ema(close,100)
buy2=ta.crossunder(close,bott2) and longTrend
buy3=ta.crossunder(close,bott3) and longTrend
buy4=ta.crossunder(close,bott4) and longTrend
buyclose=bearPinBar or ta.crossunder(close,smaS)
if buy2 or buy3 or buy4 or buy1 and inTradeWindow
strategy.order("多(buy)",strategy.long)
if buyclose and inTradeWindow
strategy.close("多(buy)")
sell1=ta.crossover(close,top1) and shortTrend and close<ta.ema(close,200)
sell2=ta.crossover(close,top2) and shortTrend and close<ta.ema(close,200)
sell3=ta.crossover(close,top3) and shortTrend and close<ta.ema(close,200)
sell4=ta.crossover(close,top4) and shortTrend and close<ta.ema(close,200)
sellclose=bullPinBar or ta.crossover(close,ta.sma(close,220))
if sell1 or sell2 or sell3 or sell4 and inTradeWindow
strategy.order("空(sell)",strategy.short)
if sellclose and inTradeWindow
strategy.close("空(sell)")