Alerta: Pedido de Duplicação de Terminal MT4 Enviado por Peritos

 

Algo embaraçoso está acontecendo com as contas de negociação MT4 em todos os lugares (pode acontecer com qualquer corretor, pelo que posso dizer). A plataforma é às vezes, embora raramente, uma duplicação de ordens enviadas por especialistas.

vi isso acontecer pelo menos 3 vezes com o build MT4 build 500. As duas primeiras estavam em contas demo, e a última, ontem, estava em uma conta real. O problema aconteceu:

1)Em diferentes instalações do MT4.

2)Em computadores diferentes.

3)Com corretores diferentes.

4)Usando diferentes assessores especializados.

Além de tudo isso, o fato que me diz que este é um problema com o terminal é muito fácil de ser resolvido. Quando a ordem duplicada acontece:

1)Acontece imediatamente após a ordem legítima, com exatamente o mesmo tamanho de lote, símbolo, e comentário.

2)A primeira operação, como de costume, é mostrada na guia dos especialistas, bem como na guia do diário. Entretanto, a duplicata é mostrada no diário, mas NÃO é mostrada na guia de especialistas. Esta é uma prova confiável de que a duplicata NÃO foi enviada pelo especialista.

Exorto a Metaquotes a resolver este problema o mais rápido possível. Ontem eu tive que fechar a operação duplicada, e perdi dinheiro, embora não muito. Mas este problema pode realmente causar estragos em uma conta automatizada.

Por favor, se algum de vocês tiver este problema, comuniquem-no para que tenhamos evidências adicionais e a bugs correspondente seja consertada rapidamente.

 
Ricardo1:

Acho que a questão aqui é que seus EA são projetados para trabalhar com base em um tick por tick, assim, por exemplo, se o EA estiver em média cruzando na M5, durante esses 5 minutos o preço flui e poderia fazer com que suas condições para enviar pedidos acontecessem mais de uma vez.


A solução seria definir um filtro no envio de ordens para verificar se você está aberto ou se tem ordens no mercado ou não. Ou trabalhar com base em uma barra. Sinto muito, mas sou um novato e posso pensar em qual é o problema, mas não posso lhe enviar nenhum código :).

Espero que isto ajude.

 
Ricardo1: Exorto a Metaquotes a resolver este problema o mais rápido possível.
Por que você acha que o problema é com o MT4 e não com sua EA? Afixe seu código.
 
Ricardo1:

Algo embaraçoso está acontecendo com as contas de negociação MT4 em todos os lugares (pode acontecer com qualquer corretor, pelo que posso dizer). A plataforma é às vezes, embora raramente, uma duplicação de ordens enviadas por especialistas.

vi isso acontecer pelo menos 3 vezes com o build MT4 build 500. As duas primeiras estavam em contas demo, e a última, ontem, estava em uma conta real. O problema aconteceu:

1)Em diferentes instalações do MT4.

2)Em computadores diferentes.

3)Com corretores diferentes.

4)Usando diferentes assessores especializados.

Você precisa sair da outra cópia de sua EA que está rodando no outro gráfico . . . se este não for o caso, por favor, prove-o postando o arquivo de registro de especialistas mostrando o início do especialista e as ordens duplicadas. Este erro foi cometido antes . .

 

Vocês me surpreendem um pouco. Vocês assumem que eu devo estar fazendo algo errado, que o MT4 não pode ter bugs. Aqui vou abordar suas respostas.


xavilin:


Isto não é um problema da EA. A EA que estou usando tem mais de um ano de trabalho em diferentes plataformas. Além disso, este problema aconteceu com 3 EA's diferentes, duas das minhas e uma comercial.


WHRoeder:

Não posso publicar meu código, mas, como disse, o problema aconteceu em 3 EA diferentes. Isso nunca acontece no backtesting, é claro. Como eu lhe disse, *isso acontece muito raramente*. Na verdade, se você somar o tempo que o meu EA (o que eu estava usando ontem) tem sido executado, somando todas as contas ele teria sido executado por alguns anos. E ontem aconteceu pela *primeira* vez. Você acha que isso pode ser um bug no meu código?


