Estratégia de inversão de impulso

Autora:ChaoZhang, Data: 2023-12-12 17:25:08
Tags:

img

Resumo

Esta estratégia calcula o indicador de momentum do preço para determinar se a tendência de preço se invertiu, a fim de capturar oportunidades de reversão de preço. Quando a tendência de alta ou baixa do preço diminui, ele indica que o momentum de preço se invertiu. Neste momento, a estratégia abrirá posições longas ou curtas.

Estratégia lógica

A estratégia baseia-se principalmente no cálculo de indicadores de momento. O indicador de momento reflete a velocidade e a força das mudanças de preços. Dois indicadores de momento MOM e MOM1 são calculados na estratégia.

Fórmula de cálculo da MOM:

MOM = Preço de fechamento de hoje - Preço de fechamento N dias atrás

Fórmula de cálculo da MOM1:

MOM1 = MOM hoje - MOM ontem

Julgar se os preços se inverteram de acordo com os valores de MOM e MOM1. Se MOM > 0 e MOM1 < 0, significa que a tendência de alta do preço desacelerou e um sinal de reversão parece ir longo. Se MOM < 0 e MOM1 > 0, significa que a tendência de queda do preço desacelerou e um sinal de reversão parece ir curto.

Vantagens

  1. Captar pontos de reversão de preços e entrar no mercado a tempo
  2. Pequenas reduções, evitar perseguir altos e vender baixos
  3. Implementar o stop loss automático para reduzir os riscos

Riscos

  1. A abertura e o encerramento frequentes de posições podem ocorrer quando os preços flutuam
  2. Incapacidade de determinar com precisão os pontos de reversão dos preços se os parâmetros forem definidos de forma inadequada
  3. Eventos de mercado podem causar sinais incorretos

Principais métodos de redução dos riscos:

  1. Otimizar parâmetros para melhorar a precisão do julgamento
  2. Combinar com outros indicadores para filtrar sinais
  3. Intervenção manual para evitar perdas causadas por mercados anormais

Orientações de otimização

  1. Otimizar os parâmetros do indicador de momento para melhor capturar o momento das reversões
  2. Adicionar indicadores como volume para filtrar sinais incorretos
  3. Adicionar estratégias de stop loss para reduzir perdas únicas

Resumo

Esta estratégia calcula o indicador de impulso do preço para determinar se a tendência do preço se invertiu, indo automaticamente para longo ou curto. Os testes posteriores mostram que esta estratégia funciona sem problemas em geral e capta efetivamente os pontos de reversão do preço.


/*backtest
start: 2023-11-11 00:00:00
end: 2023-12-11 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Momentum - Strategy", overlay = false, precision = 2, initial_capital = 10000, default_qty_value = 100, default_qty_type = strategy.percent_of_equity, commission_type = strategy.commission.percent, commission_value = 0.2 )

i_len           =       input(defval = 12,      title = "Length",       minval = 1)
i_src           =       input(defval = close,   title = "Source")
i_percent       =       input(defval = true,    title = "Percent?")
i_mom           =       input(defval = "MOM2",  title = "MOM Choice",   options = ["MOM1", "MOM2"])

momentum(seria, length, percent) =>
	_mom        =       percent ? ( (seria / seria[length]) - 1) * 100 : seria - seria[length]
	_mom

mom0        =       momentum(i_src, i_len, i_percent)
mom1        =       momentum(mom0, 1, i_percent)
mom2        =       momentum(i_src, 1, i_percent)

momX        =       mom1

if i_mom == "MOM2"
    momX    :=     mom2

if (mom0 > 0 and momX > 0)
    strategy.entry("MomLE", strategy.long, stop = high + syminfo.mintick, comment = "MomLE")
else
	strategy.cancel("MomLE")
if (mom0 < 0 and momX < 0)
	strategy.entry("MomSE", strategy.short, stop = low - syminfo.mintick, comment = "MomSE")
else
	strategy.cancel("MomSE")

plot(mom0, color = #0000FF, title = "MOM")
plot(mom1, color = #00FF00, title = "MOM1", display = display.none)
plot(mom2, color = #00FF00, title = "MOM2")

Mais.