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

Estratégia de negociação quantitativa baseada na média móvel do casco modificado e no Ichimoku Kinko Hyo

Autora:ChaoZhang, Data: 2024-04-28 13:39:00
Tags:HMAIKHSWMA

img

Resumo

Esta estratégia combina dois indicadores técnicos: o Hull Moving Average (HMA) modificado e Ichimoku Kinko Hyo (IKHS), com o objetivo de capturar tendências de mercado de médio a longo prazo.

Princípios de estratégia

  1. Calcular a média móvel do casco modificada (HMA)
    • Calcular a média móvel ponderada (WMA) e aplicar a dupla suavização para obter a HMA modificada
  2. Calcule os vários indicadores de Ichimoku Kinko Hyo
    • Calcular o Tenkan Sen (linha de conversão), o Kijun Sen (linha de base), o Senkou Span A (espansão principal A) e o Senkou Span B (espansão principal B)
  3. Gerar sinais comerciais
    • Quando o HMA cruzar acima do Kijun Sen e o preço de fechamento estiver acima do Kumo, gerar um sinal longo
    • Quando o HMA cruzar abaixo do Kijun Sen e o preço de fechamento estiver abaixo do Kumo, gerar um sinal curto
  4. Execução de operações
    • Realizar operações de negociação correspondentes com base nos sinais longos ou curtos
  5. Operações de saída
    • Quando o HMA cruzar o Kijun Sen na direção oposta, sair da posição atual

Vantagens da estratégia

  1. Combina dois indicadores eficazes de tendência, HMA e IKHS, para melhor captar as tendências do mercado
  2. Utiliza o Kumo do IKHS como uma condição de filtragem para reduzir efetivamente os falsos sinais e melhorar a taxa de vitória dos negócios
  3. A HMA modificada tem uma velocidade de resposta mais rápida e um atraso menor em comparação com as médias móveis tradicionais, permitindo uma reflexão oportuna das alterações do mercado
  4. A lógica da estratégia é clara, fácil de entender e implementar, adequada para vários mercados e prazos

Riscos estratégicos

  1. Durante as flutuações do mercado ou tendências pouco claras, a estratégia pode gerar mais sinais falsos, levando a frequentes perdas comerciais e de capital
  2. As definições dos parâmetros da estratégia têm um impacto significativo nos resultados das negociações e diferentes combinações de parâmetros podem conduzir a diferentes resultados.
  3. A estratégia não considera emergências de mercado e comportamentos irracionais e pode enfrentar riscos maiores em condições de mercado extremas

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

  1. Introduzir outros indicadores técnicos ou indicadores do sentimento do mercado para melhorar a fiabilidade e a estabilidade dos sinais
  2. Otimizar parâmetros de estratégia, como o uso de aprendizado de máquina ou algoritmos genéticos para encontrar a combinação ideal de parâmetros
  3. Considerar a adição de um módulo de gestão de risco, como a definição de níveis de stop-loss e take-profit, dimensionamento de posições, etc., para controlar a exposição ao risco da estratégia
  4. Com base nas características dos diferentes mercados e prazos, fazer ajustamentos e otimizações direcionados da estratégia

Resumo

Ao combinar a média móvel de Hull modificada e Ichimoku Kinko Hyo, esta estratégia constrói um sistema de negociação relativamente estável seguindo tendências. A lógica da estratégia é clara e fácil de implementar, além de ter certas vantagens. No entanto, o desempenho da estratégia ainda é afetado pelas condições do mercado e configurações de parâmetros, exigindo mais otimização e melhoria. Em aplicações práticas, é necessário fazer ajustes e gestão apropriados com base em características específicas do mercado e preferências de risco para obter melhores resultados de negociação.


/*backtest
start: 2024-04-20 00:00:00
end: 2024-04-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Hull MA_X + Ichimoku Kinko Hyo Strategy", shorttitle="HMX+IKHS", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=0)

// Hull Moving Average Parameters
keh = input(12, title="Double HullMA")
n2ma = 2 * wma(close, round(keh/2)) - wma(close, keh)
sqn = round(sqrt(keh))
hullMA = wma(n2ma, sqn)

// Ichimoku Kinko Hyo Parameters
tenkanSenPeriods = input(9, title="Tenkan Sen Periods")
kijunSenPeriods = input(26, title="Kijun Sen Periods")
senkouSpanBPeriods = input(52, title="Senkou Span B Periods")
displacement = input(26, title="Displacement")

// Ichimoku Calculations
highestHigh = highest(high, max(tenkanSenPeriods, kijunSenPeriods))
lowestLow = lowest(low, max(tenkanSenPeriods, kijunSenPeriods))
tenkanSen = (highest(high, tenkanSenPeriods) + lowest(low, tenkanSenPeriods)) / 2
kijunSen = (highestHigh + lowestLow) / 2
senkouSpanA = ((tenkanSen + kijunSen) / 2)
senkouSpanB = (highest(high, senkouSpanBPeriods) + lowest(low, senkouSpanBPeriods)) / 2

// Plot Ichimoku
p1 = plot(tenkanSen, color=color.blue, title="Tenkan Sen")
p2 = plot(kijunSen, color=color.red, title="Kijun Sen")
p3 = plot(senkouSpanA, color=color.green, title="Senkou Span A", offset=displacement)
p4 = plot(senkouSpanB, color=color.orange, title="Senkou Span B", offset=displacement)
fill(p3, p4, color=color.gray, title="Kumo Shadow")

// Trading Logic
longCondition = crossover(hullMA, kijunSen) and close > senkouSpanA[displacement] and close > senkouSpanB[displacement]
shortCondition = crossunder(hullMA, kijunSen) and close < senkouSpanA[displacement] and close < senkouSpanB[displacement]

// Strategy Execution
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Exit Logic - Exit if HullMA crosses KijunSen in the opposite direction
exitLongCondition = crossunder(hullMA, kijunSen)
exitShortCondition = crossover(hullMA, kijunSen)

if (exitLongCondition)
    strategy.close("Long")
if (exitShortCondition)
    strategy.close("Short")


Relacionados

Mais.