
A estratégia de ruptura de dois canais de tangjian é uma estratégia de negociação quantitativa baseada no canal de tangjian. A estratégia usa uma combinação de canais de tangjian rápido e lento para realizar uma ruptura de negociação de alto rendimento com baixo risco.
A estratégia baseia-se principalmente em dois canais de tangjian, incluindo um canal de tangjian lento e de longo ciclo e um canal de tangjian rápido e de curto ciclo.
O ciclo do canal de Dongjian é mais longo e efetivamente elimina o ruído do mercado, e seu sinal de ruptura tem uma maior confiabilidade. Quando o preço quebra o canal de alta velocidade, faça mais entrada; Quando o preço despenca do canal de baixa velocidade, faça entrada em branco.
O ciclo do corredor rápido de Tangjian é curto e pode responder rapidamente a mudanças de preços de curto prazo. Quando o preço reabsorve esse corredor, indica que a tendência está se revertendo e precisa parar ou parar imediatamente.
Além disso, o filtro de entrada para a estratégia de condições de taxa de flutuação é configurado. A entrada é acionada somente quando a flutuação do preço excede a porcentagem de limiar pré-definida. Isso evita a entrada frequente na composição horizontal.
Os riscos podem ser reduzidos por meio de medidas como otimização de parâmetros, definição racional de pontos de parada e atenção a eventos significativos.
A estratégia de ruptura do canal de duplo tangente é, em geral, uma estratégia de rastreamento de tendências relativamente estável e confiável. Ela combina os benefícios da captura de tendências e do controle de risco e é um módulo básico adequado para várias estratégias de negociação de ações.
/*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)