Esta estratégia é uma estratégia simples de tendência baseada no cruzamento da EMA. Ele usa duas linhas EMA com parâmetros diferentes, uma linha EMA de curto prazo e uma linha EMA de longo prazo. Quando a linha EMA de curto prazo cruza acima da linha EMA de longo prazo, vá longo. Quando a linha EMA de curto prazo cruza abaixo da linha EMA de longo prazo, feche a posição. Com stop loss e take profit para gerenciar o risco.
O indicador EMA é um indicador de tendência que suaviza exponencialmente o preço. A linha EMA de curto prazo responde mais rapidamente às mudanças de preço, refletindo a tendência recente. A linha EMA de longo prazo responde mais lentamente, refletindo a tendência de longo prazo. Quando a EMA curta cruza acima da EMA longa, indica que o impulso ascendente recente é mais forte do que a tendência de longo prazo, pode ir longo.
Esta estratégia define linhas EMA de 9 períodos e 21 períodos.
Soluções de riscos:
A estratégia capitaliza o cruzamento da EMA de duas EMAs para seguir tendências. Sua vantagem é a lógica simples, a frequência de negociação média, capturando tendências de médio a longo prazo. No entanto, a EMA tem efeito de atraso. Adicionar mais indicadores para filtragem e otimizar o stop loss dinâmico pode reduzir ainda mais o risco.
/*backtest start: 2023-01-25 00:00:00 end: 2024-01-31 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("EMA Crossover Strategy", overlay=true) // Input parameters shortPeriod = input(9, title="Short EMA Period") longPeriod = input(21, title="Long EMA Period") stopLossPercent = input(1, title="Stop Loss (%)") / 100 takeProfitMultiplier = input(2, title="Take Profit Multiplier") // Calculate EMAs emaShort = ema(close, shortPeriod) emaLong = ema(close, longPeriod) // Plot EMAs plot(emaShort, color=color.blue, title="Short EMA") plot(emaLong, color=color.red, title="Long EMA") // Strategy logic strategy.entry("Buy", strategy.long, when=crossover(emaShort, emaLong)) strategy.close("Buy", when=crossunder(emaShort, emaLong)) // Risk management atrValue = atr(14) stopLossLevel = close * (1 - stopLossPercent) takeProfitLevel = close * takeProfitMultiplier strategy.exit("Take Profit/Stop Loss", from_entry="Buy", loss=stopLossLevel, profit=takeProfitLevel)