Conta demo e backtest não refletem o resultado do spread dolar futuro bovespa

Para adicionar comentários, por favor Faça o login ou registrar
Vanderley Santana De Medeiros
195
Vanderley Santana De Medeiros  

Fala pessoal, tudo bem?

Tenho tido alguns problemas com EAs que desenvolvo, em relação ao spread do dolar futuro (DOL e WDO) na BOVESPA, quando faço backtestes e coloco pra rodar em conta demo, os resultados sempre são maravilhosos, mas percebi que o MT5 não contabiliza o spread se eu comprar e vender um contrato no mesmo preço, ou seja, se eu compro um contrato de mini dolar WDO a 3100,0 e vende-lo no mesmo preço, no mesmo momento, levando em conta que o spread mínimo é 1 tick, ele deveria me retornar a venda a 3199,5 , com um tick negativo, mas isso não acontece me retornando zerado. Testei em outras plataformas nacionais que oferecem conta demo e todas retornam o valor de 1 tick negativo se eu comprar e vender no mesmo momento, que é o correto. Isso dá uma diferença astronômica nos backtests e na execução do EA na conta demo. 

Minha dúvida:

Eu consigo contornar essa "falha" no MT5? Como?

Obrigado.

Thiago Ferreira
2018
Thiago Ferreira  

Interessante questão.

Também criei um EA uma vez com resultados maravilhosos na conta demo, mas na conta real foi um desastre devido ao spread. Você me deu uma idéia de adicionar o valor do spread descontado manualmente pelo valor que eu escrever no parâmetro externo do EA, dou esta sugestão para vc também. Se bem que ultimamente tenho feito EAs que não são scalpers para tentar contornar esta falha, que agora vejo que mesmo assim na conta real será levado em consideração.

Se eu entendi corretamente, no mercado real sempre que adicionar uma ordem pendente ou compra a mercado, sempre irá comprar pelo preço de Ask, e vice-versa no caso de venda pelo preço de Bid, sempre descontando automaticamente o spread.

Teria também a alternativa de fazer backtestes em tick real, mas devido as falhas de dados históricos para este tipo de teste, eu não recomendo no momento. Talvez por curiosidade seria legal tentar.

Vanderley Santana De Medeiros
195
Vanderley Santana De Medeiros  

Realmente Thiago, 

boa ideia, vou tentar descontar o valor do spread já na entrada, pelo menos no EA de teste, retirando depois essa "gambiarra" da versão pra conta real. 


Outra coisa que sinto diferença enorme é na liquidez, na demo uma ordem pendente entra com muita facilidade durante o dia todo, mas na real, há momentos que toca o preço diversas vezes e não pega a ordem. 

Você tem ideia se há como atrasar, de alguma forma, a execução de ordens pendentes?


de qualquer forma já valeu pela dica do seu comentário.

Rodrigo Malacarne
Moderador
8087
Rodrigo Malacarne  
Vanderley Santana:

Realmente Thiago, 

boa ideia, vou tentar descontar o valor do spread já na entrada, pelo menos no EA de teste, retirando depois essa "gambiarra" da versão pra conta real. 

Outra coisa que sinto diferença enorme é na liquidez, na demo uma ordem pendente entra com muita facilidade durante o dia todo, mas na real, há momentos que toca o preço diversas vezes e não pega a ordem. 

Você tem ideia se há como atrasar, de alguma forma, a execução de ordens pendentes?

de qualquer forma já valeu pela dica do seu comentário.

Olá Vanderley Santana,

Existe um parâmetro no Strategy Tester chamado "execução", onde você pode simular latência em ordens a mercado. Entretanto, não é possível simular "fila" de ordens limite no book de ofertas.

Essa é, infelizmente, uma limitação do MetaTrader 5, como o conhecemos hoje.

Talvez fosse possível implementar isso via programação. Mas perceba que essa seria uma solução a ser implementada pelo desenvolvedor, ao invés de ser nativa da plataforma.

Abraços,
Malacarne

Vanderley Santana De Medeiros
195
Vanderley Santana De Medeiros  
Rodrigo Malacarne:

Olá Vanderley Santana,

Existe um parâmetro no Strategy Tester chamado "execução", onde você pode simular latência em ordens a mercado. Entretanto, não é possível simular "fila" de ordens limite no book de ofertas.

Essa é, infelizmente, uma limitação do MetaTrader 5, como o conhecemos hoje.

Talvez fosse possível implementar isso via programação. Mas perceba que essa seria uma solução a ser implementada pelo desenvolvedor, ao invés de ser nativa da plataforma.

Abraços,
Malacarne


Bom dia Malacarne,

Eu até tentei usar o simulador de latência tbm, mas é a liquidez quase instantânea que tá pegando, diferente do mercado real que pode te deixar pendurado no preço. Mas estou estudando uma forma de lidar com isso e se conseguir alguma solução postarei aqui pra tentar ajudar outros colegas que podem ter o mesmo problema, 

vlw, abraço.

Para adicionar comentários, por favor Faça o login ou registrar