A diferença entre um backtest e negociação ao vivo é que nada dá errado em um backtest. Se uma estratégia negociada corretamente para EURUSD em 2011 ontem, você sabe que o mesmo teste funcionará corretamente hoje.
O backtester não é projetado nem é capaz de capturar os tipos de problemas que ocorrem em negociação ao vivo. Fiz um esforço para a lista de problemas comuns de plataforma e para detalhar as soluções mais comuns.
MetaTrader
A maioria dos EAs mais velhos anexado paradas ou dar lucros aos seus pedidos. As regras da NFA de todo 2009 exigir que todos os negócios estrangeiros de entrar sem quaisquer condições de saída ligados.
A regra criou um pesadelo para os norte-americanos corretores MT4. Eles foram forçados a voltar, modificar MetaTrader e desautorizar bilhetes com uma parar ou limitar.
A solução é confirmar a execução correta de um comércio. Uma vez que a troca entram, só então deve a tentativa consultor especialista para adicionar a paragem ou ter lucro.
A regra é lamentável, uma vez que requer tempo de comunicação adicional. O processo fica mais lento de execução de ordens, o que pode fazer com que o contexto do comércio está ocupado erro.
Nosso modelo de Programação Expert Advisor
O Kamal. pediu na sexta-feira sobre a palavras RetryCount e RETRYDELAY em nosso código do modelo EA. Aqueles 2 palavras são fundamentais para a manutenção de código que lida com todas as situações possíveis, ou pelo menos 99.9% deles.
Nós configurá-los por padrão para 10 tentativas e 1,000 milissegundos, respectivamente. Ou seja, uma ordem tentará encomendar até 10 momentos distintos. Cada tentativa de se esperar, pelo menos, 1,000 milissegundos (1 segundo) antes de fazer uma nova tentativa.
Entre as tentativas, Também verifique se o contexto do comércio está ocupado. Se não estiver, em seguida, procedemos. Caso Contrário, o código aguarda a oportunidade de apresentar a nova ordem até o máximo especificado.
A mesma lógica se espera o anúncio de repetição também se aplica à apresentação de parar as perdas e ter lucros. Um dos eventos do mundo real mais terríveis que um profissional pode descobrir é um comércio aberto e sem condições de saída ligados. Essas coisas realmente acontecem.
A mesma lógica de repetição está no lugar em nosso código de modelo para reduzir drasticamente a chance de que ocorra. Fazemos isso para cada conselheiro perito que nós programamos. Se você tem um consultor especialista que não inclui lógica de repetição, em seguida, entre em contato conosco sobre como fazer seu código-fonte da EA mais robusto.
NinjaTrader
NinjaTrader lida em grande parte erros e problemas para o programador. Contudo, há situações comuns em que a solução de NinjaTrader frustra o usuário. A desativação estratégias e fechar todas as negociações sempre que um encher em demasia ocorre nos vem à mente.
Qualquer coisa, mas as estratégias de negociação mais simples são melhor tratadas através de um abordagem não gerenciado. Abordagens gerenciados usando os pedidos pendentes serão quase sempre criar uma necessidade para reescrever uma estratégia.
Uma das razões mais comuns usuários NinjaTrader nós contrato enquadra-se algo vai mal com a sua negociação ao vivo. A melhor maneira de evitar a programação algo duas vezes é fazer o código pronto para negociação no mundo real na primeira tentativa.