Estratégia de acompanhamento de tendências com base no indicador WaveTrend

EMA SMA HLCC3 ESA
Data de criação: 2024-04-28 13:56:27 última modificação: 2024-04-28 13:56:27
cópia: 1 Cliques: 1517
1
focar em
1617
Seguidores

Estratégia de acompanhamento de tendências com base no indicador WaveTrend

Visão geral

A estratégia WaveTrend Cross LazyBear é uma estratégia de negociação baseada no indicador WaveTrend. A estratégia usa duas linhas de indicadores WaveTrend de diferentes períodos, gerando um sinal de compra quando a linha de indicadores WaveTrend de períodos mais rápidos atravessa a linha de indicadores WaveTrend de períodos mais lentos e um sinal de venda quando a linha de indicadores WaveTrend de períodos mais rápidos atravessa a linha de indicadores WaveTrend de períodos mais lentos.

Princípio da estratégia

O núcleo da estratégia é o indicador WaveTrend, que é calculado pelos seguintes passos:

  1. Calcule o preço típico (AP), que é igual ao valor médio do preço mais alto, do preço mais baixo e do preço de encerramento.
  2. Calcule a média móvel indexada do AP (ESA) com um período de n1 anos.
  3. Calcule a média móvel indexada d do valor absoluto da diferença entre o AP e o ESA, com um período de n1。
  4. Calcule o indicador CI, que é igual a ((AP - ESA) / (0.015 * d)
  5. Calcule a média móvel TCI do CI, com um período de n2, obtendo o indicador WaveTrend.

A estratégia usa duas linhas de indicadores de WaveTrend de dois períodos diferentes (default 10 e 21), denominadas WT1 e WT2 respectivamente. Quando o WT1 atravessa o WT2, gera um sinal de compra; Quando o WT1 atravessa o WT2, gera um sinal de venda. Além disso, a estratégia também configura 4 níveis de julgamento auxiliar: Nível de sobrecompra 1, Nível de sobrecompra 2, Nível de sobrevenda 1 e Nível de sobrevenda 2, para auxiliar na determinação do estado do mercado.

Vantagens estratégicas

  1. O indicador WaveTrend combina a dinâmica e a volatilidade para capturar melhor as tendências do mercado.
  2. O indicador WaveTrend de duplo ciclo é capaz de filtrar alguns sinais de ruído.
  3. A configuração de um nível de sobrecompra e sobrevenda pode, até certo ponto, evitar que a estratégia seja usada com frequência em situações de alta volatilidade.
  4. A lógica da estratégia é clara, fácil de entender e de implementar.

Risco estratégico

  1. A estratégia pode levar a um maior número de sinais falsos em cidades com tremores.
  2. A escolha dos parâmetros tem uma grande influência no desempenho da estratégia, e diferentes parâmetros podem causar grandes diferenças no desempenho da estratégia.
  3. A estratégia não contempla o controle de riscos, o que pode levar a um maior recuo em situações extremas.

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

  1. Pode-se considerar a adição de condições de filtragem de tendência, como a direção da linha média de longo prazo, para reduzir os falsos sinais em mercados de turbulência.
  2. Pode-se otimizar a configuração do nível de sobrecompra e sobrevenda, permitindo que ele se adapte de forma mais dinâmica a diferentes condições de mercado.
  3. Pode ser adicionado um mecanismo de stop loss e stop-loss para controlar o risco de uma única transação.
  4. Pode-se procurar a melhor combinação de parâmetros através da otimização de parâmetros.

Resumir

A estratégia WaveTrend Cross LazyBear é uma estratégia de acompanhamento de tendências baseada no indicador WaveTrend, com design de indicador de duplo ciclo e julgamento auxiliar de níveis de sobrevenda e sobrevenda, ao mesmo tempo em que capta a tendência. No entanto, a estratégia pode apresentar mais falsos sinais em mercados turbulentos e falta de medidas rigorosas de gerenciamento de risco.

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

//@version=5
strategy("WaveTrend with Crosses [LazyBear]", shorttitle="WT_CROSS_LB", overlay=true)

// Kullanıcı girişleri
n1 = input(10, title="Channel Length")
n2 = input(21, title="Average Length")
obLevel1 = input(60, title="Over Bought Level 1")
obLevel2 = input(53, title="Over Bought Level 2")
osLevel1 = input(-60, title="Over Sold Level 1")
osLevel2 = input(-53, title="Over Sold Level 2")

// Temel hesaplamalar
ap = hlc3
esa = ta.ema(ap, n1)
d = ta.ema(math.abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * d)
tci = ta.ema(ci, n2)

// WaveTrend göstergeleri
wt1 = tci
wt2 = ta.sma(wt1, 4)

// Al ve Sat Sinyalleri
buySignal = ta.crossover(wt1, wt2)
sellSignal = ta.crossunder(wt1, wt2)

// Alım ve Satım pozisyonları
if (buySignal)
    if (strategy.position_size <= 0) // Eğer şu anda açık bir satış pozisyonu varsa, onu kapat
        strategy.close("Sell")
    strategy.entry("Buy", strategy.long, comment="Buy Signal: Price crossed above WT2")

if (sellSignal)
    if (strategy.position_size >= 0) // Eğer şu anda açık bir alım pozisyonu varsa, onu kapat
        strategy.close("Buy")
    strategy.entry("Sell", strategy.short, comment="Sell Signal: Price crossed below WT2")

// Renkler ve diğer görseller
plot(0, color=color.new(color.gray, 0), title="Zero Level")
plot(obLevel1, color=color.new(color.red, 0), title="Overbought Level 1")
plot(osLevel1, color=color.new(color.green, 0), title="Oversold Level 1")
plot(obLevel2, color=color.new(color.purple, 0), title="Overbought Level 2")
plot(osLevel2, color=color.new(color.orange, 0), title="Oversold Level 2")

plot(wt1, color=color.new(color.red, 0), title="WT1")
plot(wt2, color=color.new(color.blue, 0), title="WT2")
plot(wt1-wt2, color=color.new(color.purple, 80), style=plot.style_area, title="WT1-WT2 Area")

// İşaretler
plotshape(buySignal, location=location.absolute, color=color.new(color.yellow, 0), style=shape.circle, size=size.small, title="Buy Signal")
plotshape(sellSignal, location=location.absolute, color=color.new(color.red, 0), style=shape.circle, size=size.small, title="Sell Signal")