
A estratégia usa o EMA de linha rápida e lenta para determinar a tendência e, em combinação com o padrão de paralisação de proporções para realizar a negociação de acompanhamento de tendências. A estratégia é aplicável a qualquer período de tempo e permite a captura de tendências em índices e ações individuais.
A estratégia usa linhas EMA de comprimento 3 e 30 como sinal de negociação. Quando o 3 EMA é atravessado por 30 EMA, indica que o preço começa a subir, condição de compra; Quando o 3 EMA é atravessado por 30 EMA, indica que o preço começa a cair, condição de venda.
Ao mesmo tempo, a estratégia também define uma condição de parada. Quando o aumento de preço atinge o preço de entrada da estratégia de acordo com a proporção de parada definida, a estratégia EXIT. Isso permite bloquear mais lucros e realizar negociações de acompanhamento de tendências.
Em geral, a estratégia é uma estratégia de acompanhamento de tendências muito prática. Utiliza um simples indicador EMA para determinar a direção da tendência, estabelece regras de parada razoáveis, pode controlar eficazmente o risco e é adequado para acompanhar ações e índices de longo prazo.
/*backtest
start: 2023-02-12 00:00:00
end: 2024-02-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Crossover Strategy with Target", shorttitle="EMACross", overlay=true)
// Define input parameters
fastLength = input(3, title="Fast EMA Length")
slowLength = input(30, title="Slow EMA Length")
profitPercentage = input(100.0, title="Profit Percentage")
// Calculate EMAs
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)
// Plot EMAs on the chart
plot(fastEMA, color=color.blue, title="Fast EMA")
plot(slowEMA, color=color.red, title="Slow EMA")
// Buy condition: 3EMA crosses above 30EMA
buyCondition = ta.crossover(fastEMA, slowEMA)
// Sell condition: 3EMA crosses below 30EMA or profit target is reached
sellCondition = ta.crossunder(fastEMA, slowEMA) or close >= (strategy.position_avg_price * (1 + profitPercentage / 100))
// Target condition: 50 points profit
//targetCondition = close >= (strategy.position_avg_price + 50)
// Execute orders
// strategy.entry("Buy", strategy.long, when=buyCondition)
// strategy.close("Buy", when=sellCondition )
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.close("Buy")
// // Execute sell orders
// strategy.entry("Sell", strategy.short, when=sellCondition)
// strategy.close("Sell", when=buyCondition)
// Plot buy and sell signals on the chart
plotshape(series=buyCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar)
plotshape(series=sellCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)