RaptorUK:

Você realmente acha que sou tão ingênuo em ter mais de uma EA na conta e depois relatar isso como um problema?


Como eu disse antes, a prova principal é que a aba do diário tem a ordem, mas a aba dos especialistas *não tem*. É literalmente impossível que uma EA esteja enviando a ordem e ainda assim a guia de especialistas não a reporta!

Eu poderia publicar aqui tanto o log dos especialistas quanto o log do diário, mas por razões de privacidade isso não é possível para mim. Mas eu não acho que seja necessário. Se você acredita que posso ler ambos os arquivos e dizer o que eles dizem, então acredite que a ordem falsa está contida no registro do diário e não está contida no registro dos especialistas, então não foi iniciada por nenhum especialista. E, claro, não foi iniciada por mim.

É verdade que eu gostaria de seu apoio, mas é para o benefício de todos nós usuários. Se você acha que não há erro algum, a Metaquotes levará mais tempo para reconhecer o erro.

Eu me senti obrigado a compartilhar isto com vocês, e espero que Metaquotes pelo menos faça alguma verificação.

 
Ricardo1: Vocês me surpreendem um pouco. Vocês assumem que eu devo estar fazendo algo errado, que o MT4 não pode possivelmente ter bugs. Aqui vou abordar suas respostas.

Não sei como dizer isto de forma agradável sem fazer tic-tac a alguém como você. Mas você precisa mudar sua atitude. Quando alguém afirma que algo é um bicho, isso significa que é reprodutível. Você não tem como re-produzir o bug, alega que ele acontece "*a primeira* vez", seja lá o que isso significa, e não fornece nenhum código para excluir que o código não é o problema. Como alguém deve rastrear isto?

Para não mencionar os milhões de pessoas que usam este software para colocar o conhecimento sobre quantos milhões de negócios diariamente; você é a única pessoa com quem isto está acontecendo. Confie em mim quando se trata de dinheiro, se isso estivesse acontecendo com todos (raramente), todos nós neste fórum ainda estaríamos ouvindo falar sobre isso com freqüência. Muitas pessoas vêm aqui chorando e 99% do tempo o problema está dentro de seus códigos. Uma vez que eu parei de colocar as culpas, consegui resolver muitos de meus problemas de codificação mais rapidamente.

Ps: RaptorUK não representa MetaQuotes, ele é um moderador social e seus comentários têm tanto peso quanto os seus/minas. Por que isso não poderia ser um problema com o Corretor? Até que outros comecem a relatar este bug-of-yours, IMO o ônus da prova recai sobre você.

 
Ricardo1:


RaptorUK:

Você realmente acha que sou tão ingênuo em ter mais de uma EA na conta e depois relatar isso como um problema?


Como eu disse antes, a prova principal é que a conta do diário tem a ordem, mas a conta dos especialistas *não tem*. É literalmente impossível que uma EA esteja enviando a ordem e ainda assim a guia de especialistas não a reporta!

Eu poderia publicar aqui tanto o registro de especialistas quanto o registro de diário, mas por razões de privacidade não é possível para mim. Mas eu não acho que seja necessário. Se você acredita que posso ler os dois arquivos e dizer o que eles dizem, então acredita que a ordem falsa está contida no diário de bordo e não está contida no diário de bordo dos especialistas, então não foi iniciada por nenhum especialista. E, claro, não foi iniciada por mim.

É verdade que eu gostaria de seu apoio, mas é para o benefício de todos nós usuários. Se você acha que não há erro algum, a Metaquotes levará mais tempo para reconhecer o erro.

Eu me senti obrigado a compartilhar isto com vocês, e espero que Metaquotes pelo menos faça alguma verificação.


