Estratégia da fita da EMA

Autora:ChaoZhang, Data: 2024-01-22 12:21:47
Tags:

img

Resumo

A estratégia EMA Ribbon gera sinais de negociação através do cálculo de médias móveis exponenciais (EMAs) de diferentes períodos e da identificação de cruzamentos entre eles. Esta estratégia constrói uma fita de 8 EMAs com períodos variáveis e usa o cruzamento entre a EMA de período mais curto e a EMA de período mais longo para determinar a tendência do mercado e gerar sinais de negociação.

Estratégia lógica

O núcleo desta estratégia consiste em 8 EMAs: 20 período, 25 período, 30 período, 35 período, 40 período, 45 período, 50 período e 55 período. Essas 8 EMAs formam uma fita empilhada de baixo para cima. Quando uma EMA de período mais curto cruza acima de uma EMA de período mais longo, um sinal de compra é gerado. Quando uma EMA de período mais curto cruza abaixo de uma EMA de período mais longo, um sinal de venda é gerado.

Por exemplo, quando a EMA de 20 períodos cruza acima da EMA de 55 períodos, um sinal de compra é acionado; quando a EMA de 20 períodos cruza abaixo da EMA de 55 períodos, um sinal de venda é acionado.

Análise das vantagens

A estratégia EMA Ribbon tem as seguintes vantagens:

  1. A utilização de múltiplas EMAs de períodos diferentes permite identificar com mais precisão as alterações da tendência do mercado.

  2. A construção de uma fita com múltiplas EMAs torna os sinais de negociação mais claros.

  3. A incorporação de EMAs de longo prazo e de curto prazo considera a tendência de longo prazo e as correcções de curto prazo.

  4. A estratégia permite um grande espaço de otimização de parâmetros ajustando os períodos de EMA e outros parâmetros.

  5. A lógica estratégica é simples e fácil de compreender e implementar.

Análise de riscos

A estratégia da EMA Ribbon apresenta também alguns riscos:

  1. Pode gerar sinais falsos quando a tendência global do mercado não é clara.

  2. A alta frequência de negociação aumenta os custos de transação e de deslizamento.

  3. As configurações incorretas dos parâmetros podem causar sinais muito sensíveis ou atrasados. Os parâmetros precisam ser testados e otimizados repetidamente.

  4. As diferenças de preço repentinas de eventos podem invalidar os sinais.

Orientações de otimização

A estratégia da EMA Ribbon pode ser otimizada nos seguintes aspectos:

  1. Ajustar os parâmetros do período EMA para encontrar combinações ideais.

  2. Adicionar outros indicadores técnicos de filtragem e confirmação de sinais para melhorar a precisão.

  3. Incorporar indicadores de volatilidade para reduzir a frequência das transações em ambientes de baixa volatilidade.

  4. Definir estratégias de stop loss para limitar a perda por negociação.

  5. Otimizar as estratégias de gestão de dinheiro para melhorar os fatores de lucro.

  6. Teste a robustez dos parâmetros em diferentes produtos e contratos.

Resumo

A estratégia EMA Ribbon tem uma lógica clara, identificando a tendência com crossovers EMA e gerando sinais de negociação. Tem grande espaço de otimização para ajustar parâmetros, adicionar filtros de sinal, etc. No geral, é bastante simples e prático, bom para iniciantes em negociação de quantidade. Mas controlar a frequência e os riscos do comércio continua importante.


/*backtest
start: 2024-01-14 00:00:00
end: 2024-01-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="EMA Ribbon [Krypt] with Buy/Sell Signals", shorttitle="EMA Ribbon", overlay=true)

dropn(src, n) =>
    na(src[n]) ? na : src

length1 = input(20, title="MA-1 period", minval=1)
length2 = input(25, title="MA-2 period", minval=1)
length3 = input(30, title="MA-3 period", minval=1)
length4 = input(35, title="MA-4 period", minval=1)
length5 = input(40, title="MA-5 period", minval=1)
length6 = input(45, title="MA-6 period", minval=1)
length7 = input(50, title="MA-7 period", minval=1)
length8 = input(55, title="MA-8 period", minval=1)
source_input = input(close, title="Source")

price = dropn(source_input, 1)

ema1 = ema(price, length1)
ema2 = ema(price, length2)
ema3 = ema(price, length3)
ema4 = ema(price, length4)
ema5 = ema(price, length5)
ema6 = ema(price, length6)
ema7 = ema(price, length7)
ema8 = ema(price, length8)

plot(ema1, title="MA-1", color=#f5eb5d, transp=0, linewidth=2)
plot(ema2, title="MA-2", color=#f5b771, transp=0, linewidth=2)
plot(ema3, title="MA-3", color=#f5b056, transp=0, linewidth=2)
plot(ema4, title="MA-4", color=#f57b4e, transp=0, linewidth=2)
plot(ema5, title="MA-5", color=#f56d58, transp=0, linewidth=2)
plot(ema6, title="MA-6", color=#f57d51, transp=0, linewidth=2)
plot(ema7, title="MA-7", color=#f55151, transp=0, linewidth=2)
plot(ema8, title="MA-8", color=#aa2707, transp=0, linewidth=2)

// Buy and sell signals based on crossover and crossunder
buySignal = crossover(ema1, ema8)
sellSignal = crossunder(ema1, ema8)

plotshape(series=buySignal, title="Buy Signal", color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=sellSignal, title="Sell Signal", color=color.red, style=shape.triangledown, size=size.small)

if buySignal
    strategy.entry("Enter Long", strategy.long)
else if sellSignal
    strategy.entry("Enter Short", strategy.short)

Mais.