Muito legal sua abordagem.
É verdade figurelli. Eu como exemplo tenho um EA que me fez milhões, testei em 2 plataformas diferentes MT5, com 100% de qualidade dos dados, e pela [Editado pelo Moderador] com 98%, fiz backtests e testes para frente, mas quando coloquei na real os resultados foram diferentes, contrário do que eu imaginava. Talvez porque o MT5 não processa os Gb. com todos os dados tick by tick, conforme você nos disse. Pode ter sido também um overfit (acho que é assim que se escreve), que pode causar. Mas como nos testes para frente continuou com uma lucratividade excelente, acredito que não seja isso.
Depois disso, não parei de criar EAs baseados em meus estudos, mas não um com a mesma lucratividade deste meu anterior e com drawndown baixíssimo.
É verdade figurelli. Eu como exemplo tenho um EA que me fez milhões, testei em 2 plataformas diferentes MT5, com 100% de qualidade dos dados, e pela [Editado pelo Moderador] com 98%, fiz backtests e testes para frente, mas quando coloquei na real os resultados foram diferentes, contrário do que eu imaginava. Talvez porque o MT5 não processa os Gb. com todos os dados tick by tick, conforme você nos disse. Pode ter sido também um overfit (acho que é assim que se escreve), que pode causar. Mas como nos testes para frente continuou com uma lucratividade excelente, acredito que não seja isso.
Depois disso, não parei de criar EAs baseados em meus estudos, mas não um com a mesma lucratividade deste meu anterior e com drawndown baixíssimo.
Olá Thiago, obrigado por compartilhar, teu caso infelizmente não é a exceção, mas a regra. Mas sem dúvida esse é o desafio que equilibra as forças, pois senão os mercados estariam dominados apenas pela questão técnica.
No segmento de finanças quantitativas as portas estão abertas para todas as áreas do conhecimento, e todos profissionais, até mesmo os relacionados aos aspectos mais comportamentais do mercado.
E não parar, ou seja, perseverar, como você bem comenta, também é uma qualidade comportamental fundamental do trader quantitativo.
Muito interessante Figurelli. Esses dias estava testando um robô que achava ser campeão. De janeiro pra cá fez muita grana, mas quando fui rodar somente no mês de abril, ele quebrou.
Hoje em dia há várias configurações de EAs, cada um com sua estratégia. Vejo também que os robôs mais avançados tem diversos parâmetros dentro de uma só. Uma coisa estranha é pensar nesses robôs complexos que, num momento de perda e a outra estratégia é contrária, qual seria a posição dele em relação a isso, digo isso numa que tenha somente dois parâmetros, imagina os que tem cerca de 5 a 10.
Como sou meio japonês meio brazuka estava pensando num método contrário, digo no conceito. Informar o robô de alguma forma para NÂO entrar em determinados momentos.
Seguindo este conceito, tenho conseguido configurar alguns robôs e tenho tido resultados surpreendentes. Falta algumas coisinhas para realizar o teste completo, como não sou programador dificulta.
O negócio é ir trabalhando até achar a receita ideal para o bolo $$$$$.
Muito interessante Figurelli. Esses dias estava testando um robô que achava ser campeão. De janeiro pra cá fez muita grana, mas quando fui rodar somente no mês de abril, ele quebrou.
Hoje em dia há várias configurações de EAs, cada um com sua estratégia. Vejo também que os robôs mais avançados tem diversos parâmetros dentro de uma só. Uma coisa estranha é pensar nesses robôs complexos que, num momento de perda e a outra estratégia é contrária, qual seria a posição dele em relação a isso, digo isso numa que tenha somente dois parâmetros, imagina os que tem cerca de 5 a 10.
Como sou meio japonês meio brazuka estava pensando num método contrário, digo no conceito. Informar o robô de alguma forma para NÂO entrar em determinados momentos.
Seguindo este conceito, tenho conseguido configurar alguns robôs e tenho tido resultados surpreendentes. Falta algumas coisinhas para realizar o teste completo, como não sou programador dificulta.
O negócio é ir trabalhando até achar a receita ideal para o bolo $$$$$.
Para quem envia muitas ordens por dia, sobre o mesmo ativo, recomendo não usar a simulação do MT5!!! (principalmente para quem manda ordens limite (peding orders) para concorrer no order book);
Ela é mais ou menos confiável apenas para algotraders de baixa frequência.
Possui alguns erros metodológicos GRAVÍSSIMOS no que diz respeito a simulação do mercado financeiro. E não são poucos os erros que deixam a desejar na simulação.
Com relação ao back test, que usa candles (OHLC) ou outras formas para simulação, os problemas são ainda maiores. E estratégias de baixa frequência também podem ter diferenças gritantes de performance.
No meu caso que envio muitas ordens, a simulação do MT5 apresenta resultados muito diferentes da realidade, em função de não ter um bom controle sobre a prioridade da minha ordem sobre o book de ofertas.
Alerto a vocês com propriedade, e não como leigo em simulação.
Para aqueles que enviam poucas ordens, e mandam a mercado, o simulador é razoável (em tempo real. o backtest continua a desejar).
O MT5 é uma ótima ferramenta para programadores do ponto de vista de roteamento de ordens. Mas temos que ter muio cuidado com a ilusão dos resultados simulados dele.
Para quem envia muitas ordens por dia, sobre o mesmo ativo, recomendo não usar a simulação do MT5!!! (principalmente para quem manda ordens limite (peding orders) para concorrer no order book);
Ela é mais ou menos confiável apenas para algotraders de baixa frequência.
Possui alguns erros metodológicos GRAVÍSSIMOS no que diz respeito a simulação do mercado financeiro. E não são poucos os erros que deixam a desejar na simulação.
Com relação ao back test, que usa candles (OHLC) ou outras formas para simulação, os problemas são ainda maiores. E estratégias de baixa frequência também podem ter diferenças gritantes de performance.
No meu caso que envio muitas ordens, a simulação do MT5 apresenta resultados muito diferentes da realidade, em função de não ter um bom controle sobre a prioridade da minha ordem sobre o book de ofertas.
Alerto a vocês com propriedade, e não como leigo em simulação.
Para aqueles que enviam poucas ordens, e mandam a mercado, o simulador é razoável (em tempo real. o backtest continua a desejar).
O MT5 é uma ótima ferramenta para programadores do ponto de vista de roteamento de ordens. Mas temos que ter muio cuidado com a ilusão dos resultados simulados dele.
Olá humbertobrandao,
Com relação a esse assunto, por favor dê uma olhada nessas discussões antigas do fórum MQL5 em Português.
Fórum de negociação, sistemas de negociação automatizados e testes de estratégias de negociação
Avaliação de EA's rodando com real-money em comparação aos backtests
Malacarne, 2014.01.27 14:10
Mais um tópico interessante, Rodrigo! Parabéns! Tentarei, rapidamente, externar minha experiência/opinião sobre esse assunto...
Para mim, a principal diferença entre o modo real e o modo de backtest é, justamente, o fato de que esse último não consegue simular com exatidão a realidade... Pelo menos no caso do MT5, o chamado modo "Cada Tick" do backtest não é baseado em ticks reais, mas sim, em ticks simulados, como já bastante discutido nesse tópico. A metodologia de geração dos ticks no Strategy Tester do MT5 pode ser lida nesse artigo, entretanto, apesar de ser uma boa metodologia, a MetaQuotes não abre totalmente os detalhes dessa metodologia.
Ainda com relação às principais diferenças entre os dois modos, o modo "real" de trading conta com outros aspectos que não existem no backtest, como falhas de energia e falhas ou delays na conexão de internet, entre outros exemplos... No caso de pings de conexão muito altos, corre-se atualmente um sério risco de duplicidade de ordens no MT5, como discutido nesse tópico do fórum em inglês.
A sua pergunta "o que é possível fazer para ajustá-los?" é muito interessante... pelo menos no meu caso, eu costumo usar dentro de OnTimer( ) alguns parâmetros de verificação de erros, como por exemplo o, cancelar o EA (assim como todas as ordens pendentes caso não haja posição) quando ordens em duplicidade forem identificadas... outro exemplo: cancelar o EA (ou emitir um alerta) quando a velocidade de execução das ordens for superior a "x" segundos... enfim, existem "n" checagens altamente relevantes que devem ser feitas quando um EA "black box" for colocado pra rodar... se o EA for um "gray box" é o próprio ser humano quem faz essas checagens... mas no caso de black boxes todas as checagens possíveis devem ser feitas dentro do próprio código... por isso mesmo o EA é chamado de "black box"... :-)
Por fim, as duas variáveis que mais impactam a performance de um EA rodando em modo real são: 1) problemas de conexão (latência ou interrupção) e 2) liquidez do ativo onde o EA está sendo rodado, caso os parâmetros do EA estejam dentro de OnTick()... Logo, um baixo número de trades, pelo menos na minha opinião, implica sim num risco maior para o EA... Interessante notar que uma liquidez muito alta também impacta o EA, caso não sejam implementados filtros para resolver o problema de ordens enviadas em duplicidade.
Espero ter ajudado. Abraços,
Malacarne
Olá humbertobrandao,
Com relação a esse assunto, por favor dê uma olhada nessas discussões antigas do fórum MQL5 em Português.
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Mas meu modelo era probabilístico?