La stratégie de rupture de canal adaptative est une stratégie de suivi des tendances qui suit les canaux de prix du marché.
L'avantage de cette stratégie est qu'elle peut s'adapter automatiquement aux changements du marché en élargissant les canaux pour filtrer le bruit et produire des signaux de trading lorsqu'une tendance est claire.
Cette stratégie est basée sur la théorie de la rupture du canal. Elle calcule deux ensembles de prix les plus élevés et les plus bas au cours de différentes périodes (longueur d'entrée et longueur de sortie) pour former des canaux. Lorsque les prix dépassent les canaux, des signaux sont générés.
Plus précisément, la stratégie calcule d'abord le prix le plus élevé (supérieur) et le prix le plus bas (inférieur) de 20 périodes pour former le canal de prix. Elle calcule ensuite le prix le plus élevé (supérieur) et le prix le plus bas (inférieur) de 10 périodes. Après un signal d'achat est déclenché (dépassement des prix au-dessus du rail supérieur), le prix le plus bas de 10 périodes (dépassement) est utilisé comme ligne de stop loss. Après un signal de vente est déclenché (dépassement des prix au-dessous du rail inférieur), le prix le plus élevé de 10 périodes (supérieur) est utilisé comme ligne de prise de profit. Cela forme un système de canal adaptatif.
Lorsque les prix franchissent le canal, cela indique qu'une tendance se forme. La stratégie émettra alors des signaux de trading. En même temps, les lignes de prise de profit et de stop-loss s'ajusteront également aux changements de prix pour verrouiller les profits et éviter les pertes.
Les principaux risques de cette stratégie sont les suivants:
Les optimisations potentielles de cette stratégie comprennent:
La stratégie Adaptive Channel Breakout a une logique claire et une forte faisabilité globale. Elle peut suivre automatiquement les changements du marché et générer des signaux de trading lorsque les tendances se forment. Les mécanismes à double canal et stop loss/take profit aident également à contrôler les risques. Cette stratégie peut être encore améliorée en termes de stabilité et de rentabilité grâce à l'optimisation des paramètres, des conditions de filtrage, etc. Il vaut la peine de vérifier et de perfectionner davantage le trading en direct.
/*backtest start: 2024-01-29 00:00:00 end: 2024-02-28 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Turtle Trade Channels Strategy", shorttitle="TTCS", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) length = input(20,"Entry Length", minval=1) len2=input(10, "Exit Length", minval=1) lower = lowest(length) upper = highest(length) up=highest(high,length) down=lowest(low,length) sup=highest(high,len2) sdown=lowest(low,len2) K1=barssince(high>=up[1])<=barssince(low<=down[1]) ? down : up K2=iff(barssince(high>=up[1])<=barssince(low<=down[1]),sdown,sup) K3=iff(close>K1,down,na) K4=iff(close<K1,up,na) buySignal=high==upper[1] or crossover(high,upper[1]) sellSignal = low==lower[1] or crossover(lower[1],low) buyExit=low==sdown[1] or crossover(sdown[1],low) sellExit = high==sup[1] or crossover(high,sup[1]) strategy.entry("Buy", strategy.long, when = buySignal and barssince(buySignal) < barssince(sellSignal[1])) strategy.entry("Sell", strategy.short, when = sellSignal and barssince(sellSignal) < barssince(buySignal[1])) strategy.exit("Buy Exit", from_entry = "Buy", when = buyExit and barssince(buyExit) < barssince(sellExit[1])) strategy.exit("Sell Exit", from_entry = "Sell", when = sellExit and barssince(sellExit) < barssince(buyExit[1])) plot(K1, title="Trend Line", color=color.red, linewidth=2) e=plot(K2, title="Exit Line", color=color.blue, linewidth=1, style=6)