Estratégia de negociação cruzada de média móvel adaptativa e média móvel ponderada


Data de criação: 2024-01-23 14:13:55 última modificação: 2024-01-23 14:13:55
cópia: 0 Cliques: 583
1
focar em
1617
Seguidores

Estratégia de negociação cruzada de média móvel adaptativa e média móvel ponderada

Visão geral

Esta estratégia baseia-se em um sinal de negociação baseado em um indicador de média móvel adaptativa (AIOMA) e um indicador de média móvel ponderada (WMA). Ele gera sinais de compra e venda por meio de um cruzamento de AIOMA e WMA.

Nome da política

AIOMA-WMA estratégia de adaptação cruzada

Princípio da estratégia

A estratégia inclui principalmente as seguintes partes:

  1. Computação do Índice AIOMA

    • Especifique um parâmetro de comprimento para calcular uma série de médias móveis exponenciais (EMA)
    • Ligue esses EMAs de forma suave, formando uma sequência suave.
    • O AIOMA final é o EMA do último deslizamento.
  2. Cálculo do índice WMA

    • Especifique o parâmetro de comprimento e calcule o WMA
  3. Geração de sinais de transação

    • Quando o WMA usa o AIOMA, gera um sinal de compra
    • WMA gera um sinal de venda ao passar por AIOMA
  4. Lógica de Transação

    • Quando você compra um sinal, você entra em uma posição multi-head.
    • Quando o sinal é vendido, entra em uma posição em aberto
    • Fechar posições na direção correspondente ao sinal de posição parada

Vantagens estratégicas

  1. O uso de dois tipos diferentes de médias móveis pode melhorar a precisão dos sinais de negociação
  2. AIOMA pode reduzir sinais falsos por meio de suavização de múltiplos índices
  3. O WMA, como principal indicador, é mais sensível às mudanças de preços e pode capturar tendências mais cedo
  4. Uma lógica de negociação simples, fácil de entender e de implementar

Risco estratégico

  1. A EMA pode ter se mantido em atraso devido a sua suavização repetida.
  2. A WMA é vulnerável a ondas de preços de curto prazo e produz sinais errados
  3. Não levar em conta a lógica de stop-loss, o que pode levar a maiores perdas

Pode-se reduzir o risco através de parâmetros de otimização apropriados, definição de pontos de parada ou filtragem em combinação com outros indicadores.

Direção de otimização da estratégia

  1. Teste combinações de diferentes tamanhos para encontrar o melhor parâmetro
  2. Trigger de stop loss ao mesmo tempo que o sinal de compra/venda
  3. Indicadores de volatilidade do mercado combinados com filtragem de falsos sinais
  4. Aumentar estratégias de gestão de posições

Resumir

Esta estratégia integra os benefícios dos dois indicadores AIOMA e WMA para gerar sinais de negociação através da interseção. A qualidade do sinal pode ser melhorada em comparação com uma única média móvel. A estratégia pode ser aperfeiçoada ainda mais com otimização de parâmetros, estratégias de parada e filtragem de volatilidade, entre outros.

Código-fonte da estratégia
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-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/
// © SDTA

//@version=5
strategy("AIOMA-WMA Strategy", overlay=true)

// Parametreler
aioma_length = input(14, "AIOMA Length")
wma_length = input(21, "WMA Length")

// AIOMA hesaplama
length1 = aioma_length
ema1 = ta.ema(close, length1)
length2 = aioma_length
ema2 = ta.ema(ema1, length2)
length3 = aioma_length
ema3 = ta.ema(ema2, length3)
length4 = aioma_length
ema4 = ta.ema(ema3, length4)
aioma = ta.ema(ema4, aioma_length)

// WMA hesaplama
wma = ta.wma(close, wma_length)

// Kesişim kontrolü
cross_up = ta.crossover(wma, aioma)
cross_down = ta.crossunder(wma, aioma)

// İşlem fonksiyonu
enterTrade(dir, price, signalText, color) =>
    if dir
        strategy.entry("Enter", strategy.long)
        label.new(x = bar_index, y = price, text = signalText, color = color, textcolor = color, style = label.style_label_up, size = size.small, tooltip = "Entry Signal")
    else if not dir
        strategy.entry("Exit", strategy.short)
        label.new(x = bar_index, y = price, text = signalText, color = color, textcolor = color, style = label.style_label_down, size = size.small, tooltip = "Exit Signal")

// Long pozisyon girişi
if cross_up
    enterTrade(true, low, "Buy Signal", color.green)

// Short pozisyon girişi
if cross_down
    enterTrade(false, high, "Sell Signal", color.red)

// Pozisyon kapatma
if cross_up and strategy.position_size > 0
    strategy.close("Enter")
if cross_down and strategy.position_size < 0
    strategy.close("Exit")

// Grafiğe plot
plot(aioma, color=color.blue, linewidth=2, title="AIOMA")
plot(wma, color=color.red, linewidth=2, title="WMA")