Esta estratégia utiliza o cruzamento de EMAs rápidas e lentas para determinar e acompanhar as tendências dos preços.
Estratégia lógica:
Calcular EMAs rápidas e lentas, normalmente de 13 e 48 períodos.
O valor da posição em risco é o valor da posição em risco.
Sair longo quando o preço cruzar abaixo da EMA rápida.
Opção de adição de regras para negociações de dois sentidos.
Vantagens:
A combinação EMA rápida/lenta identifica eficazmente as tendências intermediárias.
A negociação de breakout permite entradas de tendência oportunas.
O mecanismo de stop loss simples controla a perda por negociação.
Riscos:
O atraso da EMA faz com que os melhores pontos de entrada sejam perdidos.
Afastem os travões para evitar batidas excessivas.
Difícil determinar a direcção da tendência durante os intervalos.
Em resumo, esta estratégia utiliza cruzamentos de EMA para a identificação e acompanhamento de tendências.
/*backtest start: 2022-09-05 00:00:00 end: 2023-09-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 // strategy("EMA Strategy 13 48", shorttitle = "EMA Strategy 13 48", overlay=true, pyramiding = 3,default_qty_type = strategy.percent_of_equity, default_qty_value = 1000) // === Inputs === // short ma maFastSource = input(defval = close, title = "Fast MA Source") maFastLength = input(defval = 13, title = "Fast MA Period", minval = 1) // long ma maSlowSource = input(defval = close, title = "Slow MA Source") maSlowLength = input(defval = 48, title = "Slow MA Period", minval = 1) // === Vars and Series === fastMA = ema(maFastSource, maFastLength) slowMA = ema(maSlowSource, maSlowLength) plot(fastMA, color=blue) plot(slowMA, color=purple) goLong() => crossover(fastMA, slowMA) killLong() => crossunder(close, fastMA) strategy.entry("Buy", strategy.long, when = goLong()) strategy.close("Buy", when = killLong()) // Shorting if using goShort() => crossunder (fastMA, slowMA) killShort() => crossover(fastMA, slowMA) //strategy.entry("Sell", strategy.short, when = goShort()) //strategy.close("Sell", when = killShort())