Visão geral
O sistema de negociação de movimentos de cruzamento de dupla equilíbrio é uma estratégia de negociação baseada em movimentos, que usa o clássico cruzamento de 8/21 de médias móveis do índice (EMA) para identificar uma reversão de tendência e gerar um sinal de negociação multi-espaço. A estratégia inclui parâmetros de parada e parada que geram automaticamente o risco e bloqueiam os lucros. A lógica central da estratégia é fazer um sinal múltiplo quando o EMA de 8 ciclos sobe através do EMA de 21 ciclos (EMA) e fazer um sinal de vazio quando o EMA de 8 ciclos desce através do EMA de 21 ciclos (EMA). Cada posição é automaticamente retirada quando o parâmetro de parada predefinido é atingido (definido como o percentual de ganho após a entrada) ou o stop loss (definido como o percentual de perda após a entrada).
Princípio da estratégia
O princípio central da estratégia é baseado na relação cruzada entre as médias móveis indexadas de dois períodos diferentes para determinar a direção da mudança na tendência do mercado. A estratégia é implementada principalmente através das seguintes partes-chave:
-
Cálculo do indicador:
- O EMA de curto período (de 8 ciclos) é calculado:
shortEma = ta.ema(close, shortEmaLength) - A EMA de longo período (de 21 ciclos) é calculada:
longEma = ta.ema(close, longEmaLength)
- O EMA de curto período (de 8 ciclos) é calculado:
-
Condições de transação:
- São várias as condições:
longCondition = ta.crossover(shortEma, longEma) - Condições de vaga:
shortCondition = ta.crossunder(shortEma, longEma)
- São várias as condições:
-
Gestão de Riscos:
- Calculação dinâmica do nível de stop loss baseado em percentagem
- Faça mais parafusos:
longTakeProfit = close * (1 + takeProfitPerc / 100) - O que você pode fazer?
longStopLoss = close * (1 - stopLossPerc / 100) - O que é isso?
shortTakeProfit = close * (1 - takeProfitPerc / 100) - Cancelamento de perdas:
shortStopLoss = close * (1 + stopLossPerc / 100)
-
Execução da transação:
- A estratégia para verificar se há uma posição aberta:
noOpenPosition = strategy.position_size == 0 - O novo sinal de negociação só será executado se não houver uma posição aberta.
- A entrada e a saída de um parâmetro
- A estratégia para verificar se há uma posição aberta:
Este design garante que a estratégia possa capturar oportunidades rapidamente quando a tendência muda, enquanto protege os fundos com parâmetros de risco predefinidos.
Vantagens estratégicas
Ao analisar o código em profundidade, a estratégia tem as seguintes vantagens significativas:
-
Identificação de tendências simples e eficazesO cruzamento da EMA 8/21 é um método de identificação de tendências amplamente comprovado e capaz de capturar eficazmente as mudanças na dinâmica do mercado.
-
Gerenciamento de riscos completoO mecanismo de parada e parada de perda incorporado protege automaticamente o capital e bloqueia os lucros, reduzindo significativamente o risco de negociação emocional.
-
Configuração de parâmetros flexívelOs usuários podem ajustar a duração do ciclo EMA, a parada e a porcentagem de perda de acordo com diferentes mercados e preferências de risco pessoais.
-
Capacidade de negociação bidirecionalA estratégia é apoiada por over and under, que permite encontrar oportunidades em diversos cenários de mercado.
-
Evitar transações duplicadasA estratégia é projetada para garantir que nenhuma nova transação seja aberta antes que uma transação seja totalmente fechada, evitando o risco de sobre-transação e dispersão de fundos.
-
Visualização clara: permite aos traders entender intuitivamente o estado de operação da estratégia através do traçado de linhas EMA e sinais de negociação.
-
Ampliação da aplicabilidadeA estratégia é compatível com várias variedades de negociação e períodos de tempo, incluindo criptomoedas, divisas, ações e índices.
Risco estratégico
Apesar do bom desenho da estratégia, existem os seguintes riscos potenciais:
-
Mercado horizontal não está indo bemEm mercados de turbulência sem uma clara tendência, os sinais de cruzamento do EMA podem ocorrer com frequência, resultando em várias paradas de perda.
-
Limitação de percentual fixo de stop lossA volatilidade varia consideravelmente de acordo com os mercados e períodos de tempo, e uma percentagem fixa de stop loss pode não ser adequada para todas as situações.
-
Ponto de deslizamento e risco de execuçãoNo caso de negociações em ações, pode não ser possível executar ordens exatamente de acordo com os preços gerados pela estratégia, especialmente em mercados com pouca liquidez.
-
Dependência excessiva em dados históricosOs parâmetros da estratégia foram baseados em dados históricos, mas o comportamento do mercado pode mudar no futuro.
-
Dependência de um único indicadorA estratégia depende apenas do cruzamento EMA, sem o uso de indicadores auxiliares para confirmar o sinal, o que pode levar a um sinal errado.
Para mitigar esses riscos, recomenda-se:
- Re-análise completa em diferentes condições de mercado
- Parâmetros de stop-loss ajustados à volatilidade de um determinado ativo
- Considere adicionar filtros de negociação para reduzir os falsos sinais em mercados de turbulência
- Usar uma menor escala de posições para gerenciar o risco global
Direção de otimização da estratégia
Depois de analisar o código, aqui estão os possíveis direções de otimização:
-
Adicionar filtro de tendênciaIntrodução de indicadores adicionais (como o ADX) para confirmar se o mercado está em uma tendência e negociar apenas em um ambiente de forte tendência.
adxLength = input.int(14, title="ADX Length") adxThreshold = input.int(25, title="ADX Threshold") adxValue = ta.adx(high, low, close, adxLength) isTrending = adxValue > adxThreshold -
Paragem dinâmicaO nível de stop loss é ajustado dinamicamente com base na volatilidade do mercado (como o ATR), em vez de uma porcentagem fixa.
atrPeriod = input.int(14, title="ATR Period") atrMultiplierSL = input.float(2.0, title="ATR Multiplier for Stop Loss") atrMultiplierTP = input.float(3.0, title="ATR Multiplier for Take Profit") atrValue = ta.atr(atrPeriod) dynamicStopLoss = atrValue * atrMultiplierSL dynamicTakeProfit = atrValue * atrMultiplierTP -
Adicionado filtro de tempo de negociaçãoEvite negociar em períodos de alta volatilidade durante os períodos de abertura e fechamento do mercado.
-
Mecanismo de bloqueio parcial de lucrosQuando o negócio atinge um determinado nível de lucro, o stop loss é movido para o preço de custo ou para um lucro de bloqueio parcial.
-
Aumentar o volume de transações confirmadasA EMA só executa transações quando o volume de transações aumenta, em combinação com o indicador de volume de transações.
volumeCondition = volume > ta.sma(volume, 20) * 1.2 validLongCondition = longCondition and volumeCondition -
Otimização do tempo de entradaConsidere a possibilidade de usar o reajuste de preços para a linha média como um ponto de entrada mais favorável do que apenas um sinal de cruzamento.
Essas orientações de otimização podem não apenas aumentar a robustez da estratégia, mas também adaptá-la a diferentes cenários de mercado, aumentando a lucratividade geral e reduzindo o risco.
Resumir
O sistema de negociação de tração de cruzamento de dupla linha uniforme é uma estratégia de negociação estruturada, clara e fácil de entender e implementar. Utiliza sinais de cruzamento de 8/21 EMA para capturar mudanças de tendência no mercado e gerencia automaticamente o risco com parâmetros de parada e perda predefinidos. A estratégia é adequada para várias variedades de negociação e períodos de tempo, especialmente em mercados com tendências evidentes.
A principal vantagem da estratégia reside na sua lógica concisa e no seu mecanismo de gestão de risco completo, o que torna o processo de negociação altamente automatizado e reduz a interferência de fatores emocionais. Ao mesmo tempo, evita o risco de excesso de negociação, ao ser projetado para evitar transações sobrepostas.
No entanto, a estratégia pode ser desafiada em mercados turbulentos, e sua adaptabilidade precisa ser melhorada por meio de medidas de otimização, como a adição de filtros de tendência e stop loss dinâmico. Além disso, a confirmação de volume de negociação e otimizar o tempo de entrada também são meios eficazes para melhorar o desempenho da estratégia.
Em geral, trata-se de uma estratégia que equilibra a simplicidade e a eficácia, sendo adequada como ponto de partida para iniciantes em negociação automatizada, ou como parte do portfólio de investidores experientes. Através de ajustes razoáveis de parâmetros e otimização contínua, a estratégia é capaz de manter um desempenho estável em várias condições de mercado.
/*backtest
start: 2024-07-14 00:00:00
end: 2025-07-12 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":200000}]
*/
//@version=5
strategy("JWs Algo", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === INPUTS ===- 1

