Estratégia de lucro seguindo tendências


Data de criação: 2023-09-26 11:22:04 última modificação: 2023-09-26 11:22:04
cópia: 1 Cliques: 590
1
focar em
1617
Seguidores

Visão geral

A estratégia de rastreamento de tendências e ganhos visa detectar tendências de longo prazo e reversões de curto prazo de ativos, aproveitar as oportunidades de ajustes de curto prazo ao mesmo tempo em que se posiciona no longo prazo, e definir uma linha de parada de perda razoável para que a tendência continue e a parada de perda ocorra em tempo hábil.

Princípio da estratégia

A estratégia baseia-se principalmente na EMA média e no RSI para determinar tendências de curto prazo. Concretamente, ele usa a EMA de 50 dias e a EMA de 200 dias para determinar tendências de longo prazo, usando o RSI para determinar a tendência de longo prazo.

Após a entrada, a estratégia configura um stop loss. Quando o preço sobe mais de 2 vezes o preço de entrada, o BHD é obtido; Quando o preço cai mais de 3 vezes o BHD, o BHD é obtido com base no aumento da linha 200 K mais recente.

Assim, a estratégia leva em consideração as características de tendências de longo e curto prazo, controlando o risco e aumentando a lucratividade, e pode ser executada de forma progressiva e parar os prejuízos em tempo hábil.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. Considere as características de tendências de longo prazo, combinadas com indicadores fortes e fracos, evitando posições cegas em mercados turbulentos.

  2. A tendência é que os investidores que investem no mercado seguem a tendência e têm uma maior taxa de lucro.

  3. Estabeleça um ponto de parada para que você possa fazer lucros e controlar os riscos.

  4. O ponto de parada de perda é calculado de acordo com a volatilidade do mercado, pode ser ajustado dinamicamente e é mais razoável.

  5. Os dados de retrospectiva mostram que a estratégia tem um alto rendimento e boa estabilidade em vários pares de moedas e períodos.

  6. A estratégia é simples, clara, fácil de entender e de implementar, para todos os níveis de negociação.

Análise de Riscos

A estratégia também tem riscos:

  1. A partir de agora, a empresa pode ter uma visão mais ampla do que a do mercado de ações, e pode ter uma visão mais ampla do mercado de ações.

  2. O mercado pode cair de forma acentuada, e os pontos de parada não podem evitar completamente o risco de grandes perdas.

  3. Configurações de parâmetros (como o período de média) podem afetar a eficácia da estratégia.

  4. A configuração do ponto de paragem é muito pequena, o que pode afetar os ganhos com a saída prematura.

  5. Os dados de detecção não são representativos do desempenho do disco e precisam ser continuamente otimizados durante o disco.

A solução para o risco:

  1. Optimizar os parâmetros, ajustar o ciclo da linha média, ou adicionar outros indicadores para julgar a força ou a fraqueza.

  2. Pode-se configurar um stop loss maior, ou adicionar um mecanismo de controle de vento, como a redução da posição.

  3. Faça um retrospecto para avaliar o impacto de diferentes parâmetros na sua estratégia.

  4. Otimização dinâmica dos parâmetros de suspensão, ajustando a amplitude de suspensão de acordo com a situação do mercado.

  5. A resposta contínua e a otimização, combinada com o disco rígido, fazem com que a estratégia seja mais estável.

Direção de otimização

A estratégia pode ser melhorada em alguns aspectos:

  1. Optimizar a configuração de parâmetros, como ajustar o ciclo de linha média, o ciclo de unidade de BHD, etc., para encontrar a combinação de parâmetros ideal.

  2. Adicionar outros indicadores de julgamento, como MACD, KD, etc., para tornar o julgamento de curto prazo mais preciso.

  3. Optimizar a estratégia de stop loss, como ajustar a amplitude de parada de acordo com a dinâmica da taxa de flutuação.

  4. Adicionar estratégias de gerenciamento de posições, como a intensidade da tendência afeta o tamanho da posição.

  5. Teste mais variedades e dados de ciclo para avaliar a robustez da estratégia.

  6. A adição de filtros, como o preço de fechamento acima do preço de abertura, pode evitar a armadilha.

  7. Aumentar as tecnologias avançadas, como o aprendizado de máquina, para tornar as estratégias mais automatizadas e inteligentes.

Através da otimização acima, pode-se melhorar o desempenho da estratégia em termos de taxa de vitória, taxa de retorno, estabilidade e adaptabilidade.

Resumir

A estratégia de acompanhamento de tendências de lucro, em geral, tem vantagens como a consideração de características de longo prazo, a sequência e o stop loss, é uma estratégia de acompanhamento de tendências mais estável e eficiente. Mas também existe um certo risco, que requer teste de otimização contínua dos parâmetros e regras, combinado com o ajuste da situação do mercado real.

Código-fonte da estratégia
/*backtest
start: 2023-08-26 00:00:00
end: 2023-09-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © BHD_Trade_Bot

// @version=5
strategy(
 shorttitle            = 'Take Profit On Trend',
 title                 = 'Take Profit On Trend (by BHD_Trade_Bot)',
 overlay               = true,
 calc_on_every_tick    = true,
 calc_on_order_fills   = true,
 use_bar_magnifier     = true,
 initial_capital       = 1000,
 default_qty_type      = strategy.percent_of_equity,
 default_qty_value     = 100,
 commission_type       = strategy.commission.percent,
 commission_value      = 0.1)



// Backtest Time Period
start_year   = input(title='Start year'   ,defval=2021)
start_month  = input(title='Start month'  ,defval=1)
start_day    = input(title='Start day'    ,defval=1)
start_time = timestamp(start_year, start_month, start_day, 00, 00)

end_year     = input(title='end year'     ,defval=2050)
end_month    = input(title='end month'    ,defval=1)
end_day      = input(title='end day'      ,defval=1)
end_time = timestamp(end_year, end_month, end_day, 23, 59)

is_back_test_time() => true



// EMA
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)

// RSI
rsi200 = ta.rsi(close, 200)

// EMA_CD
emacd = ema50 - ema200
emacd_signal = ta.ema(emacd, 50)
hist = emacd - emacd_signal

// BHD Unit
bhd_unit = ta.rma(high - low, 200) * 2
bhd_upper = ema200 + bhd_unit
bhd_lower = ema200 - bhd_unit



// All n candles is going down
all_body_decrease(n) =>
    isValid = true
    for i = 0 to (n - 1)
        if (close[i] > close[i + 1])
            isValid := false
            break
    isValid



// ENTRY CONDITIONS

// Long-term uptrend
entry_condition1 = rsi200 > 51 and hist > 0

// Short-term downtrend
entry_condition2 = all_body_decrease(2)

ENTRY_CONDITIONS = entry_condition1 and entry_condition2

if ENTRY_CONDITIONS and is_back_test_time()
    strategy.entry('entry', strategy.long)


// CLOSE CONDITIONS

// Price increase 2 BHD unit
take_profit = close > strategy.position_avg_price + bhd_unit * 2

// Price decrease 3 BHD unit
stop_loss = close < strategy.position_avg_price - bhd_unit * 3

CLOSE_CONDITIONS = take_profit or stop_loss

if CLOSE_CONDITIONS
    strategy.close('entry')



// Draw
plot(ema50, color=color.orange, linewidth=2)
plot(ema200, color=color.purple, linewidth=2)
bhd_upper_line = plot(bhd_upper, color=color.teal)
bhd_lower_line = plot(bhd_lower, color=color.teal)
fill(bhd_upper_line, bhd_lower_line, color=color.new(color.teal, 90))