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


Data de criação: 2024-01-03 12:18:29 última modificação: 2024-01-03 12:18:29
cópia: 1 Cliques: 591
1
focar em
1621
Seguidores

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

Visão geral

A estratégia de tendência de média móvel de KP é uma estratégia de acompanhamento de tendência de um conjunto de indicadores de análise técnica. A estratégia utiliza principalmente o indicador de média para identificar a direção da tendência de preços, usando sinais de cruzamento de equilíbrio para julgar o timing de entrada. A estratégia pode ser implementada na plataforma TradingView, obtendo melhor desempenho com otimização de parâmetros.

Princípio da estratégia

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

  1. Média: A EMA rápida e a SMA lenta. A EMA é mais sensível à mudança de preço e a SMA é mais estável. Usadas em conjunto, as EMA rápidas cruzam a SMA lenta para gerar um sinal de negociação.

  2. O gráfico de Hickenlooper: um gráfico de Hickenlooper especial, com características de tendência mais claras. As fontes de dados de preços usadas na estratégia para traçar a linha de equilíbrio EMA.

  3. Opções de conversão logarítmica: faça uma conversão logarítmica opcional para os dados de preços, para facilitar a observação da variação percentual de preços.

A lógica de negociação específica é que o EMA rápido faz mais quando ele quebra o SMA lento para cima; para baixo, para cima. Esta estratégia é uma estratégia típica de acompanhamento de tendências.

Análise de vantagens

  1. Parâmetros ajustáveis para diferentes variedades e períodos de negociação
  2. Indicadores visuais combinados para formar estratégias de negociação de tendências claras e fáceis de ler
  3. Adição de opções de transformação logarítmica para variedades mais voláteis
  4. O mapa de Hickenlooper é um bom indicador de tendências
  5. Controle de Riscos do Mecanismo de Paragem Integrado

Análise de Riscos

  1. Risco de reversão de tendência, necessidade de parar precocemente
  2. Optimização de parâmetros com cuidado para evitar overfitting
  3. A escolha do tipo e do período de negociação tem um impacto significativo na performance da estratégia.
  4. Revisão completa para garantir a robustez dos parâmetros

Direção de otimização

  1. Adição de módulo de otimização de parâmetros de adaptação
  2. Integrar mais indicadores para filtrar falsos sinais
  3. Adição de módulos de negociação algorítmicos para automatizar pedidos
  4. Pontos-chave para a avaliação da aprendizagem de máquina
  5. Optimizar a estratégia de stop loss e implementar stop loss de rastreamento dinâmico

Resumir

A estratégia de tendência de média móvel de KP integra vários indicadores técnicos para determinar a direção da tendência, a configuração de parâmetros é flexível e o efeito de visualização é excelente. A estratégia pode ser usada como estratégia de acompanhamento de tendência básica, após o ajuste de otimização adequada, para negociação em tempo real.

Código-fonte da estratégia
/*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")