
A estratégia é um sistema de acompanhamento de tendências baseado em quadruplas médias móveis de índice (EMA) para identificar tendências de mercado através de cruzamentos e alinhamentos de EMAs de 9, 21, 50 e 200 ciclos e para controle de risco em combinação com paradas percentuais. A estratégia determina a direção da tendência de mercado julgando a sequência de quatro linhas de equilíbrio.
A estratégia usa quatro médias móveis indexadas de diferentes períodos (9, 21, 50, 200) para determinar a tendência do mercado observando a relação entre essas médias. Quando a EMA do dia 9 está acima da EMA do dia 21, a EMA do dia 21 está acima da EMA do dia 50, a EMA do dia 50 está acima da EMA do dia 200, o sistema considera que o mercado está em uma forte tendência ascendente e emite mais.
Trata-se de um sistema de negociação de acompanhamento de tendências totalmente estruturado, que oferece um mecanismo de identificação de tendências mais confiável através do uso combinado de múltiplas medias, enquanto o risco é controlado com um percentual de parada fixo. Embora o sistema esteja um pouco atrasado, a estabilidade e a lucratividade da estratégia podem ser ainda melhoradas com a otimização de parâmetros razoáveis e o complemento de indicadores adicionais. Esta estratégia é especialmente adequada para mercados com grande volatilidade e para negociações de acompanhamento de tendências a médio e longo prazo.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-23 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("4 EMA Strategy with Stop Loss", overlay=true)
// Define the EMA lengths
ema1_length = input(9, title="EMA 1 Length")
ema2_length = input(21, title="EMA 2 Length")
ema3_length = input(50, title="EMA 3 Length")
ema4_length = input(200, title="EMA 4 Length")
// Calculate the EMAs
ema1 = ta.ema(close, ema1_length)
ema2 = ta.ema(close, ema2_length)
ema3 = ta.ema(close, ema3_length)
ema4 = ta.ema(close, ema4_length)
// Plot EMAs on the chart
plot(ema1, color=color.blue, title="EMA 9")
plot(ema2, color=color.orange, title="EMA 21")
plot(ema3, color=color.green, title="EMA 50")
plot(ema4, color=color.red, title="EMA 200")
// Define conditions for Buy and Sell signals
buy_condition = (ema1 > ema2 and ema2 > ema3 and ema3 > ema4)
sell_condition = (ema1 < ema2 and ema2 < ema3 and ema3 < ema4)
// Input stop loss percentage
stop_loss_perc = input(2.0, title="Stop Loss %")
// Execute buy signal
if (buy_condition)
strategy.entry("Buy", strategy.long)
// Set stop loss at a percentage below the entry price
strategy.exit("Sell", "Buy", stop=strategy.position_avg_price * (1 - stop_loss_perc / 100))
// Execute sell signal
if (sell_condition)
strategy.entry("Sell", strategy.short)
// Set stop loss at a percentage above the entry price
strategy.exit("Cover", "Sell", stop=strategy.position_avg_price * (1 + stop_loss_perc / 100))