Intervalo superior = SMA + Valor ATR × Coeficiente de Intervalo superior (padrão 4) Intervalo inferior = SMA - Valor ATR × Coeficiente de Intervalo inferior (padrão 4)
Os parâmetros podem ser otimizados para maximizar a captura de movimentos de preços para cima e para baixo para lucros de negociação de tendência.
Os parâmetros de ATR e os coeficientes de configuração inadequados podem resultar em intervalos de canais irracionais.
Perdas curtas persistentes em tendências ascendentes do mercado de alta e perdas longas persistentes em tendências descendentes do mercado de baixa.
Possíveis soluções:
Ajustar a frequência de negociação ou adicionar filtros para evitar perdas de falhas.
Algumas formas de melhorar esta estratégia:
Otimizar o período de ATR e o coeficiente de canal para se adequarem às condições atuais de volatilidade do mercado através de um extenso backtesting.
Incorporar stop loss automatizado para controlar a perda máxima por negociação.
Cortar perdas rapidamente quando o preço diverge da linha de base da SMA.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 30m 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="ATR Channel Breakout") smaLength = input.int(150, title="SMA Length") atrLength = input.int(30, title="ATR Length") ubOffset = input.float(4, title="Upperband Offset", step=0.50) lbOffset = input.float(4, title="Lowerband Offset", step=0.50) smaValue = ta.sma(close, smaLength) atrValue = ta.atr(atrLength) upperBand = smaValue + (ubOffset * atrValue) lowerBand = smaValue - (lbOffset * atrValue) plot(smaValue, title="SMA", color=color.orange) plot(upperBand, title="UB", color=color.green, linewidth=2) plot(lowerBand, title="LB", color=color.red, linewidth=2) enterLong = ta.crossover(close, upperBand) exitLong = ta.crossunder(close, smaValue) enterShort = ta.crossunder(close, lowerBand) exitShort = ta.crossover(close, smaValue) if enterLong strategy.entry("Long", strategy.long) if enterShort strategy.entry("Short", strategy.short) if exitLong strategy.close("Long", "Close Long") if exitShort strategy.close("Short", "Close Short")