Como eu disse . . . já foi feito antes (procurei o correio e minhas respostas mas não consegui encontrá-las) e a OP também assumiu um problema MT4 . .

Se você não publicar nenhuma evidência para investigar e não publicar nenhum método para reproduzir o problema, como você espera que alguém investigue e ajude? por todos os meios, levante uma questão do Service Desk, mas você não parece querer oferecer nenhuma informação útil para ajudar a identificar/diagnosticar o problema. Com que questões de privacidade você se preocupa? você pode editar/remover (procurar&substituir) seus números de conta . . . você não precisa postar o registro completo, apenas o suficiente desde quando a EA começa até que a ordem duplicada apareça . .

Procure em seu Histórico de Pedidos a Ordem lá ? escreva um pequeno script para interrogar a Ordem no pool de Histórico para ver se ela tem um Número Mágico, sua EA usa um Número Mágico ? há coisas que você pode fazer para investigar . . você vai querer saber se este problema é causado por você ou pelos EAs que você tem executado, você e todos os outros gostariam de saber se é causado pelo MT4. Está em suas mãos, você tem a informação, nós não . .

 

ubzen e RaptorUK: Muito obrigado por suas respostas.

ubzen, você tem um ponto aqui quando você diz: "Para não mencionar os milhões de pessoas que usam este software para colocar o conhecimento de quantos milhões de negócios diariamente; você é a única pessoa a quem isto está acontecendo". Eu não posso responder a essa objeção. Eu administro bastante poucas EA em várias contas e já vi isso acontecer 3 vezes com o build500, em 2 plataformas de corretagem diferentes. Entretanto, como eu mesmo vi as evidências, não duvido, mesmo que centenas ou milhares de outros ainda não tenham falado.

Entretanto, quando você diz "quando alguém afirma que algo é um bug, isso significa que é produzível", tenho que dizer que você está errado. Os erros mais difíceis são aqueles que não são reprodutíveis pelo usuário. Eles acontecem raramente, e como os softwaregiants sabem, eles podem levar muito tempo e esforço para rastrear. Acontecem de forma rara porque exigem um conjunto definido de condições que não estão sempre sob o controle do usuário. Qualquer pessoa que utilize algo como o Microsoft Officeextensivamente pode atestar isso.

RaptorUK, obrigado pela oferta de postar os arquivos omitindo dados pessoais. Eu os colocarei nesta janela, omitindo meus dados pessoais. (ubzen: Não creio que o fardo da prova seja para mim, pois não tenho necessidade de provar nada, mas quero mostrar-lhe, caso isso interesse a alguém).


Log de especialistas para 2013.06.11:

22:32:05 Consultor Especialista 1 EURCHF,M15:Pedido de Preço Aberto para Pedido de Compra: 1.2307

22:32:07 Expert Advisor 1EURCHF,M15: abrir #20212520 comprar 0.01 EURCHF a 1.2307 sl: 1.2232 tp: 1.2320 ok

Diário de bordo para 2013.06.11:

05:14:12 '000000': login

05:14:30 '000000': login

05:14:31 '000000': Autorização prévia realizada com sucesso a partir de 201.141.75.152

08:10:12 '000000': login

08:10:17 '000000': login

08:10:19 '000000': Autorização prévia realizada com sucesso a partir de 201.141.75.152

20:33:35 '000000': login

20:33:43 '000000':Falha na conexão do DataCenter [2]

20:33:44 '000000': Autorização prévia executada com sucesso a partir de 201.141.75.152

22:32:06 '000000': compra imediata 0,01 EURCHF a 1,2307 sl: 1,2232 tp: 1,2320

22:32:07 '000000': o pedido foi aceito pelo servidor

22:32:07 '000000': processo de solicitação

22:32:07 '000000': o pedido foi aberto: #20212520 comprar 0.01 EURCHF a 1.2307 sl: 1.2232 tp: 1.2320

22:32:08 '000000': compra imediata 0,01 EURCHF a 1,2307 sl: 1,2232 tp: 1,2320

