
A estratégia usa o método de ruptura do canal de choque dinâmico para determinar os pontos de entrada e parada de perdas de acordo com a mudança dinâmica dos preços. A estratégia é simples e fácil de entender, adequada para operar em ações de tendência.
A estratégia primeiro calcula os preços mais altos e mais baixos em 20 dias, obtendo o canal de choque dinâmico. Em seguida, calcula-se a média móvel do índice de 8 dias e a média móvel do índice de 32 dias. Quando o preço do fechamento do mercado quebra o canal de alta e a média de 8 dias é superior à média de 32 dias, faz-se mais; e quando o preço cai abaixo do canal de baixa ou a média de 8 dias é inferior e atravessa a média de 32 dias, faz-se uma posição plana.
A estratégia de lançamento, especificamente, tem como condições:
Preços de fechamento ultrapassam o máximo de 20 dias
8 dias acima da média de 32 dias
Os termos de saída da estratégia são:
Preços abaixo do canal em ponto de parada
8 dias abaixo da linha média e 32 dias abaixo da linha média.
A estratégia usa o canal dinâmico para determinar a direção da tendência, enquanto a linha de equilíbrio é usada para determinar se a tendência está subindo, o que pode ser eficaz para controlar o risco.
Pode-se otimizar a estratégia e controlar o risco através da adaptação dos parâmetros de ciclo de passagem, do parâmetro de ciclo de linha média, e da configuração razoável de stop loss.
O conceito geral da estratégia de ruptura de choque dinâmico é claro e fácil de entender, julgar a direção da tendência com o canal dinâmico e, em seguida, usar o efeito de filtragem uniforme para entrar no mercado. A configuração de stop loss pode controlar o risco de forma eficaz.
/*backtest
start: 2022-11-09 00:00:00
end: 2023-11-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Robrecht99
//@version=5
strategy("My Strategy", overlay=true, margin_long=100, margin_short=100)
fast = ta.sma(close, 8)
slow = ta.sma(close, 32)
plot(fast, color=color.red)
plot(slow, color=color.navy)
entrycondition1 = ta.crossover(fast, slow)
entrycondition2 = fast > slow
sellcondition1 = ta.crossunder(fast, slow)
sellcondition2 = slow > fast
atr = ta.atr(14)
//Donchian Channels
days = 20
h1 = ta.highest(high[1], days)
l1 = ta.lowest(low[1], days)
mid = math.avg(h1, l1)
plot(mid, "channel", color=#FF6D00)
u = plot(h1, "Upper", color=#2962FF)
l = plot(l1, "Lower", color=#2962FF)
fill(u, l, color.new(color.blue, 90))
if (close > h1 and entrycondition2)
strategy.entry("long", strategy.long)
stoploss = close - atr * 3
trail = close - atr * 3
strategy.exit("exit", "long", stop=stoploss, trail_offset=trail)
if (sellcondition1 and sellcondition2)
strategy.close(id="long")