
Visão geral
A estratégia baseia-se no indicador de canais de Keltner e utiliza a média móvel do índice (EMA) e a amplitude média de flutuação real (ATR) para construir um canal de alta e baixa, abrindo mais posições quando o preço quebra o trajeto de baixa e fechando as posições de baixa quando o preço quebra o trajeto de alta. A estratégia tenta capturar os intervalos de flutuação dos preços e obtém lucros quando o preço quebra o trajeto de alta.
Princípio da estratégia
- Calcule o EMA de um determinado período como a trajetória média do canal de Keltner.
- Calcule o ATR do período especificado e multiplique-o por um múltiplo como a trajetória ascendente e descendente do canal.
- Quando o preço de fechamento cai para baixo, faça mais posições e registre o preço de abertura.
- Quando o preço de abertura é ultrapassado, a posição é fechada.
- No estado de abertura, se o preço de abertura for maior que o preço de fechamento, o multi-objetivo é eliminado.
Vantagens estratégicas
- A capacidade de se adaptar à amplitude de flutuação de preços. Como o canal Keltner usa o ATR para construir osciloscópios, o ATR é capaz de medir a taxa de flutuação dos preços, portanto, quando a taxa de flutuação é maior, a largura do canal aumenta correspondentemente, reduzindo efetivamente os custos associados a transações frequentes.
- A estratégia é caracterizada por uma lógica clara e simples, fácil de entender e implementar. Os indicadores usados pela estratégia são simples e a lógica central é mais fácil de entender.
- Com uma certa capacidade de acompanhamento de tendências. Em uma tendência ascendente, a estratégia permite manter posições de vários pontos até que o preço se torne um ponto de ruptura.
Risco estratégico
- A falta de um mecanismo de parada de perdas claro. A estratégia não estabelece um ponto de parada após a abertura da posição, o que pode levar a uma maior retração em um cenário de reversão.
- A definição de sinal de ruptura é mais grosseira. Usar apenas o preço de fechamento para baixo e o preço de abertura para cima como sinais de abertura de posição livre pode gerar alguns erros de julgamento, resultando em negociações perdidas.
- A escolha dos parâmetros da estratégia tem um grande impacto no resultado. A escolha do ciclo do EMA e do ATR, bem como a configuração do múltiplo do ATR, afetam o desempenho da estratégia, mas a estratégia não fornece uma maneira clara de otimizar os parâmetros.
Direção de otimização da estratégia
- A introdução de um mecanismo de stop loss claro. Pode ser considerado ao abrir uma posição, ao mesmo tempo, a definição de um ponto fixo ou de um ponto percentual de stop loss, de modo a controlar o máximo de perda de uma única transação.
- Os critérios de avaliação do sinal de otimização. Pode-se considerar o uso de mais informações de preços para confirmar a ruptura, como exigir que o preço de fechamento esteja por várias linhas K consecutivas abaixo da linha inferior para abrir uma posição, evitando a falsa ruptura da linha K de uma única linha.
- Optimizar os parâmetros. Pode-se usar métodos como algoritmos genéticos para otimizar os ciclos de EMA, ATR e os múltiplos de ATR, procurando combinações de parâmetros mais adequadas para o mercado atual.
- Adicionar condições de filtragem. Pode-se considerar adicionar alguns sinais de filtragem, como abrir uma posição somente quando o ADX estiver acima de um determinado limiar, ou usar a ordenação múltipla de MA como filtragem de tendência.
Resumir
A estratégia baseia-se no indicador de Keltner Channel e utiliza a lógica de negociação para que os preços se movam para cima e para baixo. Sua vantagem é que a lógica é simples e clara, e sua adaptabilidade é forte. A desvantagem é a falta de stop loss e a má qualidade do sinal.
Código-fonte da estratégia
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
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/
// © satrusskumar
//@version=5
// Input parameters
length = input.int(21, title="EMA Length")
mult = input.float(2, title="ATR Multiplier")
atrLength = input.int(13, title="ATR Length")
// Calculate Keltner Channels
ema = ta.ema(close, length)
atr = ta.atr(atrLength)
upper_band = ema + mult * atr
lower_band = ema - mult * atr
// Plot Keltner Channels
plot(upper_band, color=color.red, title="Keltner Upper Band")
plot(ema, color=color.blue, title="Keltner EMA")
plot(lower_band, color=color.green, title="Keltner Lower Band")
// Strategy logic
var float entry_price = na
var bool in_trade = false
if (not in_trade and close < lower_band)
strategy.entry("Long", strategy.long)
entry_price := close
in_trade := true
if (in_trade and open > upper_band)
strategy.close("Long")
in_trade := false
// Strategy settings
strategy("Keltner Channel Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)