O recurso está a ser carregado... Carregamento...

Tendência de média móvel duplamente suavizada seguindo a estratégia - baseada no Heikin-Ashi modificado

Autora:ChaoZhang, Data: 2024-11-29 15:03:37
Tags:

img

Resumo

Esta estratégia é um sistema de seguimento de tendências baseado em velas Heikin-Ashi modificadas. Aplicando a suavização de média móvel exponencial (EMA) dupla aos velas Heikin-Ashi tradicionais, reduz efetivamente o ruído do mercado e fornece sinais de tendência mais claros. A estratégia opera em um modo de longo prazo, mantendo posições durante tendências de alta e ficando fora do mercado durante tendências de baixa, capturando retornos de mercado através da detecção eficiente de tendências.

Princípios de estratégia

A lógica básica inclui as seguintes etapas-chave:

  1. Limpação inicial da EMA dos dados de preços OHLC
  2. Cálculo dos candelabros Heikin-Ashi modificados utilizando preços suavizados
  3. Limpação secundária da EMA dos candelabros calculados de Heikin-Ashi
  4. Determinação da alteração de cor através da comparação dos preços de abertura e fechamento suavizados
  5. Geração de sinais de compra quando as velas mudam de vermelho para verde e de venda quando mudam de verde para vermelho
  6. Negociação com 100% da dimensão da posição de capital da conta

Vantagens da estratégia

  1. A dupla suavização reduz significativamente os falsos sinais
  2. A abordagem de venda a curto prazo elimina os riscos de venda a curto prazo
  3. A entrada após a confirmação da tendência melhora a taxa de vitória
  4. Sistema de sinalização completo suporta negociação automatizada
  5. Seleção de prazos flexíveis para atender às diferentes necessidades de negociação
  6. Regras de entrada/saída simples e claras facilitam a execução
  7. Apoia a gestão de fundos em diferentes condições de mercado

Riscos estratégicos

  1. Possíveis grandes saques durante inversões de tendência
  2. Múltiples sinais falsos possíveis em mercados variados
  3. A negociação de posições completas aumenta o risco de capital
  4. Os sinais de entrada atrasados podem perder os movimentos iniciais dos preços
  5. O desempenho varia significativamente em diferentes prazos

Orientações para a otimização da estratégia

  1. Introduzir filtros de força da tendência para reduzir os falsos sinais em mercados variados
  2. Implementar o dimensionamento dinâmico das posições para otimizar a utilização do capital
  3. Adicionar a funcionalidade de stop loss para controlar o risco de retirada
  4. Incorporar indicadores técnicos adicionais para a confirmação do sinal
  5. Desenvolver um sistema de parâmetros adaptáveis para melhorar a estabilidade da estratégia

Resumo

A estratégia constrói um robusto sistema de tendência seguindo usando dupla suavização e candelabros Heikin-Ashi modificados como seus componentes principais. O design da estratégia é limpo e direto, fácil de entender e executar, ao mesmo tempo em que fornece várias direções de otimização para se adaptar a diferentes ambientes de mercado.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Smoothed Heiken Ashi Strategy Long Only", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

len = input.int(10, title="EMA Length")
len2 = input.int(10, title="Smoothing Length")
start_date = input(defval=timestamp("2020-01-01"), title="Backtest Start Date")

o = ta.ema(open, len)
c = ta.ema(close, len)
h = ta.ema(high, len)
l = ta.ema(low, len)

haclose = (o + h + l + c) / 4
var float haopen = na
haopen := na(haopen[1]) ? (o + c) / 2 : (haopen[1] + haclose[1]) / 2
hahigh = math.max(h, math.max(haopen, haclose))
halow = math.min(l, math.min(haopen, haclose))

o2 = ta.ema(haopen, len2)
c2 = ta.ema(haclose, len2)
h2 = ta.ema(hahigh, len2)
l2 = ta.ema(halow, len2)

col = o2 > c2 ? color.red : color.lime

// Plot candles without visible wicks
plotcandle(o2, o2, c2, c2, title="Heikin Smoothed", color=col, wickcolor=color.new(col, 100))

// Delayed Buy and Sell signals
colorChange = col != col[1]
buySignal = colorChange[1] and col[1] == color.lime
sellSignal = colorChange[1] and col[1] == color.red

plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.lime, style=shape.triangleup, size=size.small)
plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

// Strategy entry and exit
if (true)
    if (buySignal)
        strategy.entry("Long", strategy.long)
    if (sellSignal)
        strategy.close("Long")

// Add a vertical line at the start date
// if (time == start_date)
//     line.new(x1=bar_index, y1=low, x2=bar_index, y2=high, color=color.blue, width=2)

// Alert conditions
alertcondition(colorChange[1], title="Color Change Alert", message="Heiken Ashi Candle Color Changed")
alertcondition(buySignal, title="Buy Signal Alert", message="Buy Signal: Color changed from Red to Green")
alertcondition(sellSignal, title="Sell Signal Alert", message="Sell Signal: Color changed from Green to Red")

Mais.