Estratégia combinada de indicador de momentum e indicador estocástico


Data de criação: 2023-12-26 14:30:23 última modificação: 2023-12-26 14:30:23
cópia: 0 Cliques: 761
1
focar em
1623
Seguidores

Estratégia combinada de indicador de momentum e indicador estocástico

Visão geral

Esta estratégia utiliza um conjunto de indicadores de tendência e um indicador aleatório para gerar um sinal de negociação. As linhas DI+, DI- e ADX do indicador de tendência são usadas para determinar a direção e a intensidade da tendência, e as linhas% K do indicador aleatório são usadas para determinar se há uma sobrevenda ou uma sobrevenda. A estratégia gera um sinal de múltiplas cabeças quando o DI+ é superior ao DI-, o ADX é superior a 25 e o K é inferior a 20%; e um sinal de cabeça vazia quando o DI- é superior ao DI+, o ADX é superior a 25 e o K é superior a 80%.

Princípio da estratégia

A lógica central desta estratégia baseia-se nas seguintes partes:

  1. Índice de tendências para julgar tendênciasQuando o DI+ é maior do que o DI-, indica uma tendência de várias direções; quando o DI- é maior do que o DI+, indica uma tendência de cabeça para baixo. O ADX é usado para determinar a força da tendência, e quanto maior o valor, a tendência é mais evidente.

  2. Indicadores aleatórios de sobrecompra e sobrevenda: A linha %K no indicador aleatório mostra a posição do preço de fechamento atual em relação ao preço máximo e mínimo em um determinado período, para determinar se o mercado está sobrecomprando ou sobrevendendo. Quando o%K está abaixo de 20, é sobrevendido, e acima de 80, é sobrecomprado.

  3. O sinal produz lógicaA estratégia, combinada com um indicador de tendência e um indicador aleatório, gera um sinal de cabeça de cabeça quando o DI+ é superior ao DI- (trend de cima), o ADX é superior a 25 (trend mais visível) e o %K é inferior a 20 (overdrive); o DI- é superior ao DI+ (trend de baixo), o ADX é superior a 25 e o %K é superior a 80 (overdrive).

  4. Método de parada dinâmica: Registre o preço mais alto e o preço mais baixo após o último ponto de entrada e use-o como um ponto de parada dinâmico. Assim, você pode bloquear os lucros ou controlar o risco de acordo com a flutuação do mercado.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. A combinação de um índice de tendência e um indicador aleatório de julgamento duplo, a maior confiabilidade. O índice de tendência determina a direção da tendência principal, o indicador aleatório capta características locais, os dois complementam-se.

  2. Mecanismo inovador de stop loss dinâmico. De acordo com a flutuação recente, o ponto de stop loss é definido, o risco pode ser controlado de acordo com a situação real do mercado, e o efeito de stop loss é bom.

  3. Os parâmetros da estratégia são menores e fáceis de implementar. Os principais parâmetros são apenas o comprimento do cálculo do indicador e a estratégia é fácil de ajustar e otimizar.

  4. A estratégia pode ser usada em mercados financeiros como ações, divisas e criptomoedas.

  5. É escrito em scripts de pine e pode ser aplicado diretamente na plataforma de negociação, o que é rápido e conveniente.

Análise de Riscos

A estratégia também apresenta alguns riscos que devem ser lembrados:

  1. Quando a tendência se agita, é fácil gerar sinais errados. Quando o ADX é relativamente baixo, deve-se reduzir a posição para evitar o risco.

  2. O indicador aleatório em si é um indicador de retrospectiva, que pode ter ocorrido uma reversão no mercado quando o sinal é produzido. Deve ser combinado de forma apropriada com outros indicadores anteriores.

  3. O mecanismo de stop loss dinâmico não pode evitar completamente os impactos de uma grande situação. Recomenda-se um ajuste razoável da distância do ponto de parada.

  4. A configuração errada dos parâmetros também pode afetar a eficácia da estratégia. Os parâmetros de comprimento de indicador apropriados devem ser selecionados.

  5. É necessário acompanhar de perto a situação do mercado como um todo. A estratégia deve ser suspensa em caso de ocorrência de um grande evento de Black Swan para evitar perdas anormais.

Direção de otimização

A estratégia pode ser melhorada em alguns aspectos:

  1. Adicionar outros indicadores de julgamento, formando filtros múltiplos, aumentando a confiabilidade do sinal. Por exemplo, a inclusão de uma tendência de julgamento de linha média, o julgamento de desvio do MACD, etc.

  2. Optimizar a configuração de parâmetros, escolher a melhor combinação de parâmetros. Pode ser determinado o comprimento do indicador mais adequado, através da revisão de dados históricos.

  3. Configure diferentes parâmetros de acordo com diferentes variedades e ciclos de negociação. As variedades adequadas para negociações de alta frequência podem reduzir o ciclo de computação.

  4. Combinado com a função getInfo e a função de registro de logs, a saída de dados detalhados de logs de transações e indicadores facilita a análise e otimização de estratégias.

  5. Gravação de gráficos foi adicionada no editor pine, mostrando os pontos de sinais de negociação. Além disso, é possível visualizar o movimento da linha de stop loss.

  6. Desenvolvimento de funções de alerta, para o envio de mensagens de aviso quando determinadas condições são cumpridas, facilitando a intervenção oportuna nas transações.

Resumir

Esta estratégia combina os benefícios do indicador de tendência e do indicador aleatório para determinar a direção da tendência e, ao mesmo tempo, localiza as áreas de sobrevenda e sobrevenda para gerar sinais de negociação. Ao mesmo tempo, o modo de stop loss dinâmico projetado para tornar o controle de risco mais inteligente e automatizado. O sinal da estratégia é confiável, amplo e fácil de usar, é uma estratégia de negociação quantitativa e eficaz.

Código-fonte da estratégia
/*backtest
start: 2022-12-19 00:00:00
end: 2023-12-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("DMI with Stochastic and Dynamic Stop-Loss", shorttitle="DMI_Stoch_SL", overlay=true)

length = input(14, title="DMI Length")
adxThreshold = input(25, title="ADX Threshold")
stochKLength = input(14, title="Stochastic %K Length")
stochDLength = input(3, title="Stochastic %D Length")

[diPlus, diMinus, adx] = ta.dmi(length, length)
stochKLine = ta.stoch(close, high, low, stochKLength)

var float lowestClose = na
var float highestClose = na
lowestClose := na(lowestClose) ? close : math.min(lowestClose, close)
highestClose := na(highestClose) ? close : math.max(highestClose, close)

longCondition = (diPlus > diMinus) and (adx > adxThreshold) and (stochKLine < 20)
shortCondition = (diMinus > diPlus) and (adx > adxThreshold) and (stochKLine > 80)

if longCondition
    strategy.entry("Buy", strategy.long)
    strategy.exit("Exit Buy", "Buy", stop=lowestClose)

if shortCondition
    strategy.entry("Sell", strategy.short)
    strategy.exit("Exit Sell", "Sell", stop=highestClose)