La stratégie de rupture dynamique du canal est une stratégie de suivi des tendances. Elle utilise l'indicateur du canal Donchian pour déterminer dynamiquement les prix d'achat et de vente de rupture, combine l'indicateur ATR pour définir des points de stop-loss et réalise une automatisation complète de la génération de signaux de trading et des sorties de stop-loss.
Le canal de Donchian est un indicateur de canal dynamique qui forme des bandes supérieures et inférieures en calculant les prix les plus élevés et les plus bas au cours d'une certaine période dans le passé.
Cette stratégie fixe la période du canal de Donchian à 20 jours. Lorsque le prix franchit le rail supérieur, un signal d'achat est généré, indiquant que le marché est entré dans une tendance à la hausse. Lorsque le prix tombe en dessous du rail inférieur, un signal de vente est généré, indiquant que le marché est entré dans une tendance à la baisse.
L'indicateur ATR est l'abréviation de Average True Range, qui reflète l'amplitude moyenne de fluctuation d'un certain actif au cours d'une période récente.
Cette stratégie utilise l'indicateur ATR de 20 jours pour calculer le point d'arrêt de perte. Plus la valeur ATR est grande, plus la fluctuation du marché est grande et plus le point d'arrêt de perte est éloigné. Cela empêche le point d'arrêt de perte d'être trop proche et éliminé par de légères fluctuations du marché.
Lorsque le prix franchit la ligne médiane du canal de Donchian vers le haut, un signal d'achat est généré. Lorsque le prix franchit la ligne médiane vers le bas, un signal de vente est généré. Cela indique que le prix a commencé à franchir ce canal et à entrer dans un nouveau cycle de tendance.
En même temps, en combinaison avec le point de stop loss calculé par l'indicateur ATR, lorsque la perte atteint le point de stop loss, la position sera activement stoppée pour contrôler les risques.
Le canal Donchian est un indicateur de suivi des tendances. En ajustant dynamiquement la plage de canaux, cette stratégie peut suivre automatiquement les changements dans les tendances du marché et générer des signaux d'achat et de vente en conséquence. Cela évite la subjectivité du jugement manuel et rend les signaux de trading plus objectifs et fiables.
La stratégie contient à la fois des règles longues et courtes, ce qui permet un commerce bidirectionnel. Cela élargit les environnements de marché où la stratégie peut être appliquée, permettant une rentabilité à la fois en hausse et en baisse.
Le mécanisme d'arrêt des pertes de l'indicateur ATR peut contrôler efficacement la perte d'une seule transaction.
La stratégie du canal de Donchian présente un certain risque d'être piégée. Si le prix s'inverse et rentre dans le canal sans stop loss, des pertes importantes peuvent être encourues. Le mécanisme de stop loss ATR dans cette stratégie aide à atténuer ce risque.
L'indicateur Donchian Channel génère des signaux erronés lors d'inversions de tendance.
Les paramètres de la période de la chaîne de Donchian et de l'ATR doivent être optimisés, sinon des signaux incorrects excessifs peuvent être générés.
Des indicateurs de jugement de tendance tels que des moyennes mobiles peuvent être ajoutés pour éviter des signaux erronés à des points tournants importants.
Optimiser les paramètres du canal de Donchian et de l'ATR pour trouver la meilleure combinaison.
Combiner d'autres indicateurs de jugement auxiliaires tels que les modèles de chandeliers et les changements de volume de négociation pour améliorer l'exactitude du signal et réduire les transactions de renversement inutiles.
La stratégie de rupture dynamique du canal localise la direction de la tendance à travers les bandes supérieures et inférieures du canal de Donchian et génère des signaux de trading. Le mécanisme de stop loss ATR contrôle le risque. Cette stratégie a un haut degré d'automatisation et convient au trading quantitatif.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title = "dc", overlay = true) atrLength = input(title="ATR Length:", defval=20, minval=1) testStartYear = input(2018, "Backtest Start Year") testStartMonth = input(1, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testEndYear = input(2018, "Backtest Start Year") testEndMonth = input(12) testEndDay = input(31, "Backtest Start Day") testPeriodEnd = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testPeriod() => true //time >= testPeriodStart ? true : false dcPeriod = input(20, "Period") dcUpper = highest(close, dcPeriod)[1] dcLower = lowest(close, dcPeriod)[1] dcAverage = (dcUpper + dcLower) / 2 atrValue=atr(atrLength) useTakeProfit = na useStopLoss = na useTrailStop = na useTrailOffset = na Buy_stop = lowest(low[1],3) - atr(20)[1] / 3 plot(Buy_stop, color=red, title="buy_stoploss") Sell_stop = highest(high[1],3) + atr(20)[1] / 3 plot(Sell_stop, color=green, title="sell_stoploss") plot(dcLower, style=line, linewidth=3, color=red, offset=1) plot(dcUpper, style=line, linewidth=3, color=aqua, offset=1) plot(dcAverage, color=yellow, style=line, linewidth=3, title="Mid-Line Average") strategy.entry("simpleBuy", strategy.long, when=(close > dcAverage) and cross(close,dcAverage)) strategy.close("simpleBuy",when=((close < dcAverage) and cross(close,dcAverage)) or ( close< Buy_stop)) strategy.entry("simpleSell", strategy.short,when=(close < dcAverage) and cross(close,dcAverage) ) strategy.close("simpleSell",when=((close > dcAverage) and cross(close,dcAverage)) or ( close > Sell_stop)) //strategy.exit("Exit simpleBuy", from_entry = "simpleBuy", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset) //strategy.exit("Exit simpleSell", from_entry = "simpleSell", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)