LiuGuanYi
- Experts
-
Bo Wen Che
Sou um trader independente e desenvolvedor de sistemas de negociação algorítmica, com foco principalmente em ouro, Bitcoin, futuros dos Estados Unidos e mercado cambial. - Versão: 35.2
- Ativações: 5
Este não é um EA que exija ajustes complexos de parâmetros. Os parâmetros principais já passaram por uma grande quantidade de testes e foram fixados dentro do programa. Não quero que os utilizadores alterem livremente os parâmetros internos e acabem por executar algo completamente diferente do sistema original.
Na utilização real, basta compreender o tipo de conta, o nível de capital e a direção de negociação. Toda a restante lógica principal é executada automaticamente pelo sistema.
1|Conta real disponível para observação pública https://www.mql5.com/zh/signals/2386318?source=Site+Signals+My
Corretora: EC Markets
Servidor: ECMarkets-MT5-Live01
Conta: 81206286
Senha de investidor: Liuguanyi123@ — antes de publicar, confirme que esta é realmente a senha MT5 somente de leitura
Esta é uma conta real e pode ser utilizada para observar o comportamento efetivo das ordens do EA no mercado real.
2|Utilize uma conta ECN com spread baixo
Este ponto é muito importante.
Os meus principais backtests e o ambiente de execução utilizam uma conta ECN de baixo spread, com spread testado de aproximadamente 5–8 pontos e parâmetro de comissão de 3.
O sistema não foi desenvolvido num ambiente idealizado de spread zero e comissão zero. O spread e a comissão já fazem parte dos custos reais de negociação da estratégia.
No entanto, se utilizar uma conta com spreads significativamente superiores aos do ambiente de teste, slippage anormal ou uma corretora cujas condições diferem muito de um ambiente ECN padrão, tanto a rentabilidade como o comportamento do drawdown serão afetados.
Quanto maiores os custos de negociação, menor o lucro líquido, menor a eficiência do capital e pior poderá ser o comportamento do drawdown.
Portanto, se utilizar uma conta com spread elevado, não espere resultados idênticos aos meus testes.
3|A estratégia não depende de latência ultrabaixa
Esta estratégia não é arbitragem de latência, não depende de atraso nas cotações e não necessita de uma latência de rede extremamente baixa para obter vantagem.
Em testes com diferentes níveis de latência, desde aproximadamente 1 ms até cerca de 500 ms, os resultados gerais não apresentaram diferenças estruturais decisivas.
Por isso, não é necessário comprar um servidor caro de ultrabaixa latência especificamente para este sistema. Um VPS estável comum ou um computador local são suficientes.
Para esta estratégia:
Uma ligação estável é muito mais importante do que perseguir uma latência de 1 ms.
4|Os parâmetros principais estão ocultos
Os parâmetros internos que realmente determinam o comportamento do sistema já foram predefinidos. Não disponibilizei aos utilizadores uma grande quantidade de parâmetros de investigação.
A razão é simples: quando um modelo já testado permite que qualquer pessoa altere livremente os seus limites internos, o resultado deixa de ser a mesma estratégia.
O utilizador só precisa de escolher:
Tipo de conta, nível de capital e direção de negociação.
Todos os outros parâmetros principais são controlados internamente pelo sistema.
Você escolhe o nível de risco; não redesenha a estratégia.
5|O nível de capital determina a intensidade do risco
Se a conta tiver 2.500 USD, a configuração padrão é selecionar o nível de capital de 2.500 USD; uma conta de 5.000 USD utiliza o nível de 5.000 USD; uma conta de 10.000 USD utiliza o nível de 10.000 USD. Também é possível utilizar uma conta cent; aproximadamente 25 USD já são suficientes para iniciar o sistema.
Esta é a forma normal e mais razoável de utilizar o sistema.
Quando comecei a desenvolver esta estratégia, deixava o EA determinar o risco de forma totalmente dinâmica com base no capital total da conta. Depois de muitos testes, percebi que, embora isso pudesse manter o drawdown extremamente baixo, também deixava uma grande parte do capital parada durante longos períodos, reduzindo a eficiência do capital.
Por isso, no final decidi:
Dar ao utilizador o direito de escolher o nível de risco.
O nível de capital não é apenas uma etiqueta do saldo da conta. Na prática, ele determina a intensidade de risco com que o sistema opera.
Se o capital real for igual ao nível selecionado, isso corresponde ao risco padrão. Se o capital real for superior ao nível selecionado, o risco relativo diminui. Se o capital real for inferior ao nível selecionado, o risco relativo aumenta.
6|Se aceitar mais risco, pode escolher um nível de capital superior
Por exemplo, mesmo com apenas 2.500 USD de capital real, é possível utilizar o nível de capital de 5.000 USD.
Isso significa que o sistema irá operar segundo a estrutura de risco concebida para o nível de 5.000 USD.
O resultado é muito claro:
O potencial de retorno aumenta e, ao mesmo tempo, o potencial de drawdown também aumenta.
Isto não é um erro nem uma anomalia. É uma decisão consciente do utilizador de aumentar o nível de risco.
Se não consegue tolerar oscilações maiores no capital, não utilize um nível de capital elevado numa conta pequena.
Retornos mais elevados nunca são gratuitos.
Informações de backtestPeríodo público de backtest:
1 de março de 2024 — 5 de agosto de 2026
O motivo pelo qual o teste começa em 2024 é que, no meu ambiente histórico atual da EC Markets, os dados reais de ticks com qualidade confiável estão disponíveis a partir desse período.
Não vou prolongar artificialmente o backtest misturando dados de diferentes fontes ou utilizando históricos cuja qualidade não possa ser verificada.
Mostro apenas aquilo que realmente pode ser verificado.
Conta de 2.500 USD|Nível de capital de 2.500 USD
Capital inicial: 2.500 USD
Lucro líquido final: 6.603 USD
Retorno líquido: aproximadamente 264%
Capital final: aproximadamente 3,64 vezes o capital inicial
Drawdown máximo a partir do pico de equity: aproximadamente 16%
Valor máximo de drawdown no teste: aproximadamente 1.120 USD
Se compararmos diretamente 1.120 USD com o capital inicial de 2.500 USD, isso equivale a aproximadamente 44,8% do capital inicial.
É importante compreender:
O drawdown máximo a partir do pico de equity e o valor máximo de perda como percentagem do capital inicial não são a mesma métrica estatística.
A estratégia calcula dinamicamente o volume real de negociação de acordo com o nível de capital selecionado. Portanto, se for utilizado mais capital real mantendo o mesmo nível, e a estrutura de lucros permanecer semelhante, a percentagem relativa de drawdown normalmente diminuirá ainda mais.
Conta de 10.000 USD|Nível de capital de 10.000 USD
Capital inicial: 10.000 USD
Lucro líquido final: 26.395 USD
Retorno líquido: aproximadamente 263,95%
Drawdown máximo a partir do pico de equity: aproximadamente 16%
Valor máximo de drawdown no teste: aproximadamente 4.000 USD
Este resultado mostra que, quando o nível de capital é aumentado proporcionalmente, a estrutura geral de risco e retorno do sistema pode permanecer relativamente consistente.
Conta de 2.500 USD|Executando o nível de capital de 5.000 USD
Este é o teste que considero mais importante compreender.
O capital inicial real era apenas:
2.500 USD
Mas o sistema foi executado com:
Nível de capital de 5.000 USD
Lucro líquido final:
13.201 USD
Em relação aos 2.500 USD iniciais:
Retorno líquido: aproximadamente 528%
Drawdown máximo a partir do pico de equity:
Aproximadamente 18%
Valor máximo de drawdown durante o teste:
Aproximadamente 2.240 USD
Isto mostra que um utilizador disposto a aceitar conscientemente mais risco pode alterar o perfil global de risco/retorno da conta selecionando um nível de capital superior.
Mas é necessário reforçar novamente:
Quando o potencial de retorno aumenta, o montante absoluto de capital em risco também aumenta significativamente.
Se não consegue tolerar esse nível de oscilação, não utilize esta configuração.
Os backtests devem utilizar dados reais de ticksEste é um dos pontos mais fáceis de ignorar depois da compra e, ao mesmo tempo, um dos mais importantes.
Não pense que basta clicar no Testador de Estratégias do MT5 para garantir que está a utilizar os ticks reais fornecidos pela corretora.
O MT5 pode gerar ticks sintéticos a partir de velas históricas. Para muitas estratégias comuns de baixa frequência, essa diferença pode não ser significativa.
Mas esta estratégia contém dependência de trajetória, estados de eventos e lógica de sequência de execução. Mesmo que a vela final tenha exatamente a mesma forma, uma sequência de preços intrabar diferente pode ativar um estado interno diferente.
Por isso, para um backtest formal:
Selecione obrigatoriamente “Cada tick baseado em ticks reais” e utilize o histórico real de ticks fornecido pela corretora.
Se utilizar ticks sintéticos:
O retorno do backtest pode ficar significativamente distorcido. A maioria das corretoras não dispõe de históricos reais de ticks muito longos. Por exemplo, no meu ambiente da EC Markets, os ticks reais confiáveis começam apenas em 2024. Outra corretora pode mostrar dados desde 2017, mas os dados mais antigos podem ser apenas velas reconstruídas ou simuladas, e não um histórico real de ticks. Nesse caso, o lucro histórico obtido não deve ser tratado como um resultado autêntico baseado em ticks reais. Esta diferença precisa ser compreendida claramente.
Por que decidi desenvolver este EA por conta própriaTrabalho com trading há seis anos.
Durante esses seis anos, percebi que o meu maior inimigo nunca foi realmente o mercado.
Era eu mesmo.
Quando estou num bom estado mental, consigo executar o trading com muita disciplina. Num dia posso ganhar 200 USD; noutro, talvez 1.000 USD.
O verdadeiro problema não é eu não saber negociar. O problema é:
Depois de ganhar dinheiro, o estado mental da pessoa muda.
Por exemplo, se eu negociar com disciplina este mês e ganhar 5.000 USD, no mês seguinte posso ficar demasiado confiante, relaxado ou até arrogante por causa do lucro do mês anterior.
Depois disso, a qualidade do meu trading diminui e aparecem perdas.
Quando perco, volto a levar tudo a sério. Quando volto a ser disciplinado, volto a ganhar. Depois de ganhar novamente, começo gradualmente a relaxar.
Ao longo dos anos percebi que repetia constantemente o mesmo ciclo:
Disciplina → Lucro → Confiança → Relaxamento → Perda → Disciplina novamente
O que mais me incomodava era saber perfeitamente que:
Quando sigo as regras com rigor, o meu desempenho melhora de forma evidente.
Mas não consigo garantir que as minhas emoções, disciplina e estado mental permaneçam exatamente iguais 365 dias por ano.
Para um ser humano, isso é muito difícil.
Então comecei a pensar:
Se a lógica de negociação pode ser definida, por que não deixar um programa sem emoções executá-la?
Um programa não fica eufórico porque ganhou dinheiro ontem. Não acredita que é invencível depois de uma sequência de ganhos. Não ignora condições porque está de mau humor. E não tenta recuperar tudo imediatamente após uma perda.
Ele simplesmente executa as regras.
Mais tarde, comecei a comprar EAs e estratégias de outros desenvolvedores, na esperança de encontrar um sistema automatizado realmente confiável.
No total, gastei aproximadamente:
3.000 USD
Mas depois de comprar, testar e pesquisar muitos desses produtos, encontrei demasiados problemas neste mercado:
Uso de dados futuros, repainting, substituição de dados históricos, comissões ignoradas, spreads ignorados, slippage ignorado, perdas flutuantes ocultadas, condições diferentes entre backtest e conta real, parâmetros ajustados repetidamente ao passado, seleção apenas dos períodos mais bonitos e curvas de equity demasiado perfeitas para serem realistas.
No fim, cheguei a uma conclusão:
Se continuasse à procura de um suposto EA mágico, poderia passar a vida inteira à procura de algo que talvez não exista.
Então parei de comprar.
Decidi desenvolver o meu próprio sistema.
Foi assim que este EA nasceu.
O seu objetivo original não era criar a curva de backtest mais bonita possível, mas sim:
Transformar algo que normalmente depende da disciplina e do controlo emocional de um trader num sistema automatizado capaz de seguir regras de forma consistente.
Arquitetura quantitativaDo ponto de vista de engenharia, este sistema não segue a estrutura tradicional:
Indicador gera sinal → ordem direta
O verdadeiro processo de decisão aproxima-se mais de:
Reconhecimento do estado do mercado → avaliação estrutural → confirmação do evento → avaliação do risco → verificação da execução
As ordens que finalmente aparecem no gráfico do MT5 são apenas o resultado final depois de o sistema interno de estados passar por várias camadas de restrições.
I|Decomposição multitemporal do espaço de estados
O sistema utiliza uma estrutura de análise de estados em vários períodos, em que diferentes escalas temporais desempenham diferentes funções informativas.
Estrutura direcional, volatilidade local, eventos de mercado, estado das posições e ambiente de execução não são simplesmente somados. São mapeados para diferentes camadas e, em conjunto, determinam se uma operação recebe autorização para ser executada.
Assim, o sistema não produz apenas um sinal de compra ou venda, mas sim:
Um estado de negociação executável que só recebe autoridade de execução após várias camadas de confirmação.
II|Roteamento de estados de mercado com histerese
O estado do mercado não muda instantaneamente de uma condição para outra com base num único limite fixo.
O sistema inclui persistência do estado, confirmação, regras de transição assimétricas e memória de estado, sobretudo para reduzir alternâncias frequentes quando o mercado se encontra próximo de uma zona limite.
Quando um novo ciclo de negociação é estabelecido, determinadas variáveis-chave ficam congeladas.
O mercado pode continuar a mudar, mas o sistema não irá reinterpretar repetidamente uma estrutura de risco já estabelecida devido a algumas oscilações de curto prazo.
III|Estrutura de preços normalizada pela volatilidade
O sistema não utiliza a distância absoluta do preço como medida universal.
O mesmo movimento de 10 USD pode ter um significado completamente diferente num mercado de baixa volatilidade e num mercado de alta volatilidade.
Por isso, deslocamento de preço, distância estrutural, expansão local e limites de risco são avaliados dentro de um espaço normalizado pela volatilidade.
Em outras palavras:
O sistema não mede apenas quanto o preço se moveu, mas quão grande esse movimento é em relação à estrutura atual de volatilidade.
IV|Evolução do estado dependente da trajetória
O preço atual não é a única variável que determina o comportamento do sistema.
O sistema também considera o caminho pelo qual o mercado chegou ao preço atual, além do estado de negociação, estado de risco e estrutura de posições já formados.
Portanto:
Mesmo que o preço volte exatamente ao mesmo nível, o sistema não precisa tomar exatamente a mesma decisão.
A razão é simples:
A trajetória utilizada para chegar a esse preço pode ter sido completamente diferente.
Esta é também a razão pela qual a qualidade dos ticks reais é tão importante para esta estratégia.
V|Orçamento hierárquico de risco
O sistema não gera um sinal e decide imediatamente o tamanho do lote.
Cada novo ciclo de negociação estabelece primeiro um orçamento de risco independente. Depois, o módulo interno de planeamento calcula a estrutura real de exposição com base no espaço de risco ainda disponível.
A hierarquia pode ser entendida assim:
Controlo de risco da conta > Risco do ciclo de negociação > Planeamento de posições > Condições de entrada > Sinal de negociação
Portanto:
O tamanho da posição não é a primeira coisa que o sistema decide. É o resultado final do cálculo completo de risco.
Mesmo que as condições de entrada sejam válidas, o sistema pode rejeitar a execução se o espaço de risco de nível superior for insuficiente.
VI|Estrutura não linear de risco das posições
Quando existem várias posições simultaneamente, o risco total não pode ser entendido simplesmente como a soma direta do risco de cada ordem individual.
Cada nova alteração na exposição modifica a quantidade de risco que o ciclo inteiro ainda pode suportar no futuro.
O risco já utilizado afeta diretamente a possibilidade de adicionar nova exposição mais tarde.
Por isso, o sistema não gere ordens isoladas. Gere:
A estrutura total de risco de todo o ciclo de negociação, que está em constante mudança.
VII|Gestão independente dos estados de compra e venda
Compras e vendas não são simplesmente o mesmo programa com a direção invertida.
As duas direções mantêm de forma independente:
Estado de negociação, estado de risco, memória de execução e estrutura do ciclo.
Ao mesmo tempo, ambas partilham o controlo de risco de capital ao nível da conta.
Do ponto de vista arquitetónico, é mais semelhante a:
Dois motores de estado independentes que partilham uma única camada de controlo de capital da conta.
VIII|Verificação de execução em ciclo fechado
Em muitos EAs tradicionais, o processo principal praticamente termina quando a ordem é enviada com sucesso.
Este sistema funciona de forma diferente.
Depois de enviar a instrução, o sistema continua a verificar:
Estado planeado → Estado real de execução → Estado final verificado
O ciclo de vida da ordem só é considerado válido quando a execução real continua consistente com o estado interno de risco.
Portanto, o sistema controla não apenas:
Se a ordem foi enviada com sucesso
mas também:
Se o resultado real da execução continua de acordo com o modelo interno de risco.
IX|Verificação da integridade do ambiente de negociação
O mercado real não é um ambiente de backtest.
Volume mínimo, passo de volume, valor do tick, tamanho do contrato, restrições de stop, restrições de congelamento, requisitos de margem, spread, slippage e falhas de ordens podem alterar o resultado final.
Estes elementos não fazem parte da lógica direcional da estratégia, mas determinam diretamente se ela pode ser executada no mercado real conforme foi concebida.
Portanto:
O próprio ambiente de execução faz parte do sistema global de risco.
X|Deteção de alterações no estado do contrato
O sistema não assume que o mesmo símbolo de negociação terá sempre exatamente as mesmas condições.
Se a corretora alterar volume mínimo, passo de volume, valor do tick, tamanho do contrato ou restrições de negociação, a base original do cálculo de risco pode deixar de ser válida.
Por isso, o sistema regista os principais atributos de execução do instrumento e monitoriza mudanças críticas nas condições de negociação.
Para um sistema automatizado de risco:
O mesmo nome de símbolo não garante exatamente as mesmas propriedades económicas em todos os momentos.
XI|Controlo de risco em modo “fail-closed”
O sistema utiliza um princípio muito conservador quando lida com estados desconhecidos.
Se a segurança não pode ser verificada, isso não significa que o estado seja seguro.
Se uma proteção crítica não puder ser confirmada, um resultado de execução não puder ser verificado, o ambiente de negociação se tornar anormal ou as condições de risco saírem do intervalo esperado, o sistema prioriza restringir novas posições em vez de adicionar risco desconhecido.
Este é um dos princípios mais importantes de toda a arquitetura.
XII|Reconstrução persistente do estado
Um VPS pode reiniciar. O MT5 pode atualizar. A rede pode cair. O programa pode ser recarregado.
Por isso, o sistema nunca foi concebido com a suposição de que o processo funcionará para sempre sem interrupções.
A duração de um ciclo de negociação e a duração do processo do programa não são a mesma coisa.
O sistema procura preservar e reconstruir os estados de negociação existentes para que, após uma reinicialização, consiga compreender em que fase a conta já se encontra, em vez de tratar todas as posições existentes como um começo totalmente novo.
XIII|O risco de capital da conta tem a autoridade máxima
O sistema possui uma hierarquia clara de autoridade de risco:
Proteção do capital da conta > Risco do ciclo de negociação > Planeamento de posições > Autorização de entrada > Sinal de negociação
Isto significa que até uma oportunidade de negociação totalmente válida pode ser rejeitada se as condições de risco da conta não permitirem assumir essa exposição.
Porque, neste sistema:
O aparecimento de um sinal não significa que a operação tenha de ser executada.
A lógica de negociação identifica possibilidades.
O sistema de risco de capital decide se a conta tem autorização para assumir esse risco.
Definição final do sistemaSe for necessário descrever este sistema em termos de engenharia, ele pode ser entendido como:
Decomposição multitemporal de estados, reconhecimento de regimes com histerese, estrutura de preços normalizada pela volatilidade, evolução de estado dependente da trajetória, orçamento hierárquico de risco, alocação não linear de exposição, gestão independente dos estados de compra/venda, verificação de execução em ciclo fechado, deteção de alterações no ambiente de negociação, recuperação persistente de estado e proteção de capital em modo fail-closed.
O que finalmente aparece no gráfico do MT5 é apenas uma ordem.
O que realmente determina por que essa ordem tem autorização para existir é toda uma estrutura invisível de avaliação de estados e restrições de risco.
Você pode ver onde o sistema negocia.
Mas não pode ver qual estado interno autorizou aquela operação.
Aviso de riscoNenhum EA, programa automatizado de negociação ou sistema quantitativo pode permanecer eficaz para sempre ou garantir lucros.
Backtests históricos não garantem retornos futuros. O desempenho histórico de uma conta real também não garante resultados futuros.
O resultado final pode ser afetado por spread, comissões, slippage, qualidade de execução da corretora, condições de mercado e nível de capital escolhido pelo utilizador.
Divulgo dados históricos para que os utilizadores possam verificar a estratégia por conta própria, e não para afirmar que o futuro repetirá o passado.
Escolha o nível de capital de acordo com a perda que realmente consegue suportar.
Se determinado nível de drawdown puder afetar a sua vida normal, então esse nível de risco não é adequado para si.
