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

Estratégia de negociação de média móvel adaptativa de cruzamento de preços

Autora:ChaoZhang, Data: 2024-09-26
Tags:HMASLTP

img

Resumo

A estratégia de negociação de média móvel de cruzamento de preços adaptativa é um método de negociação quantitativo baseado na média móvel de Hull (HMA). Esta estratégia gera sinais de compra e venda usando cruzamento de preços com a HMA, ao mesmo tempo em que implementa níveis fixos de stop-loss e take-profit para gerenciar risco e recompensa.

Princípio da estratégia

O núcleo desta estratégia é o uso da Hull Moving Average (HMA) como indicador primário.

  1. Calcular a HMA de 104 períodos.
  2. Abrir uma posição longa quando o preço cruzar acima da HMA.
  3. Abrir uma posição curta quando o preço cruzar abaixo da HMA.
  4. Definir níveis fixos de stop-loss ($ 1,25) e take-profit ($ 37,5) para cada negociação.
  5. Utilize 2 contratos para cada transacção.

A estratégia rastreia as posições abertas para garantir que nenhuma nova posição seja aberta enquanto uma existente estiver ativa.

Vantagens da estratégia

  1. Adaptabilidade: A HMA adapta-se rapidamente às alterações do mercado, reduzindo os falsos sinais.
  2. Gerenciamento de riscos: utiliza níveis fixos de stop-loss e take-profit, controlando efetivamente o risco para cada negociação.
  3. Simplicidade: As regras de negociação são claras, fáceis de compreender e de executar.
  4. Negociação bidirecional: Captura oportunidades ascendentes e descendentes, aumentando o potencial de lucro.
  5. Automação: A estratégia pode ser totalmente automatizada, reduzindo a intervenção humana e a influência emocional.

Riscos estratégicos

  1. Negociação frequente: pode gerar sinais de negociação excessivos em mercados voláteis, aumentando os custos de transação.
  2. O valor da taxa de juro é o valor da taxa de juro que se aplica à taxa de juro.
  3. Confiança num único indicador: depender apenas da HMA pode ter um desempenho inferior em determinados ambientes de mercado.
  4. Lag: Embora a HMA reduza o lag, pode ainda reagir de forma insuficiente em pontos de virada acentuados.
  5. Falta de filtragem do ambiente de mercado: não considera as tendências globais do mercado ou a volatilidade, potencialmente negociando em condições de mercado inadequadas.

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

  1. Introduzir indicadores adicionais: combinar com outros indicadores técnicos (como RSI ou MACD) para confirmar sinais e melhorar a precisão.
  2. A taxa de prejuízo é a taxa de prejuízo da empresa, que é a taxa de prejuízo da empresa.
  3. Adicionar filtros de mercado: Incorporar filtros de força de tendência ou volatilidade para evitar a negociação em condições desfavoráveis de mercado.
  4. Otimizar os parâmetros da HMA: testar diferentes períodos de HMA para encontrar os parâmetros mais adequados para mercados específicos.
  5. Implementar a Gestão de Posições: ajustar dinamicamente o tamanho das transacções com base no risco de mercado e no tamanho da conta.
  6. Adicionar filtros de tempo: Evite negociar durante períodos de alta volatilidade do mercado, como durante lançamentos de dados econômicos importantes.

Resumo

A estratégia de negociação de média móvel adaptativa de cruzamento de preços é um método de negociação quantitativo simples, mas eficaz. Ao alavancar as vantagens da média móvel de Hull, esta estratégia pode capturar as tendências do mercado enquanto protege o capital através de medidas de gerenciamento de risco fixo. Embora a estratégia tenha alguns riscos potenciais, ela pode ser melhorada e adaptada por meio de otimização contínua.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-03-23 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("SHIESTD", overlay=true)

// Function to calculate Hull Moving Average (HMA)
hma(src, length) =>
    wma1 = ta.wma(src, length)
    wma2 = ta.wma(src, length / 2)
    hma = ta.wma(2 * wma2 - wma1, math.round(math.sqrt(length)))
    hma

// Parameters
hma_length = 104

// Calculate Hull Moving Average
hma_value = hma(close, hma_length)

// Plot HMA
plot(hma_value, title="104-period Hull Moving Average", color=color.blue, linewidth=2)

// Define SL and TP values in dollars
long_sl_amount = 1.25
long_tp_amount = 37.5
short_sl_amount = 1.25
short_tp_amount = 37.5

// Number of contracts
contracts = 2

// Function to calculate SL and TP prices based on entry price and dollar amounts
long_sl_price(entry_price) =>
    entry_price - long_sl_amount

long_tp_price(entry_price) =>
    entry_price + long_tp_amount

short_sl_price(entry_price) =>
    entry_price + short_sl_amount

short_tp_price(entry_price) =>
    entry_price - short_tp_amount

// Trading conditions
price_intersects_hma = ta.crossover(close, hma_value) or ta.crossunder(close, hma_value)

// Long and Short Conditions based on price intersecting HMA
long_condition = ta.crossover(close, hma_value)
short_condition = ta.crossunder(close, hma_value)

// Track open positions
var bool long_open = false
var bool short_open = false

// Handle Long Positions
if (long_condition and not long_open)
    entry_price = close
    strategy.entry("Long", strategy.long, qty=contracts)
    strategy.exit("Exit Long", from_entry="Long", stop=long_sl_price(entry_price), limit=long_tp_price(entry_price))
    long_open := true

// Handle Short Positions
if (short_condition and not short_open)
    entry_price = close
    strategy.entry("Short", strategy.short, qty=contracts)
    strategy.exit("Exit Short", from_entry="Short", stop=short_sl_price(entry_price), limit=short_tp_price(entry_price))
    short_open := true

// Reset flags when the position is closed
if (strategy.opentrades == 0)
    long_open := false
    short_open := false


Relacionados

Mais.