Heiken Ashi Moving Average Crossover Strategy com o MACD Filter V3

Autora:ChaoZhang, Data: 2023-10-25 11:26:17
Tags:

img

Resumo

Esta estratégia gera sinais de negociação através do cálculo do crossover da média móvel das velas Heiken Ashi, combinado com o MACD como condição de filtro.

Estratégia lógica

  1. Calcule os preços de abertura e fechamento das velas Heiken Ashi.

  2. Calcular a média móvel rápida (EMA) e a média móvel lenta (SMA).

  3. Quando a MA rápida cruza a MA lenta, é gerado um sinal de compra.

  4. Quando o MA rápido cruza o MA lento, é gerado um sinal de venda.

  5. Se o filtro MACD estiver ativado, os sinais de compra só são gerados quando o histograma MACD cruza a linha 0 e os sinais de venda apenas são gerados quando o histograma MACD cruza a linha 0.

Análise das vantagens

  1. As velas Heiken Ashi filtram efetivamente o ruído do mercado, tornando os sinais de cruzamento MA mais confiáveis.

  2. A combinação de MA de períodos diferentes evita falsas rupturas de uma única MA.

  3. O filtro MACD evita ainda mais sinais falsos e melhora a qualidade do sinal.

  4. Usando Heiken Ashi para calcular MA reduz os drawdowns de velas normais.

  5. A estratégia tem parâmetros razoáveis e uma frequência de negociação moderada, permitindo lucros estáveis sem negociação de alta frequência.

Análise de riscos

Contudo, é necessário ter em conta alguns riscos:

  1. Podem ocorrer ajustes de posição repetidos em mercados variados.

  2. O filtro MACD pode falhar em alguns casos, resultando em sinais falsos.

  3. Os sistemas MA são sensíveis ao ajuste de parâmetros, exigindo uma otimização cuidadosa.

  4. As posições de detenção longas devem ser monitorizadas por eventos que possam provocar alterações significativas no mercado.

  5. A avaliação manual das principais tendências é ainda necessária para evitar perdas decorrentes de negociações contrárias às tendências.

Em conclusão, esta é uma estratégia de MA relativamente madura que pode fornecer lucros constantes com ajuste adequado dos parâmetros.


/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//Heiken-Ashi Strategy  V3 by wziel

// strategy("Heiken-Ashi Strategy  V3",shorttitle="WZIV3",overlay=true,default_qty_value=10000,initial_capital=10000,currency=currency.USD)
res = input(title="Heikin Ashi Candle Time Frame",  defval="60")
hshift = input(1,title="Heikin Ashi Candle Time Frame Shift")
res1 = input(title="Heikin Ashi EMA Time Frame",  defval="180")
mhshift = input(0,title="Heikin Ashi EMA Time Frame Shift")
fama = input(1,"Heikin Ashi EMA Period")
test = input(1,"Heikin Ashi EMA Shift")
sloma = input(30,"Slow EMA Period")
slomas = input(1,"Slow EMA Shift")
macdf = input(false,title="With MACD filter")
res2 = input(title="MACD Time Frame",  defval="15")
macds = input(1,title="MACD Shift")




//Heikin Ashi Open/Close Price
ha_t = heikinashi(syminfo.tickerid)
ha_open = security(ha_t, res, open[hshift])
ha_close = security(ha_t, res, close[hshift])
mha_close = security(ha_t, res1, close[mhshift])

//macd
[macdLine, signalLine, histLine] = macd(close, 12, 26, 9)
macdl = security(ha_t,res2,macdLine[macds])
macdsl= security(ha_t,res2,signalLine[macds])

//Moving Average
fma = ema(mha_close[test],fama)
sma = ema(ha_close[slomas],sloma)
plot(fma,title="MA",color=lime,linewidth=2,style=line)
plot(sma,title="SMA",color=red,linewidth=2,style=line)


//Strategy
golong =  crossover(fma,sma) and (macdl > macdsl or macdf == false )
goshort =   crossunder(fma,sma) and (macdl < macdsl or macdf == false )

strategy.entry("Buy",strategy.long,when = golong)
strategy.entry("Sell",strategy.short,when = goshort)





Mais.