Estratégias de negociação baseadas nos indicadores EMA e MAMA


Data de criação: 2023-10-31 14:20:56 última modificação: 2023-10-31 14:20:56
cópia: 0 Cliques: 817
1
focar em
1617
Seguidores

Estratégias de negociação baseadas nos indicadores EMA e MAMA

Visão geral

A estratégia baseia-se em EMA e MAMA, dois indicadores que julgam as tendências de mercado e geram sinais de negociação com base em suas circunstâncias cruzadas. A EMA é frequentemente usada para determinar a direção da tendência do mercado, enquanto a MAMA pode capturar com mais precisão os pontos de giro do mercado, e a combinação dos dois pode melhorar o desempenho da estratégia.

Princípio da estratégia

  1. Calculação de EMAs rápidas e lentas, que refletem tendências de mercado de curto e longo prazo, respectivamente
  2. Calcule as linhas MAMA e FAMA, que são respectivamente as médias móveis adaptadas
  3. Quando uma EMA rápida atravessa uma EMA lenta, gera um sinal de compra
  4. Quando a EMA rápida atravessa a EMA lenta, gera um sinal de venda
  5. Quando o MAMA usa o FAMA, gera um sinal de compra
  6. Quando o MAMA atravessa o FAMA, gera um sinal de venda
  7. O cruzamento de MAMA e FAMA pode ser usado para validar o sinal de cruzamento EMA ou para capturar uma reversão de tendência antecipada

Concretamente, a estratégia primeiro calcula o EMA rápido (fl) e o EMA lento (sl), refletindo respectivamente tendências de curto e longo prazo.

Em seguida, calcula-se o MAMA e o FAMA de acordo com a fórmula de John Ehlers:

  1. Calcule a Transformação de Hilbert do preço e extraia informações de fase do sinal
  2. O ciclo instantâneo do sinal p é calculado com base na informação de fase
  3. Peso α baseado no valor p
  4. MAMA e FAMA com base no peso α

Por fim, a estratégia gera um sinal de negociação com base no cruzamento entre a EMA e a MAMA/FAMA:

  • EMA faz mais com o Golden Fork
  • A EMA está vazia no momento da morte
  • MAMA faz mais do que FAMA
  • MAMA e FAMA ficam livres

Análise de vantagens

Esta estratégia, combinada com as vantagens dos indicadores EMA e MAMA, pode melhorar a precisão dos sinais de negociação.

Os pontos fortes da EMA:

  • A sua capacidade de simplificar os dados de preços e reduzir o ruído
  • Acompanhar as tendências do mercado e ter um certo atraso
  • Parâmetros flexíveis, com sensibilidade ajustável a tendências de curto e longo prazo

Os pontos fortes da MAMA:

  • Parâmetros de adaptação, sem necessidade de um ciclo de especificação artificial
  • Responder rapidamente e antecipar mudanças de tendência
  • Identificar com precisão as áreas de suporte e resistência

Os benefícios da combinação:

  • EMA avalia direção das principais tendências
  • MAMA verifica sinais e capta mudanças antecipadas
  • Melhorar a precisão e a taxa de sucesso dos sinais

Análise de Riscos

A estratégia tem os seguintes riscos:

  • EMA e MAMA são indicadores de confirmação tardia, com o ponto de entrada um pouco atrasado, o que pode trazer risco de deslizamento
  • Em situações de grandes tremores, EMA e MAMA se cruzam frequentemente, gerando cascos múltiplos e cascos vazios.
  • Os parâmetros EMA e MAMA estão mal definidos e podem perder a tendência ou gerar falsos sinais

Medidas de resposta:

  • O uso de stop loss para controlar perdas
  • Parâmetros de escolha razoáveis, evitando ser demasiado sensível
  • Usado em combinação com outros indicadores, sinal de confirmação

Direção de otimização

