
Esta estratégia é um sistema de negociação de rastreamento de tendências baseado em sinais de cruzamento de EMAs de 9 e 20 dias. Captura o momento da mudança de tendência do mercado, monitorando a relação cruzada entre EMAs rápidas de 9 dias e EMAs lentas de 20 dias. A estratégia usa uma forma de negociação programada para uma operação totalmente automatizada, evitando efetivamente a interferência emocional humana.
O núcleo da estratégia é usar a média móvel do índice de dois períodos diferentes para identificar a direção da tendência e o ponto de viragem. Quando o EMA do dia 9 sobe e cruza o EMA do dia 20, o sistema emite um sinal múltiplo; Quando o EMA do dia 9 desce e cruza o EMA do dia 20, o sistema emite um sinal de vazio. A média móvel do índice dá maior peso aos preços mais recentes e é capaz de reagir mais rapidamente às mudanças de preço, o que é útil para capturar o momento da mudança de tendência.
A estratégia é um sistema clássico de acompanhamento de tendências, que capta oportunidades de mudança de tendências através do cruzamento de EMAs. A lógica da estratégia é simples e clara, fácil de entender e implementar. No entanto, na negociação em ações reais, é recomendado combinar outros indicadores técnicos e métodos de gerenciamento de fundos para aperfeiçoar ainda mais o sistema de negociação.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-04 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Crossover Strategy with Buttons", overlay=true)
// Input parameters for EMAs
shortEmaLength = input(9, title="Short EMA Length")
longEmaLength = input(20, 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="20 EMA")
// Buy and Sell Logic
longCondition = ta.crossover(shortEma, longEma)
shortCondition = ta.crossunder(shortEma, longEma)
// Buy Button
if (ta.change(longCondition))
if (longCondition)
strategy.entry("Buy", strategy.long)
// Sell Button
if (ta.change(shortCondition))
if (shortCondition)
strategy.entry("Sell", strategy.short)
// Alert Conditions
alertcondition(longCondition, title="Buy Alert", message="Buy Signal")
alertcondition(shortCondition, title="Sell Alert", message="Sell Signal")