22:32:08 '000000': o pedido foi aceito pelo servidor

22:32:08 '000000': processo de solicitação

22:32:10 '000000': o pedido foi aberto: #20212521 comprar 0,01 EURCHF a 1.2307 sl: 1.2232 tp: 1.2320

23:07:26 '000000': O comércio oneclick foi habilitado

23:07:31 '000000': fechamento da encomenda #20212521 comprar 0,01 EURCHF a 1.2307 sl: 1.2232 tp: 1.2320 ao preço 1.2291

23:07:32 '000000': o pedido foi aceito pelo servidor

23:07:32 '000000': processo de solicitação

23:07:32 '000000': pedido#20212521 comprar 0,01 EURCHF a 1.2307 sl: 1.2232 tp: 1.2320 fechado ao preço1.2291


Como você pode ver, o pedido 20212520 foi iniciado pelo especialista. Entretanto, o pedido 20212521 NÃO foi. Esta ordem falsa foi fechada manualmente (as últimas 5 linhas do periódico correspondem a operações manuais).

Estou sendo redundante aqui, mas vou dizer novamente: Como a ordem falsa 20212521 não é relatada no registro de especialistas, ela não foi iniciada por nenhum especialista, portanto o código do especialista é relevante para este fim.

 

Ricardo1:

...

Como você pode ver, o pedido 20212520 foi iniciado pelo especialista. No entanto, o pedido 20212521 NÃO foi. Esta ordem falsa foi fechada manualmente (as últimas 5 linhas do arquivo do diário correspondem a operações manuais).

Estou sendo redundante aqui, mas vou dizer novamente: Como a ordem falsa 20212521 não é relatada no diário de especialistas, ela não foi iniciada por nenhum especialista, portanto o código do especialista é irrelevante para este propósito.

O seu EA usa um número mágico?

Se sim, então você pode verificar se seu pedido "falso" tem um número mágico. Você pode ver que na aba histórico : role as janelas para ver a ordem, depois coloque seu mouse sobre esta ordem (sem clicar), uma dica de ferramenta deve ser exibida com algo como :

#20212521, id 12345

Se não houver um número mágico, então o campo de identificação está faltando.

 
Ricardo1:


22:32:06 '000000': compra imediata 0,01 EURCHF a 1,2307 sl: 1,2232 tp: 1,2320

22:32:07 '000000': o pedido foi aceito pelo servidor
22:32:07 '000000': processo de solicitação
22:32:07 '000000': o pedido foi aberto: #20212520 comprar 0.01 EURCHF a 1.2307 sl: 1.2232 tp: 1.2320

22:32:08 '000000': compra imediata 0,01 EURCHF a 1,2307 sl: 1,2232 tp: 1,2320
22:32:08 '000000': o pedido foi aceito pelo servidor
22:32:08 '000000': processo de solicitação
22:32:10 '000000': o pedido foi aberto: #20212521 comprar 0,01 EURCHF a 1.2307 sl: 1.2232 tp: 1.2320


Como você pode ver, o pedido 20212520 foi iniciado pelo especialista. Entretanto, o pedido 20212521 NÃO foi.

O que vejo é que a EA abriu um pedido e um segundo depois abriu outro. Não que dois pacotes tenham saído juntos.

Coloque uma declaração impressa antes e depois do OrderSend e prove que o está chamando duas vezes.

 
angevoyageur:

Sua EA usa um número mágico?

Se sim, então você pode verificar se seu pedido "falso" tem um número mágico. Você pode ver que na aba histórico : role as janelas para ver o pedido, depois coloque o mouse sobre este pedido (sem clicar), uma dica de ferramenta deve ser exibida com algo como :

#20212521, id 12345

Se não houver um número mágico, então o campo de identificação está faltando.



Tudo na ordem falsa é o mesmo que na ordem original, incluindo comentários e número mágico. Entretanto, a EA não o enviou; como eu disse, o registro dos especialistas o prova.