Estratégia de ruptura do impulso

Autora:ChaoZhang, Data: 2024-01-18 15:17:11
Tags:

img

Resumo

Esta estratégia combina linhas EMA, indicador MACD e ganho de um dia para identificar sinais de avanço do mercado e implementar uma estratégia de negociação de impulso para comprar baixo e vender alto.

Princípio da estratégia

Quando a linha EMA rápida cruza a linha EMA lenta, considera-se que o mercado está em uma tendência de alta e um sinal de compra é gerado.

Além disso, se o preço de fechamento de um único dia subir mais de 10% em comparação com o preço de abertura, também será gerado um sinal de compra para perseguir a tendência de mercado.

Após a abertura de posições, se o preço cair mais de 10%, o stop loss será acionado.

Análise das vantagens

Esta é uma tendência típica de seguir uma estratégia que pode capturar a tendência de alta após uma forte ruptura de ímpeto, com grande potencial de lucro.

  1. As linhas da EMA aplicam o julgamento da tendência para evitar a abertura de posições durante a consolidação do mercado.
  2. O indicador MACD garante sinais de compra mais confiáveis.
  3. A condição de ganho de um único dia capta a ruptura da tendência.
  4. As configurações razoáveis de stop loss e take profit ajudam a controlar os riscos.

Análise de riscos

Embora razoavelmente concebido, ainda existem alguns riscos:

  1. O julgamento inadequado do sinal de ruptura pode levar a perdas curtas.
  2. A recuperação do mercado também pode gerar falsos sinais.
  3. A configuração de stop loss de tamanho excessivo aumenta o risco de perda.
  4. A tendência de acompanhamento insuficiente após o avanço pode conduzir a lucros insuficientes.

Para reduzir os riscos acima, podemos considerar a otimização da estratégia de stop loss em movimento ou adicionar outros indicadores como volume para filtrar sinais.

Orientações de otimização

Ainda há espaço para uma maior otimização:

  1. Adicionar um indicador de volume para garantir um volume de negociação suficiente para apoiar a tendência.
  2. Otimizar os parâmetros do MACD para melhorar a sensibilidade do indicador.
  3. Teste diferentes combinações de períodos EMA.
  4. Adicionar o mecanismo adaptativo de stop loss.
  5. Otimizar os pontos de lucro para uma gestão mais eficiente do dinheiro.

A estabilidade e a rendibilidade desta estratégia podem ser consideravelmente melhoradas através de ajustes de parâmetros, combinação de indicadores e outros métodos.

Conclusão

Em geral, esta estratégia é simples, prática e com grande potencial de lucro. Ao julgar os pontos de ruptura do mercado, ela pode efetivamente capturar as tendências de alta, e o controle de retirada também é razoável. Na otimização futura, melhorar continuamente o ajuste de parâmetros e o projeto stop loss / take profit pode torná-lo uma estratégia comercial quantitativa de longo prazo que vale a pena.


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

//@version=3
strategy("Alt Coins", overlay=true)

//Simple Alt Coin Trading Strategy//
// by @ShanghaiCrypto //

////EMA////
fastLength = input(5)
slowLength = input(12)
baseLength = input(50)
price = close

emafast = ema(price, fastLength)
emaslow = ema(price, slowLength)
emabase = ema(price, baseLength)

///MACD////
MACDLength = input(9)
MACDfast = input(12)
MACDslow = input(26)
MACD = ema(close, MACDfast) - ema(close, MACDslow)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD

////PUMP////
OneCandleIncrease = input(10, title='Gain %')
pump = OneCandleIncrease/100

////Profit Capture and Stop Loss//////
stop = input(10.0, title='Stop Loss %', type=float)/100
profit = input(45.0, title='Profit %', type=float)/100
stop_level = strategy.position_avg_price * (1 - stop)
take_level = strategy.position_avg_price * (1 + profit)

////Entries/////
if crossover(emafast, emaslow)
    strategy.entry("Cross", strategy.long, comment="BUY")

if (crossover(delta, 0))
    strategy.entry("MACD", strategy.long, comment="BUY")
    
if close > (open + open*pump)
    strategy.entry("Pump", strategy.long, comment="BUY")

/////Exits/////
strategy.exit("SELL","Cross", stop=stop_level, limit=take_level)
strategy.exit("SELL","MACD", stop=stop_level, limit=take_level)
strategy.exit("SELL","Pump", stop=stop_level, limit=take_level)

////Plots////
plot(emafast, color=green)
plot(emaslow, color=red)
plot(emabase, color=yellow)
plot(take_level, color=blue)
plot(stop_level, color=orange)

Mais.