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.
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.
A estratégia EMA Ribbon tem as seguintes vantagens:
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.
A construção de uma fita com múltiplas EMAs torna os sinais de negociação mais claros.
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.
A estratégia permite um grande espaço de otimização de parâmetros ajustando os períodos de EMA e outros parâmetros.
A lógica estratégica é simples e fácil de compreender e implementar.
A estratégia da EMA Ribbon apresenta também alguns riscos:
Pode gerar sinais falsos quando a tendência global do mercado não é clara.
A alta frequência de negociação aumenta os custos de transação e de deslizamento.
As configurações incorretas dos parâmetros podem causar sinais muito sensíveis ou atrasados. Os parâmetros precisam ser testados e otimizados repetidamente.
As diferenças de preço repentinas de eventos podem invalidar os sinais.
A estratégia da EMA Ribbon pode ser otimizada nos seguintes aspectos:
Ajustar os parâmetros do período EMA para encontrar combinações ideais.
Adicionar outros indicadores técnicos de filtragem e confirmação de sinais para melhorar a precisão.
Incorporar indicadores de volatilidade para reduzir a frequência das transações em ambientes de baixa volatilidade.
Definir estratégias de stop loss para limitar a perda por negociação.
Otimizar as estratégias de gestão de dinheiro para melhorar os fatores de lucro.
Teste a robustez dos parâmetros em diferentes produtos e contratos.
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)