Esta é uma estratégia de negociação quantitativa cruzada da EMA. Ela usa duas EMAs com períodos diferentes como sinais de negociação, indo longo quando o EMA de período mais curto cruza a EMA de período mais longo e indo curto quando o EMA de período mais curto cruza abaixo do EMA de período mais longo. Ela pertence à tendência de seguir estratégias. Esta estratégia também define stop loss e take profit para controlar riscos.
Esta estratégia usa a cruz de ouro e a cruz da morte das EMAs como sinais de negociação. Especificamente, calcula a EMA de período mais curto e a EMA de período mais longo, respectivamente. Quando a EMA de período mais curto cruza a EMA de período mais longo, gera um sinal de compra para longo. Quando a EMA de período mais curto cruza abaixo da EMA de período mais longo, gera um sinal de venda para curto. Assim, as tendências em movimento das EMAs determinam as direções de negociação.
Após entrar em posições, a estratégia também define stop loss e take profit simultaneamente. O stop loss é uma certa porcentagem do preço de entrada como a linha de stop loss. Se o preço tocar a linha de stop loss, ele sairá da posição para stop loss. O take profit é uma certa porcentagem do preço de entrada como a linha de take profit. Se o preço tocar a linha de take profit, ele sairá da posição para take profit.
Esta estratégia também permite escolher apenas negociação longa, apenas curta, intradiária ou negociação de posição.
Esta estratégia tem as seguintes vantagens:
Usar o indicador EMA para filtrar ruídos e captar tendências de médio e longo prazo sem problemas.
Adopção de cruzeiros da EMA entre períodos mais curtos e mais longos como sinais de negociação para evitar o excesso de negociação.
Configurar stop loss e take profit para controlar a relação risco-recompensa de cada negociação, o que é bom para a gestão de dinheiro.
Permitir apenas negociações longas, curtas, intradiárias e de posições para atender a diferentes tipos de operadores.
Apoio a múltiplos ativos comerciais como ações, forex, criptomoedas, etc.
Esta estratégia apresenta também alguns riscos potenciais:
O indicador EMA tem um efeito de atraso e pode perder alguns pontos de virada da tendência a curto prazo.
As escolhas inadequadas de períodos EMA mais curtos e mais longos podem causar sinais de negociação confusos.
A detenção de posições por muito tempo pode sofrer flutuações do mercado mais elevadas.
O stop loss mecânico e o take profit podem deixar as posições demasiado cedo ou reduzir os lucros prematuramente.
As medidas de gestão de riscos correspondentes:
Otimizar os parâmetros da EMA para encontrar a melhor combinação de períodos.
Adicionar outros indicadores como juízo auxiliar.
Ajuste dinâmico de stop loss e take profit.
Intervenção manual em condições de mercado incomuns.
Esta estratégia pode ser otimizada nos seguintes aspectos:
Melhor otimização dos parâmetros da EMA para encontrar combinações adequadas de períodos mais curtos e mais longos para diferentes ativos negociados.
Adicionar outros indicadores como MACD, KD para sinergia multi-indicador.
Adicionar modelos de aprendizagem de máquina para gerar stop loss dinâmico e tirar lucro.
Conectar indicadores de RISK mais avançados para engenharia de recursos.
Adicionar componentes de negociação adaptativos para auto-otimização de parâmetros.
Em resumo, esta é uma excelente tendência seguindo o modelo de estratégia. Sua principal força reside em usar o indicador EMA para filtrar ruídos e alcançar lucros constantes, ao mesmo tempo em que possui uma gestão abrangente de risco-recompensa. Através da otimização contínua, esta estratégia pode se tornar uma estratégia quantitativa universal em todos os mercados e vale a pena para os traders aprenderem e praticarem.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Crossover Strategy by Vikrant Singh", overlay=true) // Input for EMA Lengths var bool runningPOS = false var float stopLossLevel = na var float targetLevel = na shortLength = input(11, title="Short EMA Length") longLength = input(21, title="Long EMA Length") // Input for Stop-Loss and Target stopLossPct = input(1, title="Stop-Loss (%)") targetPct = input(3, title="Target (%)") longOnly = input(true, title="Long Only") intraDay = input(true, title="intraday?") // Calculate EMAs emaShort = ta.ema(close, shortLength) emaLong = ta.ema(close, longLength) // Calculate crossover conditions crossoverCondition = ta.crossover(emaShort, emaLong) crossunderCondition = ta.crossunder(emaShort, emaLong) // Entry condition (long position just before crossover) if crossoverCondition and not runningPOS and longOnly and (hour <= 15) strategy.entry("Long", strategy.long) runningPOS := true stopLossLevel := close * (1 - stopLossPct / 100) targetLevel := close * (1 + targetPct / 100) //Entry condition (short position just before crossover) if crossunderCondition and not runningPOS and not longOnly and (hour <= 15) strategy.entry("Short", strategy.short) runningPOS := true stopLossLevel := close * (1 + stopLossPct / 100) targetLevel := close * (1 - targetPct / 100) // Exit conditions (square off on reverse crossover) //Exit long if (crossunderCondition or (low < stopLossLevel) or (high > targetLevel) ) and longOnly and runningPOS strategy.close("Long",comment = "Exit long")// ("Long", from_entry="Long",stop=stopLossLevel, limit=targetLevel) runningPOS := false //Exit short if (crossoverCondition or (high > stopLossLevel) or (low < targetLevel) ) and not longOnly and runningPOS strategy.close("Short", comment = "Exit Short") runningPOS := false if intraDay and runningPOS if (hour >= 15) strategy.close_all(comment = "Intraday square off") //strategy.close("Long",comment = "intraday square off") runningPOS := false // Plot EMAs plot(emaShort, color=color.blue, title="Short EMA") plot(emaLong, color=color.red, title="Long EMA")