
La stratégie de rupture de la chaîne de Donchian est une stratégie de suivi de la tendance basée sur la chaîne de prix. La stratégie utilise les limites supérieures, inférieures et moyennes mobiles de la chaîne de Donchian pour déterminer la tendance et la rupture des prix afin d’émettre des signaux d’achat et de vente.
Cette stratégie commence par calculer le prix au cours d’un certain cycle. Les prix les plus élevés, les prix les plus bas et les moyennes de la ligne médiane constituent un canal de prix entre les prix les plus élevés et les prix les plus bas, la moyenne de la ligne médiane se trouve au milieu du canal.
Plus précisément, la stratégie fonctionne selon les étapes suivantes:
C’est le principe de base de la stratégie de négociation. Déterminez la tendance en saisissant le prix pour franchir le canal et, au fur et à mesure, changez de direction au point critique.
Cette stratégie présente les avantages suivants:
Cette stratégie comporte aussi des risques:
La réponse:
La stratégie peut également être optimisée dans les domaines suivants:
La stratégie de rupture de la chaîne de donjon est une stratégie de suivi de tendance efficace dans l’ensemble. Elle est théoriquement fondée, logiquement simple, juge la direction de la tendance par la chaîne de prix et la suit pour capturer des bénéfices dans la tendance. Cependant, cette stratégie basée sur la rupture présente également un certain risque et nécessite l’optimisation des paramètres et des conditions de filtrage pour rendre la stratégie plus stable et pratique.
/*backtest
start: 2024-01-26 00:00:00
end: 2024-02-25 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title = "dc", overlay = true)
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
plot(dcLower, style=line, linewidth=3, color=red, offset=1)
plot(dcUpper, style=line, linewidth=3, color=aqua, offset=1)
plot(dcAverage, color=black, style=line, linewidth=3, title="Mid-Line Average")
strategy.entry("simpleBuy", strategy.long, when=close > dcAverage)
strategy.close("simpleBuy",when=close < dcLower)
strategy.entry("simpleSell", strategy.short,when=close < dcAverage)
strategy.close("simpleSell",when=close > dcAverage)