Estratégia de negociação de média móvel de ruptura de impulso

Autora:ChaoZhang, Data: 2023-11-01 17:13:40
Tags:

img

Resumo

Esta estratégia gera sinais de negociação para ações de baixa volatilidade, combinando médias móveis, indicador MACD e padrões de velas. Pode imprimir sinais de compra ou venda para alertar quando certas condições são atendidas. Eu o uso como um economizador de tempo para ajudar a identificar quais gráficos olhar. Você pode ajustar as entradas e configurações para atender às suas necessidades. Eu sugeriria permitir duas ou três ordens.

Estratégia lógica

A estratégia utiliza principalmente três indicadores para o julgamento dos sinais comerciais:

  1. Médias Móveis: Calcula três médias móveis - rápida, lenta e linha de base, e gera sinal de compra quando a linha rápida cruza acima da linha lenta.

  2. Indicador MACD: Calcula o histograma MACD e a linha de sinal, gera sinal de compra quando o histograma MACD cruza acima de 0.

  3. Padrões de velas: Calcula o aumento percentual dentro de uma única vela, gera sinal de compra quando o aumento excede uma certa porcentagem, julgando-o como marca por criadores de mercado.

Para os sinais de venda, a estratégia define um nível de stop loss e take profit.

Vantagens

  1. Combina três tipos diferentes de indicadores técnicos para verificação mútua e evita falsos sinais.

  2. As médias móveis identificam tendências de médio e longo prazo, o MACD captura o impulso de curto prazo, os candelabros identificam comportamentos de criadores de mercado.

  3. Estabelece condições de stop loss e take profit para bloquear os lucros e evitar perdas aumentadas.

  4. Lógica simples e clara, fácil de implementar, parâmetros ajustáveis intuitivos, adaptação flexível às diferentes condições do mercado.

  5. Os parâmetros dos indicadores são otimizados e testados em termos de estabilidade e rentabilidade.

Riscos

  1. Como uma estratégia de seguimento de tendências, ineficaz em mercados agitados de faixa, pode produzir pequenos ganhos/perdas frequentes.

  2. Os padrões de velas são subjetivos, difíceis de julgar com precisão os comportamentos dos fabricantes de mercado, podem gerar alguns sinais falsos.

  3. Stop loss e take profit precisam ser ajustados para diferentes ações, muito pequeno pode parar a perda prematuramente, muito grande pode limitar os lucros.

  4. A estratégia é relativamente complexa e precisa considerar vários indicadores simultaneamente, exigindo altas habilidades técnicas dos traders.

Orientações para a melhoria

  1. Adicionar o julgamento da condição do mercado, seguir as tendências em fases de tendência óbvias, evitar negociações durante as consolidações.

  2. Otimizar os parâmetros das médias móveis, ajustar os períodos de acordo com as características das acções.

  3. Introduzir aprendizagem de máquina para modelar comportamentos de criadores de mercado, reduzir sinais falsos.

  4. Desenvolver estratégias dinâmicas de stop loss e take profit, em vez de configurações fixas.

  5. Simplificar a estratégia, eliminando indicadores altamente subjetivos para reduzir os falsos sinais.

Conclusão

Esta estratégia integra médias móveis, MACD e julgamento de comportamento do fabricante de mercado em uma estratégia de negociação de ações de baixo risco relativamente completa. Tem certas vantagens, mas também alguns aspectos que podem ser melhorados. Embora complexo, o requisito técnico não é muito exigente para os comerciantes. Com otimização e teste contínuos, esta estratégia pode se tornar uma ferramenta de negociação quantitativa muito prática.


/*backtest
start: 2022-10-25 00:00:00
end: 2023-10-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Simple Stock Strategy", overlay=true)

//Simple Trading Strategy for Stocks//
// by @ShanghaiCrypto //

////SMA////
fastLength = input(12)
slowLength = input(26)
baseLength = input(100)
price = close

mafast = sma(price, fastLength)
maslow = sma(price, slowLength)
mabase = sma(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(6, title='Gain %')
pump = OneCandleIncrease/100

////Profit Capture and Stop Loss//////
stop = input(2.0, title='Stop Loss %', type=float)/100
profit = input(6.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(mafast, maslow)
    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(mafast, color=green)
plot(maslow, color=red)
plot(mabase, color=yellow)
plot(take_level, color=blue)
plot(stop_level, color=orange)

Mais.