
Esta estratégia usa o indicador de canal dinâmico para determinar a direção da situação de mercado com base na ruptura do canal para capturar a direção da tendência. A estratégia é baseada em calcular os preços mais altos e mais baixos em um determinado período de tempo para formar um canal ascendente e descendente, gerando um sinal de negociação quando o canal é rompido.
Esta estratégia usa a função de entrada para definir a duração do ciclo de canalização length como 20 dias. Em seguida, calcula-se o preço mais alto dos últimos 20 dias highest ((high, length) como o caminho superior e o preço mais baixo dos últimos 20 dias lowest ((low, length) como o caminho inferior.
A cor é preenchida dentro do corredor. A cor é preenchida com verde acima do carril superior e com vermelho abaixo do carril inferior, formando um corredor dinâmico.
Ao mesmo tempo, foi traçada uma média móvel de 200 dias (EMA) para ser usada como referência para avaliar as tendências.
A estratégia usa o valor da ema como base para determinar a tendência geral. Quando o fechamento é maior que a linha de 200 dias, é uma posição de alta, quando o fechamento é menor que a linha de 200 dias, é uma posição de baixa.
Em bullish, se o preço de fechamento fechar a ruptura da trajetória, gerar um sinal de fazer mais; em bearish, se o preço de fechamento fechar a ruptura da trajetória, gerar um sinal de fazer mais.
Fazer o stop-loss a longo prazo é definido como a linha inferior ou a linha média de acordo com a regra de longo prazo e fazer o stop-loss a longo prazo é definido como a linha superior ou a linha média de acordo com a regra de longo prazo.
A utilização de canais dinâmicos permite capturar as tendências de mudança do mercado.
A tendência de negociação é gerada por sinais de negociação de acordo com a ruptura.
Usado em combinação com a ruptura de corredor para determinar a direção da tendência geral com base em médias móveis.
O método de stop loss é flexível e pode ser adaptado ao mercado.
A tendência é um erro de julgamento que pode levar a uma deslocação do mercado.
A configuração incorreta do ciclo de corredores aumenta a probabilidade de transações erradas.
A proximidade do ponto de parada com o canal pode aumentar a probabilidade de a parada ser acionada.
O sinal de ruptura está um pouco atrasado e pode ter perdido o melhor ponto de entrada.
Resposta:
A combinação de vários indicadores permite avaliar tendências e reduzir a probabilidade de erros.
Optimizar os parâmetros de ciclo de canal para adaptá-los a diferentes ritmos de mercado.
Ajustar a posição de parada para garantir que haja espaço suficiente de amortecimento.
Em combinação com outros indicadores, filtra os sinais de entrada.
Aumentar os indicadores de discernimento de grandes tendências, formar um portfólio de indicadores e melhorar a precisão de discernimento.
Adicionar indicadores de volume de transações para evitar falsas rupturas.
Optimizar os parâmetros do ciclo de canalização para que sejam mais adequados às características de diferentes variedades.
Otimizar a estratégia de stop loss e monitorar a dinâmica de stop loss.
Aumentar os filtros, melhorar a qualidade do sinal e reduzir transações desnecessárias.
Esta estratégia, em geral, segue a estratégia de negociação de tendências, usando canais dinâmicos para determinar a amplitude de flutuação e a formação de sinais de negociação de ruptura, e é uma estratégia de acompanhamento de tendências confiável. No entanto, é necessário otimizar a determinação e o parada de grandes tendências e aumentar as condições de filtragem para melhorar a estabilidade da estratégia.
/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 1h
basePeriod: 15m
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/
// © pratyush_trades
//@version=4
strategy("Donchian Indexes", overlay=true)
length = input(20)
longRule = input("Higher High", "Long Entry", options=["Higher High", "Basis"])
shortRule = input("Lower Low", "Short Entry", options=["Lower Low", "Basis"])
longSL=input("Lower Low", "LONG SL", options=["Lower Low", "Basis"])
shortSL=input("Higher High", "SHORT SL", options=["Higher High", "Basis"])
hh = highest(high, length)
ll = lowest(low, length)
up = plot(hh, 'Upper Band', color = color.green)
dw = plot(ll, 'Lower Band', color = color.red)
mid = (hh + ll) / 2
midPlot = plot(mid, 'Basis', color = color.orange)
fill(up, midPlot, color=color.green, transp = 95)
fill(dw, midPlot, color=color.red, transp = 95)
plot(ema(close,200), "ema", color=color.orange)
if (close>ema(close,200))
if (not na(close[length]))
strategy.entry("Long", strategy.long, stop=longRule=='Basis' ? mid : hh)
if (close<ema(close,200))
if (not na(close[length]))
strategy.entry("Short", strategy.short, stop=shortRule=='Basis' ? mid : ll)
if (strategy.position_size>0)
strategy.exit(id="Longs Exit",stop=longSL=='Basis' ? mid : ll)
if (strategy.position_size<0)
strategy.exit(id="Shorts Exit",stop=shortSL=='Basis' ? mid : hh)