Estratégia de tendência da média móvel

Autora:ChaoZhang, Data: 2024-01-03 12:18:29
Tags:

img

Resumo

A Heyping Moving Average Trend Strategy é uma estratégia de combinação de indicadores técnicos projetada para rastrear as tendências de preços.

Estratégia lógica

A estratégia KP utiliza três tipos de indicadores:

  1. Média Móvel: Uma EMA mais rápida e uma SMA mais lenta. A EMA reage mais rapidamente às mudanças de preço, enquanto a SMA é mais estável.

  2. Velas Heiken Ashi: gráficos especiais de velas com definição de tendência mais clara.

  3. Log Transformation: Uma opção para transformar dados de preços para visualizar melhor as mudanças percentuais.

A lógica específica é ir longo quando a EMA mais rápida cruza acima da SMA mais lenta e sair da posição quando ocorre o crossover reverso.

Análise das vantagens

  1. Parâmetros altamente personalizáveis, adaptados a diferentes produtos e prazos
  2. Indicadores visuais combinados num sistema fácil de ler
  3. Opção de transformação de log para manipulação de instrumentos voláteis
  4. As velas Heiken Ashi oferecem uma determinação de tendência superior.
  5. Integrar o stop loss para controlar o risco

Análise de riscos

  1. Risco de reversão da tendência.
  2. Optimização cuidadosa dos parâmetros para evitar a sobreajuste
  3. As escolhas de instrumentos e de prazos têm um grande impacto nos resultados
  4. A robustez deve ser validada através de backtesting

Orientações de otimização

  1. Adicionar módulo de otimização de parâmetros adaptativos
  2. Incorporar mais filtros para evitar sinais falsos
  3. Construir um módulo de negociação de algo para automação
  4. Aplicar modelos de aprendizagem de máquina em pontos de inflexão
  5. Melhorar a estratégia de stop loss para stop loss de trailing dinâmico

Conclusão

A Heyping Moving Average Trend Strategy combina vários indicadores técnicos para definir direções de tendência com configurações flexíveis e ótima visualização.


/*backtest
start: 2022-12-27 00:00:00
end: 2024-01-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("KP 15min Strategy", shorttitle="KP15", overlay=false)

res = input("D",title="Heikin Ashi Candle Time Frame")
hshift = input(0, title="Heikin Ashi Candle Time Frame Shift")
res1 = input("W",title="Heikin Ashi EMA Time Frame")
mhshift = input(0, title="Heikin Ashi EMA Time Frame Shift")
fama = input(10, title="Heikin Ashi EMA Period")
test = input(0, title="Heikin Ashi EMA Shift")
sloma = input(100, title="Slow EMA Period")
slomas = input(0, title="Slow EMA Shift")
logtransform = input(false, title="Log Transform")
stoploss = input(true, title="Stop Loss")
showplots = input(true, title="Show Plots")

ha_t = request.security(syminfo.tickerid, res, expression=hlc3)
ha_close = request.security(syminfo.tickerid, res, expression=logtransform ? math.log(close[hshift]) : close[hshift])
mha_close = request.security(syminfo.tickerid, res1, expression=logtransform ? math.log(close[mhshift]) : close[mhshift])

fma = ta.ema(mha_close[test], fama)
sma = ta.ema(ha_close[slomas], sloma)

plot(showplots ? (logtransform ? math.exp(fma) : fma) : na, title="MA", color=color.new(color.blue, 0), linewidth=2, style=plot.style_line)
plot(showplots ? (logtransform ? math.exp(sma) : sma) : na, title="SMA", color=color.new(color.orange, 0), linewidth=2, style=plot.style_line)

golong = ta.crossover(fma, sma)
exitLong = ta.crossunder(fma, sma)

if (golong)
    strategy.entry("Buy", strategy.long)

if (exitLong)
    strategy.close("Buy")


Mais.