
Este artigo detalha uma estratégia de negociação de acompanhamento de tendências baseada em médias móveis de índices triplos. A estratégia identifica tendências de mercado por meio de relações cruzadas entre médias móveis de índices de três períodos diferentes, a curto, médio e longo prazo, e administra as negociações em combinação com mecanismos de parada e parada dinâmicos.
A estratégia baseia suas decisões de negociação em três médias móveis indexadas em três diferentes períodos: 9 ciclos, 21 ciclos e 55 ciclos. A estratégia também integra um mecanismo de parada de perda dinâmico baseado no ATR e uma configuração de parada baseada na relação de ganhos e riscos para uma melhor gestão de risco.
A lógica central da estratégia é identificar as tendências através da interseção e posição das três EMAs. Concretamente:
A estratégia de negociação de tendências de EMA tripla é um sistema de negociação com clareza lógica e controle de risco. Através da configuração e otimização razoável de parâmetros, é possível obter oportunidades de negociação estáveis em diferentes ambientes de mercado. A chave para o sucesso da estratégia está na compreensão correta e no uso dos princípios centrais de acompanhamento de tendências, além de fazer um bom gerenciamento de risco.
/*backtest
start: 2024-10-28 00:00:00
end: 2024-11-27 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Triple EMA Crossover Strategy", overlay=true)
// Define the input lengths for the EMAs
shortEmaLength = input(9, title="Short EMA Length")
mediumEmaLength = input(21, title="Medium EMA Length")
longEmaLength = input(55, title="Long EMA Length")
// Define the risk/reward ratios for SL and TP
riskRewardRatio = input(1.2, title="Risk/Reward Ratio") // Example: risk 1 to gain 1.2
atrMultiplier = input(1.5, title="ATR Multiplier for SL") // ATR multiplier for stop loss
// Calculate EMAs
ema9 = ta.ema(close, shortEmaLength)
ema21 = ta.ema(close, mediumEmaLength)
ema55 = ta.ema(close, longEmaLength)
// Plot EMAs on the chart
plot(ema9, color=color.blue, title="9 EMA")
plot(ema21, color=color.orange, title="21 EMA")
plot(ema55, color=color.red, title="55 EMA")
// Define Long and Short Conditions
longCondition = ta.crossover(ema9, ema21) and ema21 > ema55
shortCondition = ta.crossunder(ema9, ema21) and ema21 < ema55
// Calculate the Average True Range (ATR) for better stop loss positioning
atr = ta.atr(14) // Using a 14-period ATR for dynamic SL
// Execute Long trades
if (longCondition)
// Set stop loss and take profit prices
stopLoss = close - (atr * atrMultiplier)
takeProfit = close + ((close - stopLoss) * riskRewardRatio)
strategy.entry("Long", strategy.long, stop=stopLoss, limit=takeProfit)
// Execute Short trades
if (shortCondition)
// Set stop loss and take profit prices
stopLoss = close + (atr * atrMultiplier)
takeProfit = close - ((stopLoss - close) * riskRewardRatio)
strategy.entry("Short", strategy.short, stop=stopLoss, limit=takeProfit)