Estratégia de acompanhamento de tendências off-line da Nut


Data de criação: 2024-03-01 10:50:03 última modificação: 2024-03-01 10:50:03
cópia: 2 Cliques: 562
1
focar em
1617
Seguidores

Estratégia de acompanhamento de tendências off-line da Nut

Este artigo analisará em detalhes uma estratégia de rastreamento de tendências baseada na distância entre a média móvel de 200 dias e o preço, conhecida como estratégia de rastreamento de tendências off-line de Walnut. A estratégia, por meio da distância entre o preço e a média móvel de 200 dias, estabelece posições quando a barreira de valores é ultrapassada e sai da posição quando a meta de lucro é atingida.

Princípios estratégicos

O indicador central da estratégia é a média móvel indexada de 200 dias (EMA de 200 dias). A estratégia determina se o preço se desvia da linha de 200 dias após atingir a porcentagem definida, estabelecendo a posição quando a linha K mais recente é a linha do sol (entrada múltipla) ou a linha do sol (entrada vazia).

A condição de saída é que o preço retorna à linha de 200 dias ou atinge o objetivo de parada ((1,5 vezes o preço de entrada) para sair da posição de liquidação. Definir o stop loss como 20% do valor declarado da opção.

Os detalhes das condições de entrada e saída são:

A entrada de mais pessoas:Preço de fechamento < linha de 200 dias e a distância percentual entre o preço de fechamento e a linha de 200 dias é ≥ o valor de queda e a linha de fechamento K mais recente

Entrada de cabeça vazia:Preço de fechamento > linha de 200 dias e a distância entre o preço de fechamento e a linha de 200 dias é percentual ≥ o valor de queda e a linha de fechamento K mais recente

A primeira aparição:Linha de fechamento ≥ 200 dias ou meta de parada ou fim do dia de negociação

A cabeça vazia:Preço de fechamento <= linha de 200 dias ou atingir o alvo de parada ou fechar o dia de negociação

A condição de perda é de 20% do valor declarado da opção.

A vantagem estratégica

A estratégia tem as seguintes vantagens:

  1. Usar a média móvel de 200 dias para determinar a direção da tendência de longo prazo dos preços, evitando ser perturbado pelo ruído do mercado de curto prazo
  2. Estabelecer um mecanismo de rastreamento de tendências para rastrear tendências de preços de linha média e longa
  3. Optimizar o timing de entrada, entrando quando a última linha K está de acordo com a grande tendência
  4. Mecanismos racionais de suspensão e parada para evitar a expansão dos prejuízos

Três, estratégias de risco.

A estratégia tem os seguintes riscos:

  1. Preços em períodos de grande volatilidade podem tocar em média móvel várias vezes, causando várias perdas
  2. Reversão súbita da tendência leva a uma parada de perdas
  3. Os parâmetros definidos, como a escolha incorreta do ciclo da média móvel, não permitem um julgamento preciso da tendência

Para reduzir os riscos acima mencionados, os seguintes aspectos podem ser otimizados:

  1. Ajustar os parâmetros da média móvel ou adicionar outros indicadores para avaliar as grandes tendências
  2. Optimizar mecanismos de suspensão, por exemplo, ajustando a distância de suspensão com a mudança de preço
  3. Optimizar os critérios de admissão e adicionar mais critérios de avaliação

Quatro, estratégias de otimização

A estratégia pode ser melhorada em vários aspectos:

  1. Optimizar os parâmetros de média móvel para testar o impacto de diferentes parâmetros de período na eficácia da estratégia
  2. Adição de outros indicadores de grandes tendências, como o Blink Channel, o KDJ, etc.
  3. Ajustar a estratégia de stop loss para permitir que os níveis de stop loss se ajustem dinamicamente à evolução da situação
  4. Optimizar as condições de admissão para evitar erros de admissão devido a ajustes de curto prazo

Cinco, resumo

Este artigo analisa detalhadamente os princípios, vantagens, riscos e direções de otimização da estratégia de rastreamento de tendências baseada na distância do preço da média móvel de 200 dias. A estratégia determina a direção da tendência da linha média ao rastrear a distância entre o preço e a média de longo prazo.

Código-fonte da estratégia
/*backtest
start: 2024-02-22 00:00:00
end: 2024-02-24 06:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Intraday Price Away from 200 EMA Strategy", overlay=true)

// Define inputs
emaPeriod = input(200, title="EMA Period")
thresholdPercent = input(0.75, title="Threshold Percent", minval=0)  // Define the threshold percentage

// Calculate 200 EMA
ema = ema(close, emaPeriod)

// Calculate distance from 200 EMA as a percentage
distance_percent = ((close - ema) / ema) * 100

// Track average entry price
var float avgEntryPrice = na

// Buy conditions
buy_condition = close < ema and abs(distance_percent) >= thresholdPercent and close[1] < close[2]

// Exit conditions for buy
exit_buy_condition = close >= ema or time_close(timeframe.period) or (avgEntryPrice * 1.5) <= close

// Sell conditions
sell_condition = close > ema and abs(distance_percent) >= thresholdPercent and close[1] > close[2]

// Exit conditions for sell
exit_sell_condition = close <= ema or time_close(timeframe.period) or (avgEntryPrice * 1.5) >= close

// Execute buy and sell orders only if there are no open trades
if strategy.opentrades == 0
    strategy.entry("Buy", strategy.long, when=buy_condition)
    strategy.entry("Sell", strategy.short, when=sell_condition)

// Update average entry price for buy condition
if buy_condition
    avgEntryPrice := close

// Update average entry price for sell condition
if sell_condition
    avgEntryPrice := close

// Close buy position if exit condition is met
strategy.close("Buy", when=exit_buy_condition)

// Close sell position if exit condition is met
strategy.close("Sell", when=exit_sell_condition)

// Plot 200 EMA
plot(ema, color=color.blue, linewidth=2)

// Plot buy and sell signals
plotshape(buy_condition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(sell_condition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)