Os problemas de robôs não tem muito a ver com isso. A ilusão existe mas é causada por uma soma de vários fatores. Há maneiras de se programar uma certa margem de erro. (a maioria dos robôs não são programados com essa margem aliás).
Só corrigindo, você inverteu o BID com ASK no seu texto.
BID é o valor mais baixo, melhor oferta de compra, quando vende a mercado você vende o preço BID
ASK é o valor mais alto, melhor oferta de venda, quando compra a mercado você compra o preço ASK
De qualquer forma, a situação que coloquei acima não acontece só comigo, e sim com diversas pessoas. Você é o primeiro que me diz que na demo funciona perfeitamente. Aliás, a primeira vez que ouvi falar sobre isso foi num grupo de telegram sobre robôs, onde a pessoa dizia que era assim que era feito nos backtests. Já desinstalei colocando pra excluir todos os dados, limpei o pc com Ccleaner, Revo Uninstaller, reinstalei várias vezes e nada. Um amigo que me chamou a atenção, pois o EA dele estava sempre saindo 1 centavo de diferença na real em relação à demo, e notei isso no meu também. Aí testei fazer na mão, e aconteceu a mesma coisa. Como faço pra resolver?
Olha o vídeo onde mostro que isso acontece na demo. Já na real isso não acontece:
O vídeo está em uma qualidade que não tem como dar opiniões.
Mas antes de tudo.
Conta DEMO de qual corretora?
Está dentro do horário de negociação com ativo fora do leilão? (o meta trader na conta demo não identifica muito bem os leilões da B3)
Sobre o EA sair com diferença é dificil opinar sem saber a programação do EA. Cada EA é programado de uma maneira.
Você tem razao. Acabei de checar aqui. As corretoras brasileiras estão com algum problema nesse sentido. Pode ser alguma configuração nos servidores DEMO das corretoras.
Eu queria tirar a dúvida do título desse post.
Assim como mostra na imagem em anexo da ação GOAU4, por exemplo:
Compra à mercado ou bid a 8,13
Venda à mercado ou ask 8,12
Na conta real, se eu clico no botão de comprar, ele vai comprar a 8,13 nesse caso, e depois se eu clicar no botão de vender, ele vende a 8,12. Na real está certo.
Bom, mas na demo eu notei que ele compra e vende SOMENTE na BID.
No exemplo acima, eu clicando pra comprar a 8,13, ele compraria a 8,13, mas se eu clicar para vender a 8,12, na demo vende a 8,13. E mesmo se nessa configuração eu entrasse vendido primeiro, ou seja clicasse pra vender a 8,12, ele vende a 8,13. Muito bugado isso.
Só que isso gera uma grande ilusão na hora de testar robôs na demo e no backtest.
Porque razão no MT5 na demo é dessa forma? Que custa programar para comprar na bid e vender na ask?
No Tryd, Profit, na demo funciona perfeitamente como deveria ser. Realmente não entendo o porque dessa falha gravíssima, ao meu ver, do MT5.
Se alguém puder me explicar porque é programado assim, agradeço, pois não consigo encontrar razão alguma para ser dessa forma errada.
O MT5 sempre foi assim. Conta Real é diferente de Conta DEMO ou Backtest, pois nestes ele não respeita Fila no Book de Ofertas.
E, você está confundindo os conceitos de BID e ASK.
;)
Eu queria tirar a dúvida do título desse post.
Assim como mostra na imagem em anexo da ação GOAU4, por exemplo:
Compra à mercado ou bid a 8,13
Venda à mercado ou ask 8,12
Na conta real, se eu clico no botão de comprar, ele vai comprar a 8,13 nesse caso, e depois se eu clicar no botão de vender, ele vende a 8,12. Na real está certo.
Bom, mas na demo eu notei que ele compra e vende SOMENTE na BID.
No exemplo acima, eu clicando pra comprar a 8,13, ele compraria a 8,13, mas se eu clicar para vender a 8,12, na demo vende a 8,13. E mesmo se nessa configuração eu entrasse vendido primeiro, ou seja clicasse pra vender a 8,12, ele vende a 8,13. Muito bugado isso.
Só que isso gera uma grande ilusão na hora de testar robôs na demo e no backtest.
Porque razão no MT5 na demo é dessa forma? Que custa programar para comprar na bid e vender na ask?
No Tryd, Profit, na demo funciona perfeitamente como deveria ser. Realmente não entendo o porque dessa falha gravíssima, ao meu ver, do MT5.
Se alguém puder me explicar porque é programado assim, agradeço, pois não consigo encontrar razão alguma para ser dessa forma errada.
Conta Demo não respeita book. Com isso você não entra na fila e consegue executar volumes surreais. Ele vai te executar todos os lotes que você quer baseado no último valor negociado. Por exemplo, nesse caso de GOAU4 se tiver no bid 8,13 2mil ações e 8,12, 3mil ações e você pendurar um buy limit em 8,12 de 10mil ações, para o metratrader basta sair qualquer negociação no 8,12 (exemplo alguém agredir 100 ações em 8,12) que a conta demora vai dar como executado sua compra de 10mil ações em 8,12. (Sem respeitar filas e volumes).
Quando você quiser zerar a posição a mercado ele vai olhar qual foi o último preço negociado, se a última negociação ocorreu em 8,12, entretanto o book andou para 8,05 e 8,06 quando clicar em zerar ele vai executar em 8,12 todos seus lotes (pode ser 1 milhão de ações), porque foi o último preço negociado.
Logicamente o Metatrader não é melhor programa para simular o mercado, mas entendendo suas limitação é possível utilizá-lo para operações mais demoradas como: position, swing trade e operações de tendência. Porém para quem quer simular operações rápidas como: scalpers e tape reading em que o ask e bid são cruciais para as operações eu recomendaria outro programa de simulador que respeite o book de negociação e suas filas.
O mesmo vale para o cenário de backtesting e otimizações, tenham cuidado com os resultados gerados, em operações rápidas e de TPs curtos. Ocorrem falsos resultados.
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- 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
Eu queria tirar a dúvida do título desse post.
Assim como mostra na imagem em anexo da ação GOAU4, por exemplo:
Compra à mercado ou bid a 8,13
Venda à mercado ou ask 8,12
Na conta real, se eu clico no botão de comprar, ele vai comprar a 8,13 nesse caso, e depois se eu clicar no botão de vender, ele vende a 8,12. Na real está certo.
Bom, mas na demo eu notei que ele compra e vende SOMENTE na BID.
No exemplo acima, eu clicando pra comprar a 8,13, ele compraria a 8,13, mas se eu clicar para vender a 8,12, na demo vende a 8,13. E mesmo se nessa configuração eu entrasse vendido primeiro, ou seja clicasse pra vender a 8,12, ele vende a 8,13. Muito bugado isso.
Só que isso gera uma grande ilusão na hora de testar robôs na demo e no backtest.
Porque razão no MT5 na demo é dessa forma? Que custa programar para comprar na bid e vender na ask?
No Tryd, Profit, na demo funciona perfeitamente como deveria ser. Realmente não entendo o porque dessa falha gravíssima, ao meu ver, do MT5.
Se alguém puder me explicar porque é programado assim, agradeço, pois não consigo encontrar razão alguma para ser dessa forma errada.