Cette stratégie montre ce qui se passerait si vous suiviez aveuglément l'indicateur Supertrend. Comme nous le savons, Supertrend n'apparaît pas immédiatement et nous devons attendre la barre suivante pour décider si nous devons entrer dans une position. Vous pouvez donc voir ce qui se passera si vous prenez une position après que Supertrend se soit finalement formé. Cet indicateur est extrêmement dangereux sans autres outils et peut donner des retraits très graves.
Cette stratégie utilise l'indicateur Supertrend pour déterminer la tendance des prix.
Lorsque le prix de clôture est au-dessus du niveau supérieur, il représente une tendance à la hausse soutenue; lorsque le prix de clôture est en dessous du niveau inférieur, il représente une tendance à la baisse soutenue.
Cette stratégie définit deux paramètres: Facteur et Pd. Facteur contrôle la largeur du canal Supertrend, et Pd contrôle la durée de la période pour calculer l'ATR. Sur la base de ces deux paramètres, les rails supérieur et inférieur peuvent être construits.
Formule du rail supérieur: hl2 - (facteur * ATR(Pd)) La formule du rail inférieur: hl2 + (facteur * ATR(Pd))
Où hl2 représente le point médian des prix élevés et bas.
Ensuite, comparez le prix de clôture actuel avec les rails supérieur et inférieur pour déterminer s'il s'agit d'une tendance haussière ou d'une tendance baissière, et sortez une variable de tendance booléenne.
Tracez les rails supérieur et inférieur de Supertrend en fonction de la tendance et placez des signaux d'entrée et de sortie lorsque l'état de la tendance change.
Définissez la stratégie en fonction des signaux.
Cette stratégie présente les avantages suivants:
Utilise l'indicateur Supertrend, qui peut déterminer clairement la tendance des prix et les points pivots.
Définit une logique d'entrée et de sortie claire.
Visualise le temps d'entrée avec des flèches.
Une logique de stratégie simple et facile à comprendre.
Cette stratégie comporte les risques suivants:
Suivre aveuglément la Supertrend sans autres indicateurs auxiliaires et la gestion de l'argent peut conduire à des retraits énormes.
Pas de stop loss, incapable de contrôler une seule perte.
Les signaux peuvent être retardés, incapables d'entrer à temps autour des virages.
Les paramètres mal réglés peuvent entraîner une trop grande ou une trop petite largeur du canal Supertrend.
Mesures de gestion des risques:
Combinez avec d'autres indicateurs tels que MACD, KDJ pour la validation de l'efficacité, éviter de suivre à l'aveugle.
Définir un stop-loss raisonnable pour maximiser le contrôle sur une seule perte.
Ajustez les paramètres pour rendre le canal Supertrend raisonnable, empêcher trop large ou trop étroit.
Cette stratégie peut être optimisée dans les aspects suivants:
Ajouter des indicateurs auxiliaires pour la validation de l'efficacité afin d'éviter les échecs.
On peut définir un pourcentage de stop loss basé sur l'ATR.
Optimiser les hyperparamètres Facteur et Pd pour trouver les meilleures combinaisons de paramètres.
Optimiser le temps d'entrée pour éviter le décalage du signal. Par exemple, des indicateurs de momentum peuvent être introduits pour ajuster le temps d'entrée en fonction de la force et de la faiblesse.
Ajouter des stratégies de dimensionnement de la position. Par exemple, la dimensionnement de la position fractionnelle fixe peut être adoptée.
Cette stratégie utilise l'indicateur de Supertrend pour déterminer la tendance des prix et trouver des points tournants. Suivre aveuglément la Supertrend sans indicateurs auxiliaires et sans moyens de stop loss entraîne d'énormes risques. Nous avons proposé des améliorations dans des aspects tels que la gestion des risques, les stratégies de stop loss, l'optimisation des paramètres, le timing d'entrée, etc., ce qui peut améliorer considérablement la stabilité et la rentabilité de la stratégie.
/*backtest start: 2022-12-06 00:00:00 end: 2023-12-12 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Supertrend blind follow", overlay=true) Factor=input(3, minval=1,maxval = 100) Pd=input(7, minval=1,maxval = 100) Up=hl2-(Factor*atr(Pd)) Dn=hl2+(Factor*atr(Pd)) TrendUp=close[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up TrendDown=close[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn Trend = close > TrendDown[1] ? 1: close< TrendUp[1]? -1: nz(Trend[1],1) Tsl = Trend==1? TrendUp: TrendDown linecolor = Trend == 1 ? green : red plot(Tsl, color = linecolor , style = line , linewidth = 2,title = "SuperTrend") plotshape(cross(close,Tsl) and close>Tsl , "Up Arrow", shape.triangleup,location.belowbar,green,0,0) plotshape(cross(Tsl,close) and close<Tsl , "Down Arrow", shape.triangledown , location.abovebar, red,0,0) //plot(Trend==1 and Trend[1]==-1,color = linecolor, style = circles, linewidth = 3,title="Trend") plotarrow(Trend == 1 and Trend[1] == -1 ? Trend : na, title="Up Entry Arrow", colorup=lime, maxheight=60, minheight=50, transp=0) plotarrow(Trend == -1 and Trend[1] == 1 ? Trend : na, title="Down Entry Arrow", colordown=red, maxheight=60, minheight=50, transp=0) longCondition = cross(close,Tsl) and close>Tsl if (longCondition) strategy.entry("long", strategy.long) shortCondition = cross(Tsl,close) and close<Tsl if (shortCondition) strategy.entry("short", strategy.short)