A estratégia pode ser melhorada em:

  • Optimizar os parâmetros do ciclo EMA para que sejam mais adequados às características de diferentes variedades
  • Ajustar a sensibilidade do parâmetro MAMA α para otimizar a velocidade de captura de rotação
  • Adicionar filtros para outros indicadores, como MACD, RSI, etc., para evitar falsos sinais
  • Aumentar as estratégias de stop loss para controlar os riscos
  • Optimizar a retrospectiva e escolher a melhor combinação de parâmetros
  • Aumentar o stop-loss para maximizar os lucros

Resumir

A estratégia integra os benefícios dos dois indicadores EMA e MAMA, e é capaz de capturar as reviravoltas de tendência em tempo hábil e em tempo hábil. É uma estratégia confiável de acompanhamento de tendências. Através da otimização de parâmetros e controle de risco, pode-se aumentar a vitória e a rentabilidade da estratégia.

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

//@version=2
strategy("EMAMA strategy", overlay=true)
//This entire strategy is courtesy of LazyBear for programming the original EMAMA system, I simply added a strategy element to everything to round things out. 

src=input(hl2, title="Source")
fl=input(.5, title="Fast Limit")
sl=input(.05, title="Slow Limit")
sp = (4*src + 3*src[1] + 2*src[2] + src[3]) / 10.0
dt = (.0962*sp + .5769*nz(sp[2]) - .5769*nz(sp[4])- .0962*nz(sp[6]))*(.075*nz(p[1]) + .54)
q1 = (.0962*dt + .5769*nz(dt[2]) - .5769*nz(dt[4])- .0962*nz(dt[6]))*(.075*nz(p[1]) + .54)
i1 = nz(dt[3])
jI = (.0962*i1 + .5769*nz(i1[2]) - .5769*nz(i1[4])- .0962*nz(i1[6]))*(.075*nz(p[1]) + .54)
jq = (.0962*q1 + .5769*nz(q1[2]) - .5769*nz(q1[4])- .0962*nz(q1[6]))*(.075*nz(p[1]) + .54)
i2_ = i1 - jq
q2_ = q1 + jI
i2 = .2*i2_ + .8*nz(i2[1])
q2 = .2*q2_ + .8*nz(q2[1])
re_ = i2*nz(i2[1]) + q2*nz(q2[1])
im_ = i2*nz(q2[1]) - q2*nz(i2[1])
re = .2*re_ + .8*nz(re[1])
im = .2*im_ + .8*nz(im[1])
p1 = iff(im!=0 and re!=0, 360/atan(im/re), nz(p[1]))
p2 = iff(p1 > 1.5*nz(p1[1]), 1.5*nz(p1[1]), iff(p1 < 0.67*nz(p1[1]), 0.67*nz(p1[1]), p1))
p3 = iff(p2<6, 6, iff (p2 > 50, 50, p2))
p = .2*p3 + .8*nz(p3[1])
spp = .33*p + .67*nz(spp[1])
phase = atan(q1 / i1)
dphase_ = nz(phase[1]) - phase
dphase = iff(dphase_< 1, 1, dphase_)
alpha_ = fl / dphase
alpha = iff(alpha_ < sl, sl, iff(alpha_ > fl, fl, alpha_))
mama = alpha*src + (1 - alpha)*nz(mama[1])
fama = .5*alpha*mama + (1 - .5*alpha)*nz(fama[1])
pa=input(false, title="Mark crossover points")

plotarrow(pa?(cross(mama, fama)?mama<fama?-1:1:na):na, title="Crossover Markers")

fr=input(false, title="Fill MAMA/FAMA Region")

duml=plot(fr?(mama>fama?mama:fama):na, style=circles, color=gray, linewidth=0, title="DummyL")

mamal=plot(mama, title="MAMA", color=red, linewidth=2)

famal=plot(fama, title="FAMA", color=green, linewidth=2)

fill(duml, mamal, red, transp=70, title="NegativeFill")

fill(duml, famal, green, transp=70, title="PositiveFill")

ebc=input(false, title="Enable Bar colors")

bc=mama>fama?lime:red

barcolor(ebc?bc:na)

longCondition = crossover(mama, fama)
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

shortCondition = crossunder(mama, fama)
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)