Estratégia de compra baseada em alta ruptura histórica

Autora:ChaoZhang, Data: 2023-09-20 15:53:26
Tags:

Resumo

Esta estratégia compra quando o preço rompe acima da alta histórica de n dias em um mercado de touros, com EMA stop loss.

Estratégia lógica

  1. Calcular o preço mais alto nos últimos n dias como o preço mais alto histórico.

  2. Comprar quando o fechamento atual exceder o preço histórico.

  3. Use a EMA de x dias como o stop loss. saia quando o preço cair abaixo da EMA.

  4. Valores de n e x ajustáveis através de parâmetros, padrão para o máximo de 200 dias e para a EMA de 90 dias.

  5. Lógica simples e clara, fácil de implementar.

Vantagens

  1. Segue automaticamente as tendências formadas por novas altas.

  2. A EMA traz o stop lock na maioria dos lucros.

  3. Não é preciso prever preços, basta seguir os sinais de compra.

  4. Os parâmetros padrão funcionam bem em mercados de alta.

  5. Código conciso, fácil de entender e modificar.

Riscos

  1. Perdas maciças quando o mercado de touros terminar.

  2. Configurações inadequadas de stop loss levam a paradas prematuras ou atrasadas.

  3. Incapaz de prever a força e o recuo de novos picos.

  4. O seu forte preconceito torna-o inadequado para outros mercados.

  5. A otimização dos parâmetros corre o risco de se sobreajustar aos dados históricos.

Reforço

  1. Teste diferentes combinações de parâmetros para obter valores ótimos.

  2. Avaliar outros métodos de paragem, como paradas de percentagem fixa.

  3. Otimizar as paradas para equilibrar a frequência e o controlo dos riscos.

  4. Adicione filtros para evitar compras por ruído.

  5. Pesquise formas de medir a força do sinal de compra.

  6. Pode acrescentar lucro tomando saídas para bloquear os ganhos.

Conclusão

Esta estratégia automatiza a tendência de seguir em novos máximos com paradas da EMA. Embora eficaz em alguns casos, precisa de expansão e otimização para se tornar robusta em todos os mercados.


/*backtest
start: 2023-08-20 00:00:00
end: 2023-09-19 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/
// © gmhfund

//@version=5
strategy("ATH 200d",overlay=1)
plot(close)

bars = input.int(200, "ATH period", minval=5, maxval=2000, step=1)
range_ema = input.int(90,"ema line",minval=100,maxval=400,step=1)

ath_price = ta.highest(bars)[1]
plot(ath_price,color=color.blue)

line_ema = ta.ema(close,range_ema)
exit_condition = ta.crossunder(close,line_ema)
plot(line_ema,color=color.orange)


strategy.entry("Buy", strategy.long, 1, when = close > ath_price) // enter long by market if current open great then previous high
//strategy.close("Buy",when = close < strategy.position_avg_price*0.9 )
strategy.close("Buy",when = exit_condition )

Mais.