La stratégie de rupture de la double tranche est une stratégie de négociation quantitative basée sur la tranche. Cette stratégie utilise une combinaison de tranches rapides et lentes pour réaliser des transactions de rupture à faible risque et à haut rendement.
La stratégie est basée principalement sur deux canaux de Dongjian, comprenant un canal de Dongjian lent à un cycle plus long et un canal de Dongjian rapide à un cycle plus court.
Les cycles du tunnel douchian lent sont plus longs, ce qui permet d'éliminer efficacement le bruit du marché, et leurs signaux de rupture sont plus fiables.
Le cycle rapide du canal de Dongcheng est plus court et permet de réagir rapidement aux variations de prix à court terme. Lorsque le prix franchit à nouveau le canal, il indique qu'il y a un retournement de tendance et qu'il faut immédiatement arrêter les pertes ou arrêter les sorties.
En outre, des conditions de volatilité sont mises en place comme filtres d'entrée stratégiques. Une entrée n'est déclenchée que lorsque les fluctuations des prix dépassent un pourcentage de seuil prédéfini. Cela évite de fréquentes entrées dans le classement horizontal.
Ces risques peuvent être réduits par des mesures telles que l'optimisation des paramètres, la mise en place raisonnable des points de rupture et la surveillance des événements majeurs.
La stratégie de rupture du double canal de Donchian est globalement une stratégie de suivi des tendances relativement stable et fiable. Elle présente à la fois les avantages de la capture des tendances et du contrôle des risques, et est adaptée comme un module de base pour de nombreuses stratégies de négociation d'actions.
/*backtest start: 2024-01-04 00:00:00 end: 2024-02-03 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © omererkan //@version=5 strategy(title="Double Donchian Channel Breakout", overlay=true, initial_capital = 1000, commission_value = 0.05, default_qty_value = 100, default_qty_type = strategy.percent_of_equity) slowLen = input.int(50, title="Slow Donchian") fastLen = input.int(30, title="Fast Donchian") volatility = input.int(3, title="Volatility (%)") longProfitPerc = input.float(2, title="Long TP1 (%)", minval=0.0, step=0.1) * 0.01 shortProfitPerc = input.float(2, title="Short TP1 (%)", minval=0.0, step=0.1) * 0.01 TP1Yuzde =input.int(50, title = "TP1 Position Amount (%)") ubSlow = ta.highest(close, slowLen)[1] lbSlow = ta.lowest(close, slowLen)[1] ubFast = ta.highest(close, fastLen)[1] lbFast = ta.lowest(close, fastLen)[1] plot(ubSlow, color=color.green, linewidth=2, title="Slow DoCh - Upperband") plot(lbSlow, color=color.green, linewidth=2, title="Slow DoCh - Lowerband") plot(ubFast, color=color.blue, linewidth=2, title="Fast DoCh - Upperband") plot(lbFast, color=color.blue, linewidth=2, title="Fast DoCh - Lowerband") fark = (ubSlow - lbSlow) / lbSlow * 100 longExitPrice = strategy.position_avg_price * (1 + longProfitPerc) shortExitPrice = strategy.position_avg_price * (1 - shortProfitPerc) longCondition = ta.crossover(close, ubSlow) and fark > volatility if (longCondition) strategy.entry("Long", strategy.long) shortCondition = ta.crossunder(close, lbSlow) and fark > volatility if (shortCondition) strategy.entry("Short", strategy.short) if strategy.position_size > 0 and ta.crossunder(close, lbFast) strategy.close("Long", "Close All") if strategy.position_size < 0 and ta.crossover(close, ubFast) strategy.close("Short", "Close All") // Take Profit if strategy.position_size > 0 strategy.exit("TP1", "Long", qty_percent = TP1Yuzde, limit = longExitPrice) if strategy.position_size < 0 strategy.exit("TP1", "Short", qty_percent = TP1Yuzde, limit = shortExitPrice)