Estratégia de negociação cruzada da EMA

Autora:ChaoZhang, Data: 2023-12-12 17:09:24
Tags:

img

Resumo

A estratégia de negociação crossover da EMA é uma estratégia de negociação quantitativa simples, mas eficaz. Utiliza médias móveis exponenciais (EMA) e sinais de crossover para identificar tendências de preços e determinar pontos de entrada e saída.

Estratégia lógica

A chave está em usar duas EMAs com parâmetros diferentes. A EMA1 é definida em 25 dias e a EMA2 é definida em 100 dias. Quando a EMA de curto prazo cruza acima da EMA de longo prazo, é um sinal de compra. Quando a EMA mais curta cruza abaixo da EMA mais longa, é um sinal de venda. Assim, a EMA mais curta capta tendências de preços e impulso de curto prazo, enquanto a EMA mais longa reflete tendências de longo prazo.

Para filtrar sinais falsos, a estratégia também estabelece alguns critérios adicionais. Por exemplo, exigindo um padrão de candelabro de alta ou cruzamento acontecendo acima do nível de 50 RSI. Isso evita negociações errôneas devido ao ruído de curto prazo.

Vantagens

A maior vantagem é a simplicidade e a intuitividade desta estratégia, que é muito mais fácil de usar em comparação com as estratégias com numerosos parâmetros e lógica complexa.

Além disso, captura mudanças de tendência em prazos de curto e longo prazo, utilizando o indicador técnico clássico de cruzes da EMA para identificar inversões de tendência e determinar entradas e saídas, negociando assim com a tendência.

Por último, são definidos filtros adequados para reduzir os falsos sinais e evitar ser enganado pelo ruído do mercado, o que permite um desempenho estável da estratégia em mercados voláteis.

Riscos

O principal risco é a divergência entre as tendências de curto e longo prazo. Os movimentos dramáticos dos preços podem desencadear sinais de cruzamento, mas a tendência de longo prazo permanece inalterada, resultando em negociações perdedoras. Além disso, os whipsaws geralmente surgem em mercados de faixa.

As configurações inadequadas dos períodos da EMA podem também comprometer o desempenho da estratégia, uma vez que o poder representativo das EMA diminuiria, tornando-as ineficazes na captação de tendências e inversões.

Além disso, os filtros excessivamente rigorosos podem fazer com que se percam oportunidades comerciais potenciais, prejudicando assim a rentabilidade.

Reforço

A combinação com outros indicadores como KDJ, MACD etc. pode ajudar a confirmar os sinais de negociação e evitar falsos sinais.

Testar diferentes conjuntos de parâmetros para encontrar períodos de EMA ideais e ajustar os critérios de filtragem para equilibrar a frequência e a confiabilidade das negociações.

O dimensionamento dinâmico da posição também é importante. Por exemplo, uma posição maior quando as duas EMAs estão mais distantes, menor quando mais próximas.

Conclusão

A estratégia de crossover da EMA é uma estratégia de negociação quantitativa simples, mas prática. Ela capitaliza os sinais de crossover da EMA para negociar junto com tendências de curto e longo prazo. Fácil de entender e implementar, minimiza a complexidade e atende aos traders novatos. No entanto, seus riscos não devem ser negligenciados.


/*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=5
strategy('EMA Crossover Signal', shorttitle='EMA Crossover Signal', overlay=true)
// Define input for position size as a percentage of equity
position_size_pct = input(1, title='Position Size (%)') / 100

//Input EMA
len1 = input.int(25, minval=1, title='EMA 1')
src1 = input(close, title='Source')
ema1 = ta.ema(src1, len1)
len2 = input.int(100, minval=1, title='EMA 2')
src2 = input(close, title='Source')
ema2 = ta.ema(src2, len2)
//End of format

//Format RSI
lenrsi = input(14, title='RSI length')
outrsi = ta.rsi(close,lenrsi)

bodybar1 = math.abs(close - open)
bodybar2 = math.abs(close[1] - open[1])
// Plot the EMAs
plot(ema1, color=color.new(color.blue, 0), title='EMA 1')
plot(ema2, color=color.new(color.red, 0), title='EMA 2')

// EMA Crossover conditions
emaCrossoverUp = ta.crossover(ema1, ema2)
emaCrossoverDown = ta.crossunder(ema1, ema2)
var entrybar = close  // Initialize entrybar with the current close

// Calculate crossovers outside of the if statements
emaCrossoverUpOccured = ta.crossover(close, ema1) and ema1 > ema2 and bodybar1 > bodybar2 and close > entrybar
emaCrossoverDownOccured = ta.crossunder(close, ema1) and ema1 < ema2 and bodybar1 > bodybar2 and close < entrybar

plotshape(series=emaCrossoverUpOccured, location=location.abovebar, color=color.new(color.green, 0), style=shape.triangleup, title='New Buy Order', size=size.tiny)
plotshape(series=emaCrossoverDownOccured, location=location.belowbar, color=color.new(color.red, 0), style=shape.triangledown, title='New Sell Order', size=size.tiny)

if emaCrossoverUpOccured
    strategy.entry("Enter Long", strategy.long)
else if emaCrossoverDownOccured
    strategy.entry("Enter Short", strategy.short)

Mais.