
Visão geral
Esta é uma estratégia de negociação baseada no princípio da regressão da média, que utiliza o desvio significativo entre o preço e a média móvel do índice de 50 ciclos (EMA) para determinar a oportunidade de negociação. A estratégia é projetada especificamente para mercados altamente voláteis, com o objetivo de lucrar com a compra de preços significativamente abaixo do fundo da EMA e a venda quando o preço retorna para a EMA. A estratégia segue principalmente a diferença percentual entre o preço e a EMA, que aciona um sinal de negociação quando essa diferença ultrapassa um determinado limiar.
Princípio da estratégia
A lógica central da estratégia baseia-se na teoria da regressão da média, que é que o preço pode se desviar da sua média no curto prazo, mas tende a regressar à média no longo prazo. Concretamente, a estratégia usa a média de 50 ciclos de EMA como referência de preço, quando o preço é significativamente inferior à média (mais de 10%), é considerado uma oportunidade de compra; quando o preço retorna para a EMA acima e é rentável, o sinal de venda é acionado.
- Usando o EMA de 50 ciclos como referência
- Calcule o percentual de desvio entre o preço e a EMA:
diff_perct = ((ema20 - close) / ema20) * 100
- Calcule o percentual de desvio entre o preço máximo e a EMA:
diff_perct2 = ((high - ema20) / ema20) * 100
- Quando
diff_perct > 10Quando o preço é mais de 10% abaixo do EMA, o sinal de compra é acionado.
- Quando
diff_perct2 > 0(ou seja, o preço mais alto acima da EMA) e o lucro de negociação atual é maior que 1, o sinal de venda é acionado
Vantagens estratégicas
- Condições de admissão clarasA estratégia estabelece um desvio de preço específico do limiar (<10%), fornece um sinal de entrada claro e reduz a interferência com o julgamento subjetivo.
- Aproveitar a reação excessiva do mercadoA estratégia visa capturar oportunidades de excesso de pânico ou queda no mercado, quando os preços dos ativos costumam ser subestimados.
- Execução automáticaA estratégia é totalmente automatizada, sem interrupções em tempo real, reduzindo a interferência emocional.
- Gerenciamento de fundos com flexibilidadeA estratégia é usar a distribuição de dinheiro em vez de unidades fixas, o que torna o uso de fundos mais flexível.
- Simples e fácil de entender.A lógica da estratégia é simples, fácil de entender e ajustar, em comparação com uma estratégia multi-indicador complexa.
- Controle de RiscoA ideia é que os investidores devem ter uma estratégia de venda de ações e não uma estratégia de venda de ações, que só pode ser desencadeada quando há lucro, para ajudar a proteger os lucros já obtidos.
Risco estratégico
- Risco de tendênciaEm uma forte tendência de queda, o preço pode continuar a se desviar da EMA e não retornar, causando um fenômeno de “recuperação de facas”, causando perdas contínuas.
- Sensibilidade do parâmetroO limiar de desvio de 10% pode não ser aplicável a todas as condições de mercado, pode ser difícil de ser acionado em ambientes de baixa volatilidade e pode ser negociado com demasiada frequência em ambientes de alta volatilidade.
- Falta de mecanismos de contençãoO código não tem uma definição clara de stop loss, o que pode levar a grandes perdas se o mercado continuar a piorar.
- Dependendo da precisão da EMAA estratégia assume que a EMA é uma referência efetiva ao valor médio dos preços, mas isso pode não ser válido em certas condições de mercado.
- Risco de liquidezEm mercados com pouca liquidez, as ordens de compra ou venda podem correr o risco de serem desviadas ou não executadas completamente.
- Margem de lucro fixa: A margem de lucro é definida como um valor fixo de 1, sem considerar o ajuste de adaptabilidade em diferentes taxas de flutuação do mercado.
Direção de otimização
- Desvio do limiarA mudança de um limite de desvio fixo de 10% para um limite de desvio dinâmico baseado na volatilidade recente, por exemplo, usando o indicador ATR (Average True Range) para ajustar as condições de entrada.
- Aumentar o mecanismo de suspensão de perdasIntrodução de condições de parada baseadas em tempo ou preço, como o estabelecimento de um tempo máximo de detenção de posição ou o máximo percentual de perda permitido.
- Confirmação de múltiplos períodosA análise de tendências em combinação com períodos mais longos (como a linha do sol ou a linha do círculo) evita entrar em jogo quando a tendência principal se inverte.
- Construção em lote e liquidaçãoA realização de compras e vendas por lotes, em vez de estabelecer ou liquidar todas as posições de uma só vez, para dispersar o risco.
- Adicionar condições de filtragem: Adicionar indicadores técnicos adicionais (como RSI ou MACD) como condições de filtragem para melhorar a qualidade do sinal de negociação.
- Adaptação ao ciclo EMATente usar um ciclo de EMA adaptável em vez de um ciclo fixo de 50, para que a estratégia seja mais adaptável às condições de mercado em mudança.
- Optimização de detecçãoO principal objetivo do estudo é o de identificar as melhores combinações de parâmetros para os diferentes ciclos e condições de mercado.
Resumir
A estratégia de retorno do EMA de 50 ciclos é um sistema de negociação automatizado baseado em análise técnica que busca oportunidades de negociação por meio da captura de preços e desvios significativos da linha média. A estratégia é simples e intuitiva, adequada para ambientes de mercado mais voláteis, mas também apresenta riscos, especialmente em mercados de forte tendência.
Código-fonte da estratégia
/*backtest
start: 2024-03-26 00:00:00
end: 2025-03-25 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("SUIBTC 2H - EMA dip public",overlay=true,initial_capital=100,default_qty_value=100, default_qty_type = strategy.cash,process_orders_on_close=false,calc_on_every_tick=false)
BuyTrigger = input.bool(false)
SellTrigger = input.bool(false)
src = input(open, title="Source")
offset = input.int(title="Offset", defval=5, minval=-500, maxval=500)
ema20 = ta.ema(close, 50)
plot(ema20, title="ema20", color=color.yellow, linewidth=3)
diff_perct = ((ema20 - close) / ema20) * 100
diff_perct2 = ((high - ema20) / ema20) * 100
if ( diff_perct > 10)
BuyTrigger := true
if( diff_perct2 > 0 and strategy.openprofit > 1)
SellTrigger := true
notInTrade = strategy.position_size <= 0
inTrade = strategy.position_size > 0
timeSinceLastTrade_ms = time - strategy.opentrades.entry_time(0)
if (BuyTrigger and notInTrade )
strategy.order("long", strategy.long , oca_name = 'audusdt' , when = BuyTrigger ,limit = open, comment = "buy: SUIBTC EMA Dip")
if (SellTrigger and inTrade )
strategy.close(id="long" , qty_percent = 100, comment = "sell: SUIBTC EMA Dip")