A estratégia de ruptura de canal adaptativo é uma estratégia de tendência que acompanha os canais de preços do mercado.
A vantagem desta estratégia é que ela pode se adaptar automaticamente às mudanças do mercado, expandindo os canais para filtrar o ruído e produzir sinais de negociação quando uma tendência é clara.
Esta estratégia baseia-se na teoria da ruptura do canal. Ele calcula dois conjuntos de preços mais altos e mais baixos em diferentes períodos (longo de entrada e comprimento de saída) para formar canais. Quando os preços excedem os canais, os sinais são gerados.
Especificamente, a estratégia primeiro calcula o preço mais alto de 20 períodos (superior) e o preço mais baixo (inferior) para formar o canal de preços. Em seguida, calcula o preço mais alto de 10 períodos (sup) e o preço mais baixo (down). Após um sinal de compra ser acionado (quedas acima do trilho superior), o preço mais baixo de 10 períodos (down) é usado como a linha de stop loss. Após um sinal de venda ser acionado (quedas abaixo do trilho inferior), o preço mais alto de 10 períodos (sup) é usado como a linha de lucro. Isso forma um sistema de canal adaptativo.
Quando os preços atravessam o canal, isso indica que uma tendência está se formando. A estratégia emitirá então sinais de negociação. Ao mesmo tempo, as linhas de take profit e stop loss também se ajustam com as mudanças de preço para bloquear lucros e evitar perdas.
Os principais riscos desta estratégia incluem:
As potenciais otimizações desta estratégia incluem:
A estratégia de ruptura de canal adaptativo tem lógica clara e forte viabilidade geral. Ela pode rastrear automaticamente as mudanças de mercado e gerar sinais de negociação quando as tendências se formam. Os mecanismos de duplo canal e stop loss / take profit também ajudam a controlar os riscos. Esta estratégia pode ser ainda melhorada em estabilidade e lucratividade através da otimização de parâmetros, condições de filtragem, etc. Vale a pena mais verificação e refinamento de negociação ao vivo.
/*backtest start: 2024-01-29 00:00:00 end: 2024-02-28 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Turtle Trade Channels Strategy", shorttitle="TTCS", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) length = input(20,"Entry Length", minval=1) len2=input(10, "Exit Length", minval=1) lower = lowest(length) upper = highest(length) up=highest(high,length) down=lowest(low,length) sup=highest(high,len2) sdown=lowest(low,len2) K1=barssince(high>=up[1])<=barssince(low<=down[1]) ? down : up K2=iff(barssince(high>=up[1])<=barssince(low<=down[1]),sdown,sup) K3=iff(close>K1,down,na) K4=iff(close<K1,up,na) buySignal=high==upper[1] or crossover(high,upper[1]) sellSignal = low==lower[1] or crossover(lower[1],low) buyExit=low==sdown[1] or crossover(sdown[1],low) sellExit = high==sup[1] or crossover(high,sup[1]) strategy.entry("Buy", strategy.long, when = buySignal and barssince(buySignal) < barssince(sellSignal[1])) strategy.entry("Sell", strategy.short, when = sellSignal and barssince(sellSignal) < barssince(buySignal[1])) strategy.exit("Buy Exit", from_entry = "Buy", when = buyExit and barssince(buyExit) < barssince(sellExit[1])) strategy.exit("Sell Exit", from_entry = "Sell", when = sellExit and barssince(sellExit) < barssince(buyExit[1])) plot(K1, title="Trend Line", color=color.red, linewidth=2) e=plot(K2, title="Exit Line", color=color.blue, linewidth=1, style=6)