
A estratégia é um sistema de negociação quantitativa baseado no cruzamento de médias móveis de duplo índice (EMA). Utiliza o cruzamento de EMA de curto prazo (ciclo 14) e EMA de longo prazo (ciclo 100) para capturar o ponto de conversão da tendência do mercado e determinar o momento de entrada, julgando a posição do cruzamento da média de curto prazo com a média de longo prazo. Quando o EMA de curto prazo atravessa o EMA de longo prazo para cima, gera um sinal de compra e, em vez disso, gera um sinal de venda.
A lógica central da estratégia é baseada em mudanças na dinâmica das tendências de preços. O EMA de curto prazo é mais sensível às mudanças de preços, enquanto o EMA de longo prazo é mais capaz de filtrar o ruído do mercado e refletir as tendências principais. Quando a dinâmica de preços de curto prazo cruza a média de longo prazo, indica que a dinâmica de preços de curto prazo aumenta e o mercado pode começar a entrar em uma tendência ascendente; Quando a dinâmica de curto prazo cruza a média de longo prazo abaixo da média de curto prazo, indica que a dinâmica de curto prazo enfraquece e o mercado pode mudar para uma tendência descendente.
A estratégia de quantificação de entradas dinâmicas em EMAs de tendências cruzadas é um sistema de acompanhamento de tendências clássico e prático. Combinando médias móveis de índices de curto e longo prazo, a estratégia é capaz de capturar melhor as oportunidades de conversão de tendências do mercado. Embora haja um certo risco de atraso e falso sinal, ainda é possível obter um efeito de negociação estável com a otimização de parâmetros e medidas de controle de risco adequadas.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-11 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Crossover Strategy", overlay=true)
// Input for EMAs
shortEmaLength = input(14, title="Short EMA Length")
longEmaLength = input(100, title="Long EMA Length")
// Calculate EMAs
shortEma = ta.ema(close, shortEmaLength)
longEma = ta.ema(close, longEmaLength)
// Plot EMAs
plot(shortEma, color=color.blue, title="9 EMA")
plot(longEma, color=color.red, title="100 EMA")
// Historical Signal Tracking
var float lastBuyPrice = na
var float lastSellPrice = na
// Buy and Sell Signals
buySignal = ta.crossover(shortEma, longEma)
sellSignal = ta.crossunder(shortEma, longEma)
// Track last buy and sell prices
if (buySignal)
lastBuyPrice := close
if (sellSignal)
lastSellPrice := close
// Plot buy and sell signals on the chart
plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Strategy Logic
if (buySignal)
strategy.entry("Buy", strategy.long)
if (sellSignal)
strategy.close("Buy")