
La stratégie de rupture de la double tangent est une stratégie de négociation quantitative basée sur la voie tangentielle. Elle utilise une combinaison de voie tangentielle rapide et de voie tangentielle lente pour réaliser des transactions de rupture à faible risque et à haut rendement.
La stratégie est basée principalement sur deux voies de tangjian, comprenant une voie de tangjian lente à long cycle et une voie de tangjian rapide à court cycle.
Le cycle du canal de Dongguan est plus long et permet d’éliminer efficacement le bruit du marché. Son signal de rupture est plus fiable. Lorsque le prix franchit le canal lent, faites une entrée supplémentaire.
Le passage rapide de la tangjian est de courte durée et permet de réagir rapidement aux fluctuations de prix à court terme. Lorsqu’un prix franchit à nouveau ce passage, il indique un renversement de tendance et nécessite un arrêt immédiat des pertes ou un arrêt immédiat.
De plus, les conditions de volatilité sont définies comme un filtre d’entrée stratégique. L’entrée n’est déclenchée que lorsque la fluctuation des prix dépasse un pourcentage de seuil prédéfini. Cela permet d’éviter d’entrer fréquemment dans le comptage horizontal.
Ces risques peuvent être atténués par des mesures telles que l’optimisation des paramètres, la définition raisonnable des points de rupture et la surveillance des événements majeurs.
La stratégie de rupture du canal de la double tangente est une stratégie de suivi de tendance relativement stable et fiable dans l’ensemble. Elle présente à la fois les avantages de la capture de tendance et du contrôle du risque et est adaptée comme module de base pour une variété de 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)