
A estratégia é um sistema de negociação baseado em múltiplos indicadores tecnológicos, combinando o cruzamento da média móvel do índice (EMA), o preço de referência do ponto central (CPR), a filtragem do volume de negociação e a configuração automática de stop loss/stop. A lógica central da estratégia é determinar a direção da tendência do mercado através do cruzamento da linha rápida e lenta do EMA, ao mesmo tempo em que usa a CPR como um ponto de referência de preço adicional para confirmar o sinal e verificar a atividade do mercado através do filtro de volume de negociação.
A lógica de negociação central da estratégia baseia-se nos seguintes componentes-chave:
Sistema de cruzamento da EMAA estratégia usa a média móvel indexada de 20 e 50 períodos (EMA) como principal indicador de tendência. Quando a EMA rápida (EMA de 20 períodos) atravessa a EMA lenta (EMA de 50 períodos), gera um sinal de multiplicação; Quando a EMA rápida atravessa a EMA lenta abaixo, gera um sinal de ruptura. Esta é uma estratégia clássica de cruzamento de equilíbrio, usada para capturar o ponto de inflexão da tendência.
CPR (Preço de Referência de Ponto Central) confirmadoA estratégia introduziu o indicador de CPR como uma ferramenta de confirmação de nível de preço. A CPR é composta por três níveis de preço-chave: Pivot, Lower Center, BC, e Upper Center, TC. Esses níveis são calculados com base nos altos, baixos e preços de fechamento do dia anterior.
Filtro de volume de transaçõesA estratégia estabelece a condição de que o volume de transações deve ser maior do que a média de transações de 20 dias. Um volume alto de transações geralmente indica uma alta participação no mercado, aumentando a confiabilidade da movimentação dos preços. O usuário pode escolher se deseja ativar este filtro.
Paragem automáticaA estratégia estabelece um percentual fixo de stop loss e stop loss com base no preço de entrada. A parâmetros padrão, o stop loss está localizado a 1,5% abaixo do preço de entrada e o stop loss está localizado a 3% acima do preço de entrada. Isso faz com que a relação de risco-retorno seja de 1:2, de acordo com os princípios de gestão de risco saudável.
Visualização de sinaisA estratégia é mostrar os sinais de compra e venda de forma intuitiva no gráfico em forma de etiquetas e formas, permitindo que os comerciantes vejam claramente os pontos de entrada.
A lógica de execução da negociação é simples: quando a condição de multiplicação é satisfeita, a estratégia entra em uma posição de multiplicação e, ao mesmo tempo, define um stop loss e um stop order. Quando a condição de breakout é satisfeita, a estratégia entra em uma posição de breakout e também define um correspondente stop loss e stop order.
Mecanismo de confirmação múltiplaA estratégia combina o indicador de tendência (EMA), o indicador de nível de preço (CPR) e o indicador de volume de transação para formar um sistema de confirmação múltipla. Isso reduz a possibilidade de falsos sinais e aumenta a confiabilidade das transações. Um único indicador pode produzir sinais errados, mas a confirmação de vários tipos diferentes de indicadores aumenta a probabilidade de sucesso das transações.
Forte adaptaçãoPor meio de parâmetros ajustáveis (como a duração do EMA, a porcentagem de parada, a porcentagem de parada e se o filtro de volume de negociação é usado), a estratégia pode ser adaptada a diferentes ambientes de mercado e preferências de risco dos comerciantes. Isso torna a estratégia adequada tanto para mercados com muita volatilidade quanto para mercados relativamente estáveis.
Integração de Gestão de RiscosA estratégia tem um mecanismo de stop loss e de parada automático, que muitas estratégias básicas não possuem. Isso garante que cada negociação tenha um objetivo de risco e retorno predefinido, evitando que decisões emocionais influenciem os resultados da negociação.
Sinais de negociação visuaisA estratégia mostra os sinais de negociação de forma intuitiva no gráfico, permitindo que os comerciantes identifiquem facilmente os pontos de entrada e saída, ajudando a avaliar e ajustar a estratégia.
Código simples e eficienteA estrutura do código da estratégia é clara, logicamente modular e fácil de entender e modificar. Isso permite que até mesmo os comerciantes com experiência de programação limitada possam entender como a estratégia funciona e ajustá-la de acordo com suas necessidades.
Ampliação da aplicabilidadeA estratégia é aplicável a uma variedade de transações, incluindo futuros e ações, sem necessidade de ajustes específicos para um determinado mercado. Esta universalidade permite que a estratégia mantenha um desempenho relativamente estável em diferentes ambientes de mercado.
Falso sinal de cruzamentoA estratégia de cruzamento de EMA pode produzir vários falsos sinais de cruzamento em mercados horizontais ou flutuantes, resultando em negociações consecutivas com prejuízos. Embora a CPR e o filtro de volume de negociação ajudem a reduzir esses falsos sinais, isso ainda é um risco significativo em mercados que não possuem uma tendência clara. A solução é suspender a negociação em mercados horizontais ou adicionar indicadores adicionais de confirmação de tendência.
Limitação do stop loss fixoUma estratégia é usar um stop-loss percentual fixo baseado no preço de entrada, o que pode não ser adequado para todos os cenários de mercado e condições de flutuação. Em mercados de alta volatilidade, o stop-loss percentual fixo pode ser muito apertado; em mercados de baixa volatilidade, pode ser muito relaxado. Uma possível solução é usar um stop-loss dinâmico baseado no ATR (Average True Range) para se adaptar melhor à volatilidade do mercado.
Ponto de deslizamento e risco de execuçãoA estratégia assume que todas as ordens podem ser executadas ao preço designado, mas pode haver deslizamentos e atrasos de execução na negociação real, especialmente em mercados com liquidez limitada. Isso pode levar a resultados de negociação reais diferentes dos resultados da retrospectiva. Para reduzir esse risco, pode-se usar configurações conservadoras na negociação real, como aumentar o limite de perda ou reduzir o tamanho da posição.
Parâmetros de otimização excessivaO desempenho da estratégia depende fortemente dos parâmetros escolhidos (duração EMA, percentual de stop loss / stop loss, etc.). Parâmetros de otimização excessiva podem levar a um bom desempenho no retestamento, mas um mau desempenho na negociação real. A solução é usar um ciclo de retestamento mais longo e testar a robustez da estratégia em várias condições de mercado.
Limitações da CPR em linha retaUma possível solução é ajustar o ciclo de cálculo do CPR de acordo com o período de tempo usado.
Falso sinal de volume de transaçãoA simples condição de que o volume de transações seja superior à média de 20 dias pode não ser suficiente para determinar com precisão a atividade do mercado. Alguns dias de negociação anormais podem apresentar surtos de volume, mas não representam uma verdadeira confirmação de tendência. Pode-se considerar a adição de análises de volume de transações mais complexas, como tendências de volume de transações ou taxa de variação relativa de volume de transações.
Melhorar a identificação de tendênciasA estratégia atual baseia-se principalmente na identificação de tendências cruzadas da EMA. Pode-se considerar a adição de indicadores de tendência adicionais, como o ADX (indice de direção média), para garantir que as negociações sejam feitas apenas em mercados de forte tendência. Isso ajudará a filtrar os falsos sinais nos mercados de diagonal, aumentando a qualidade das negociações em vez da quantidade.
Paragem dinâmica e paradaPor exemplo, pode-se definir o stop loss em 2x o ATR e o stop loss em 4x o ATR, para manter o mesmo risco de retorno, mas melhor adaptado às condições do mercado.
Análise de volume de transaçõesO filtro de volume de transação pode ser melhorado para que ele considere não apenas o tamanho do volume de transação, mas também a tendência do volume de transação e a relação preço-volume de transação. Por exemplo, é possível adicionar condições que exigem que o aumento do volume de transação esteja de acordo com a direção do movimento dos preços, ou usar indicadores de volume de transação mais complexos, como o OBV.
Otimização do tempo de entradaA estratégia atual é entrar de imediato quando ocorre um cruzamento. Pode-se considerar o aumento de condições de confirmação, como esperar o retorno do preço para o ponto de suporte/resistência crítico ou esperar por 1-2 ciclos de confirmação para reduzir o risco de uma falsa ruptura. Isso pode ser feito adiando o sinal de entrada ou adicionando uma confirmação de padrão de preço.
Adição de filtros de mercadoPode-se adicionar a lógica de julgamento do mercado, por exemplo, através de indicadores de volatilidade (como o VIX ou o ATR) para julgar o estado atual do mercado e usar diferentes configurações de parâmetros ou até mesmo suspender a negociação em diferentes ambientes de mercado. Por exemplo, em mercados altamente voláteis, pode ser necessário um stop loss mais amplo e um tamanho de posição mais conservador.
Falta de volume de transações simuladasPara aumentar a aplicabilidade da estratégia em mercados sem dados de volume de transação ou onde os dados de volume de transação não são confiáveis, uma versão alternativa pode ser desenvolvida sem a necessidade de volume de transação, por exemplo, usando um intervalo de flutuação de preços ou outros indicadores técnicos em vez de confirmação de volume de transação.
Aumentar o filtro de tempoConsidere a adição de filtros de tempo, evitando a negociação em períodos de alta volatilidade antes e depois do fechamento do mercado, ou evitando a publicação de dados econômicos importantes. Isso pode ser feito examinando o horário de negociação atual e configurando uma janela de tempo que permita a negociação.
Esta estratégia de negociação baseada em EMA crossover, CPR e filtragem de volume de negociação oferece uma estrutura de sistema de negociação integrada, combinando acompanhamento de tendências, confirmação de nível de preço e verificação de volume de negociação, além de funções de gerenciamento de risco embutidas. O principal benefício da estratégia reside em seu mecanismo de confirmação múltipla e configuração automática de stop loss / stop, o que ajuda a aumentar a confiabilidade e a disciplina das negociações.
No entanto, como todas as estratégias de negociação, ele também enfrenta alguns desafios, como o risco de falsos sinais e as limitações dos parâmetros fixos. A robustez e adaptabilidade da estratégia podem ser aumentadas ainda mais com as orientações de otimização apresentadas acima, especialmente com a melhoria da identificação de tendências, o ajuste de stop loss / stop loss dinâmico e o aumento da filtragem do ambiente de mercado.
Para os traders, a estratégia oferece um bom ponto de partida, com ajustes personalizados de acordo com o estilo de negociação pessoal e as preferências do mercado. O mais importante é que, independentemente de como a estratégia seja modificada, deve-se sempre manter um bom princípio de gerenciamento de risco, evitar parâmetros de otimização excessiva e fazer um bom feedback e verificação de transações em simulação antes de negociar em real.
/*backtest
start: 2024-05-20 00:00:00
end: 2025-05-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDC"}]
*/
//@version=6
strategy("Backtest: EMA + CPR + Volume + SL/Target", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=1)
// === INPUTS === //
emaFastLen = input.int(20, title="Fast EMA (20)")
emaSlowLen = input.int(50, title="Slow EMA (50)")
showCPR = input.bool(true, title="Show CPR?")
slPct = input.float(1.5, title="Stop Loss %") / 100
tpPct = input.float(3.0, title="Target %") / 100
useVolume = input.bool(true, title="Use Volume Filter?")
// === EMAs === //
emaFast = ta.ema(close, emaFastLen)
emaSlow = ta.ema(close, emaSlowLen)
bullishCross = ta.crossover(emaFast, emaSlow)
bearishCross = ta.crossunder(emaFast, emaSlow)
plot(emaFast, color=color.orange, title="EMA 20")
plot(emaSlow, color=color.blue, title="EMA 50")
// === CPR === //
prevHigh = request.security(syminfo.tickerid, "D", high[1])
prevLow = request.security(syminfo.tickerid, "D", low[1])
prevClose = request.security(syminfo.tickerid, "D", close[1])
pivot = (prevHigh + prevLow + prevClose) / 3
bc = (prevHigh + prevLow) / 2
tc = (pivot * 2) - bc
plot(showCPR ? pivot : na, color=color.gray, title="Pivot")
plot(showCPR ? bc : na, color=color.gray, title="CPR BC")
plot(showCPR ? tc : na, color=color.gray, title="CPR TC")
// === Volume Filter === //
volOK = not useVolume or (volume > ta.sma(volume, 20))
// === BUY / SELL CONDITIONS === //
longCondition = bullishCross and close > pivot and volOK
shortCondition = bearishCross and close < pivot and volOK
// === TRADE EXECUTION === //
if (longCondition)
strategy.entry("BUY", strategy.long)
strategy.exit("TP/SL", from_entry="BUY", stop=close * (1 - slPct), limit=close * (1 + tpPct))
if (shortCondition)
strategy.entry("SELL", strategy.short)
strategy.exit("TP/SL", from_entry="SELL", stop=close * (1 + slPct), limit=close * (1 - tpPct))
// === VISUAL SIGNALS === //
plotshape(longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")