Thursday 19 July 2018

Parâmetros inválidos mt4 forex


Em casos raros, recebo um erro de parâmetros inválido para OrderDelete (), que só precisa do pedido para fazer seu trabalho. Isso é para tipos de ordem OPBUYSTOP ou OPSELLSTOP. Antes de cada execução para OrderDelete (), eu estou navegando através de OrderTotal (), verifique-os para OrderType () (apenas processando OPBUYSTOP e OPSELLSTOP), obtenha o ticket e, em seguida, execute OrderDelete (ticket). Ainda obtenho: 03:36:42 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:42 XXXX: excluir da ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhou Parâmetros inválidos Agora, uma das razões pode ser que a ordem BUYSTOP tenha sido ativada diretamente no momento em que a EA tenta excluí-la, mas o EA verifica que na próxima execução (loop acima mencionado) e depois tentou excluir esta ordem Novamente porque de acordo com OrderTotal () ainda era uma ordem BUYSTOP pendente. Mais uma vez, obteve um erro de parâmetros inválidos. No entanto, eu verifiquei com o corretor e ele me enviou o log do servidor MT4 para este pedido. Interessante é: no momento em que a EA tenta excluir o pedido, ele já foi aberto no servidor MT4 e, portanto, todas as tentativas subseqüentes de excluí-lo, claro, falharam, mas ainda o cliente MT4 informou que esse pedido ainda é uma ordem OPBUYSTOP pendente , Por mais de 20 segundos (no qual a EA tentou excluir a ordem o tempo todo, mas sempre obtendo erro de parâmetros inválidos). Então, para mim, isso parece um erro não sincronizado entre o MT4 Terminal e o MT4 Server, uma vez que o OrdersTotal () ainda estava retornando que esse ticket é um OPBUYSTOP e não um Pedido BUY aberto, enquanto no servidor intermediário já havia uma ordem de compra por mais de 20 Segundos. E a função OrderDelete () no meu EA funciona bem em 99 dos casos, mas então, algumas vezes, o erro acima descrito ocorre e o Terminal MT4 simplesmente não é informado pelo servidor MT4 de que a ordem já está ativa. Alguém mais experimentou isso. Como posso denunciá-lo para Metaquotes Em casos raros, recebo um erro de parâmetros inválido para OrderDelete (), que só precisa do pedido para fazer seu trabalho. Isso é para tipos de ordem OPBUYSTOP ou OPSELLSTOP. Antes de cada execução para OrderDelete (), eu estou navegando através de OrderTotal (), verifique-os para OrderType () (apenas processando OPBUYSTOP e OPSELLSTOP), obtenha o ticket e, em seguida, execute OrderDelete (ticket). Ainda obtenho: 03:36:42 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:42 XXXX: excluir da ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhou Parâmetros inválidos Você recebeu o ingresso. Você verificou o valor de retorno Trap o valor de retorno do OrderDelete () e se for falso OrderDelete () falhou. Se for falso use Print () para escrever as seguintes informações no log. Selecione a ordem por bilhete e imprima seu valor de retorno, ou seja, verdadeiro ou falso, o número do ingresso, o tipo de ordem Sim, está fazendo tudo isso, a verificação de erros é toda extensa na EA. Ele verifica se o Ticket não é 0 depois de navegar através de OrderTotal (), que seria um cheque não necessário de qualquer maneira, mas ele ainda o faz, então verifica se a função OrderSelect () retornou true ao selecionar o ticket e, em seguida, verifica se o OrderType É OPBUYSTOP ou OPSELLSTOP (portanto, uma ordem pendente) e só então executa OrderDelete (Ticket). Eu acho que tudo é certo do meu lado. E, como eu disse, vejo os valores de tempo exato (resolução de segundos) que, enquanto o OrdersTotal () no meu Terminal MT4 relatou que o OPBUYSTOP não estava aberto, ao mesmo tempo, os logs do MT4 Server do corretor (resolução de segundos) mostram QUE Foi já aberto (número de ticket correspondente entre o EA e o log do corretor), e foi inseguro por mais de 20 segundos entre o MT4 Server eo MT4 Terminal antes do MT4 Terminal também retornar que é um OPBUY agora. Geektrader: Sim, está fazendo tudo isso. A verificação de erros é toda extensa na EA. Ele verifica se o Ticket não é 0 depois de navegar através de OrderTotal (), que seria um cheque não necessário de qualquer maneira, mas ele ainda o faz, então verifica se a função OrderSelect () retornou true ao selecionar o ticket e, em seguida, verifica se o OrderType É OPBUYSTOP ou OPSELLSTOP (portanto, uma ordem pendente) e só então executa OrderDelete (Ticket). Eu acho que tudo é certo do meu lado. E, como eu disse, vejo os valores de tempo exato (resolução de segundos) que, enquanto o OrdersTotal () no meu Terminal MT4 relatou que o OPBUYSTOP não estava aberto, ao mesmo tempo, os logs do MT4 Server do corretor (resolução de segundos) mostram QUE Já foi aberto, e não foi sincronizado por mais de 20 segundos entre o servidor MT4 e o MT4 Terminal antes do MT4 Terminal também retornar que é um OPBUY agora. Se estiver fazendo tudo o que você pode mostrar a saída para o log, copie e cole aqui por favor. Outro pensamento. Está em um loop passando por todas as ordens abertas. Apenas olhe, a ordem é aberta no corretor enquanto o MT4 ainda está relatando como um OPBUYSTOP: MT4 Terminal Log: 03:36:40 XXXX: ordem pendente, compre 0,65 EURJPY em 102,923 Sl: 102.884 tp: 103.382 03:36:40 XXXX: o pedido foi aceito pelo servidor 03:36:40 XXXX: pedido em processo 03:36:40 XXXX: o pedido foi aberto. 7720748 comprar parar 0,65 EURJPY em 102,923 sl: 102,884 tp: 103,382 03:36:41 XXXX: modificar ordem pendente 7720748 comprar parar 0,65 EURJPY em 102,923 sl: 102,884 tp: 103,382 - gt preço: 102,914 sl: 102,873 tp: 103,414 03:36 : 41 XXXX: o pedido foi aceito pelo servidor 03:36:41 XXXX: solicitação em processo 03:36:41 XXXX: ordem pendente 7720748 comprar parar 0,65 EURJPY foi modificado - gt preço: 102.914 sl: 102.873 tp: 103.414 03:36: 41 XXXX: modificar ordem pendente 7720748 comprar parar 0.65 EURJPY em 102.914 sl: 102.873 tp: 103.414 - gt preço: 102.911 sl: 102.876 tp: 103.411 03:36:41 XXXX: o pedido foi aceito pelo servidor 03:36:41 XXXX: pedido Em processo 03:36:41 XXXX: ordem pendente 7720748 comprar parar 0,65 EURJPY foi modificado - gt preço: 102,911 sl: 102,876 tp: 103,411 03:36:41 XXXX: modificar ordem pendente 7720748 comprar parar 0,65 EURJPY em 102,911 sl: 102,876 tp : 103.411 - gt preço: 102.907 sl: 102.867 tp: 103.407 03:36:42 XXXX: pedido aceito pelo servidor 03:36:42 XXXX: requisição em processo 03:36:42 XXXX: pedido pendente 7720748 bu Y stop 0.65 EURJPY foi modificado: preço máximo: 102.907 sl: 102.867 tp: 103.407 03:36:42 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:42 XXXX: exclusão de pendentes Ordem 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhou Parâmetros inválidos 03:36:42 XXXX: excluir ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:43 XXXX: exclusão de pendentes Ordem 7720748 comprar parar 0.65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhou Parâmetros inválidos 03:36:43 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:43 XXXX: exclusão de pendentes Ordem 7720748 comprar parar 0.65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhou Parâmetros inválidos 03:36:43 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:43 XXXX: exclusão de pendentes Ordem 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhou Parâmetros inválidos 0 3:36:43 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:43 XXXX: excluir da ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhar Parâmetros inválidos 03:36:43 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:43 XXXX: excluir da ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhar Parâmetros inválidos 03:36:43 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:43 XXXX: excluir da ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhar Parâmetros inválidos 03:36:44 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:44 XXXX: excluir da ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhar Parâmetros inválidos 03:36:44 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY às 102.907 s L: 102.867 tp: 103.407 03:36:44 XXXX: exclusão da ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhou Parâmetros inválidos 03:36:44 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 Sl: 102.867 tp: 103.407 03:36:44 XXXX: exclusão da ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhou Parâmetros inválidos 03:36:44 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 Sl: 102.867 tp: 103.407 03:36:44 XXXX: exclusão da ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhou Parâmetros inválidos 03:36:44 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 Sl: 102.867 tp: 103.407 03:36:44 XXXX: exclusão da ordem pendente 7720748 comprar parar 0.65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhou Parâmetros inválidos 03:36:45 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 Sl: 102.867 tp: 103.407 03:36:45 XXXX: exclusão da ordem pendente 7720748 comprar Parar 0.65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhou Parâmetros inválidos 03:36:45 XXXX: excluir ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:45 XXXX: excluir da ordem pendente 7720748 comprar Parar 0.65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhou Parâmetros inválidos 03:36:45 XXXX: excluir ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:45 XXXX: excluir da ordem pendente 7720748 comprar Parar 0.65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhou Parâmetros inválidos 03:36:46 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:46 XXXX: excluir da ordem pendente 7720748 comprar Parar 0.65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhou Parâmetros inválidos 03:36:46 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:46 XXXX: excluir da ordem pendente 7720748 comprar Pare 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhou Parâmetro inválido S 03:36:46 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:46 XXXX: excluir da ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhado Inválido Parâmetros 03:36:46 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:46 XXXX: exclusão da ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhado Inválido Parâmetros 03:36:46 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:46 XXXX: exclusão da ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhado Inválido Parâmetros 03:36:48 XXXX: apagar ordem pendente 7720748 comprar parar 0.65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:48 XXXX: excluir da ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhado Inválido Parâmetros 03:36:48 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY às 102.90 7 sl: 102.867 tp: 103.407 03:36:48 XXXX: exclusão da ordem pendente 7720748 comprar parar 0.65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhou Parâmetros inválidos 03:36:48 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:48 XXXX: exclusão da ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhou Parâmetros inválidos 03:36:48 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:48 XXXX: exclusão da ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhou Parâmetros inválidos 03:36:49 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:49 XXXX: exclusão da ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhou Parâmetros inválidos 03:36:49 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:49 XXXX: exclusão da ordem pendente 7720748 b Uy stop 0.65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhou Parâmetros inválidos 03:36:49 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:49 XXXX: exclusão da ordem pendente 7720748 Comprar parar 0.65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhou Parâmetros inválidos 03:36:49 XXXX: excluir ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:49 XXXX: excluir da ordem pendente 7720748 Comprar parar 0.65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhou Parâmetros inválidos 03:36:49 XXXX: excluir ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:49 XXXX: excluir da ordem pendente 7720748 Comprar parar 0.65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhou Parâmetros inválidos 03:36:50 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:50 XXXX: excluir da ordem pendente 7720748 Comprar parar 0.65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhou Parame inválido Ters 03:36:50 XXXX: apagar ordem pendente 7720748 comprar parar 0.65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:50 XXXX: excluir da ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhado Inválido Parâmetros 03:36:50 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:50 XXXX: excluir da ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhado Inválido Parâmetros 03:36:51 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:51 XXXX: exclusão da ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhado Inválido Parâmetros 03:36:51 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 03:36:51 XXXX: exclusão da ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhado Inválido Parâmetros 03:36:51 XXXX: apagar ordem pendente 7720748 comprar parar 0,65 EURJPY às 102 .907 sl: 102.867 tp: 103.407 03:36:51 XXXX: exclusão da ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhou Parâmetros inválidos Brokers MT4 Log do servidor: 2017.10.30 03:36:42 XXX. XXX. XXX. XXX XXXX: ordem 7720748 comprar parar 0,65 EURJPY em 102,92300 2017.10.30 03:36:43 XXX. XXX. XXX. XXX XXXX: modificar a ordem 7720748 comprar parar 0,65 EURJPY em 102.92300 sl: 102.88400 tp: 103.38200 - gt 102.91400 Sl: 102.87300 tp: 103.41400 exp: nunca 2017.10.30 03:36:43 XXX. XXX. XXX. XXX XXXX: modificado 7720748 comprar parar 0,65 EURJPY em 102.91400 sl: 102.87300 tp: 103.41400 2017.10.30 03:36:43 XXX. XXX. XXX. XXX XXXX: modifique a ordem 7720748 compre pare 0,65 EURJPY em 102,91400 sl: 102,87300 tp: 103,41400 - gt 102,91100 sl: 102,87600 tp: 103,41100 exp: nunca 2017.10.30 03:36:43 XXX. XXX. XXX. XXX XXXX : Modificado 7720748 comprar parar 0,65 EURJPY em 102,91100 sl: 102,87600 tp: 103,41100 2017.10.30 03:36:43 XXX. XXX. XXX. XXX XXXX: modificar a ordem 7720748 comprar parar 0,65 EURJPY em 102.91100 sl: 102.87600 tp: 103.41100 - gt 102.90700 sl: 102.86700 tp: 103.40700 exp: nunca 2017.10.30 03:36:43 XXX. XXX. XXX. XXX XXXX: modificado 7720748 comprar parar 0,65 EURJPY em 102.90700 sl: 102.86700 tp: 103.40700 2017.10.30 03:36:43 XXXX : Ordem 7720748 compre 0.65 EURJPY está aberto às 102.90700. Você vê, tudo corre em sincronia com as modificações na ordem pendente, mas depois ficou sem sincronização à medida que a ordem foi aberta no corretor, mas o Terminal MT4 ainda informou como um BUYSTOP Está pendente. E se ainda não fosse um pedido BUYSTOP para o Terminal MT4, não iria dizer excluir ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407. O fato de ainda diz que comprar parar no MT4 Terminal mostra que algo ficou sem sincronização aqui e o MT4 Terminal ainda vê isso como uma ordem BUYSTOP. Caso contrário, não dirá que pare para o comando OrderDelete () no diário. O código que faz o OrderDelete é este, está tudo correto, pois funciona 99,9 dos casos: O código que faz o OrderDelete é esse, está tudo correto, pois ele funciona 99,9 dos casos: Seu código está incorreto. Quando você está excluindo ou fechando pedidos dentro de um loop de posição, você DEVE contar para baixo. NÃO, leia este tópico: Loops e encerramento ou exclusão de ordens Você está certo, mas isso não importa neste caso, pois sempre há 1 ordem (pendente) pela EA em qualquer momento. E, no entanto, você vê que os números do bilhete combinam, então não estou tentando excluir o ingresso errado ou algo assim. E você olhou para os logs dos servidores reais do MT4 (eu obtive-os do corretor diretamente) Registros do Terminal MT4 (logado por mim) Ive postado Você vê que o corretor abriu o pedido em: 2017.10.30 03:36:43 XXXX: Ordem 7720748 comprar 0.65 EURJPY está aberto em 102.90700 Mas o MT4 Terminal ainda informa 8 segundos depois, depois que este pedido foi aberto pelo corretor que exatamente este ingresso ainda é uma ordem de compra pendente. 03:36:51 XXXX: exclusão da ordem pendente 7720748 comprar parar 0,65 EURJPY em 102.907 sl: 102.867 tp: 103.407 falhou Parâmetros inválidos MT4 Terminal claramente diz apagar ordem pendente 7720748 comprar parar, se MT4 Terminal não o veria como uma ordem de compra, Ele não diria comprar parar porque a função OrderDelete () não tem a capacidade de dizer em que direção o pedido foi, então a parada de compra vem do terminal MT4 e isso prova que o Terminal MT4 ainda vê isso como uma parada de compra no momento Já estava aberto no servidor MT4 do corretor. Você está certo, mas isso não importa neste caso, pois sempre há apenas uma ordem pendente. E você olhou para os logs reais dos servidores MT4 Registros dos terminais MT4 que eu postei. Você percebe que o corretor abriu o pedido em: Não, na verdade. Estou feliz em tentar ajudar, adicionar a informação de depuração que eu solicitei, se você gostaria que eu tentasse e ajudasse, se não, isso é bom. Não faça suposições. Imprima as informações relevantes para que você tenha os fatos no momento em que o erro foi gerado, então você terá alguma idéia do que realmente está acontecendo, não apenas o que você acha que está acontecendo. Você nem pode verificar se o OrderDelete () funcionou ou não. Apenas verificando Get: LastError () verifica o último erro. Pode não pertencer ao OrderDelete (). Você deve verificar o valor de retorno de OrderDelete (). É um bool que será verdadeiro ou falso. Obrigado pela sua ajuda Raptor, considerarei isso para o código, no entanto, que este é um erro insincível que pode acontecer durante os movimentos rápidos do mercado (isto é, onde meus negócios de EA) foi confirmado apenas pelas Metaquotes depois de terem dado o log do MT4 Terminal Contra o log do servidor MT4. Eles dizem que é claro que o servidor MT4 abriu o pedido, enquanto o MT4 Terminal ainda estava no pressuposto de que é uma ordem de parada de compra pendente, já que os números do bilhete também corresponderam exatamente, caso contrário, o MT4 Terminal não teria retornado para parar o bilhete que era Já abriu há 8 segundos no corretor. E será corrigido na próxima versão) Obrigado de qualquer maneira. Geektrader: Obrigado pela sua ajuda Raptor, considerarei isso para o código, no entanto, que este é um erro insincível que pode acontecer durante os movimentos rápidos do mercado (isto é, onde meus negócios de EA) foram confirmados apenas pelas Metaquotes depois de terem dado o log de Terminal MT4 contra o log do servidor MT4. Eles dizem que é claro que o servidor MT4 abriu o pedido, enquanto o MT4 Terminal ainda estava no pressuposto de que é uma ordem de parada de compra pendente, já que os números do bilhete também corresponderam exatamente, caso contrário, o MT4 Terminal não teria retornado para parar o bilhete que era Já abriu há 8 segundos no corretor. E será corrigido na próxima versão) Obrigado de qualquer maneira. Relatório de blog do ForexEnviar erro 3 2 de junho de 2018 por Andriy Moraru Às vezes você receberia uma mensagem OrderSend Error 3 em seu log de especialistas no MetaTrader 4. Isso pode ser um erro bastante frustrante Porque impede a execução da ordem (e a posição da abertura). Se você é um codificador MQL, você deve aprender a corrigi-lo porque significa que há um erro na lógica do seu consultor especializado. Se você é um comerciante de Forex simples, então há algumas etapas simples que você pode fazer para corrigir esse erro se você tiver um arquivo. mq4 da EA. Aqui você deve descobrir por que o OrderSend Error 3 ocorre e como corrigi-lo no MetaTrader. O OrderSend Error 3 é chamado ERRINVALIDTRADEPARAMETERS internamente na plataforma MT4. ERRINVALIDTRADEPARAMETERS significa que alguns dos parâmetros passaram para a função OrderSend () aren8217t correto. By the way, esse erro também pode aparecer com a função OrderModify () (aparece como OrderModify Error 3). Os casos mais populares são os seguintes: Tipo de operação incorreta passada para a função OrderSend (). Lembre-se de que existem apenas 6 tipos de operação disponíveis no MetaTrader. O deslizamento negativo passou para a função OrderSend (). Lembre-se que o deslizamento só pode ser 0 ou superior. Número de ticket de pedido incorreto passado para a função OrderModify (). Certifique-se de que a ordem com o número de ticket fornecido existe no sistema antes de usar esta função. Então, o que fazer quando você detectar este OrderSend Error 3 Primeiro, verifique se a operação passada para a função é uma das seguintes: OPBUY (Abrir posição longa). OPSELL (Abrir posição curta). OPBUYLIMIT (Comprar pedido limite). OPSELLLIMIT (ordem de limite de venda). OPBUYSTOP (Comprar ordem de parada). OPSELLSTOP (ordem de parada de venda). Em seguida, certifique-se de que o deslizamento passou para a função OrderSend () isn8217t negativo. Slippage é freqüentemente dado como um parâmetro de entrada, então você apenas insere algum valor positivo lá. Finalmente, se o erro aparecer como OrderModify Error 3, certifique-se de que o EA lida com o número correto do ticket (talvez o it8217s tente usar 0 ou -1). Basta adicionar esta condição na frente da função OrderModify () no arquivo. mq4 do consultor especialista: onde 8220ticket8221 é sua variável para o número de ticket usado na função. Ele cortará todas as tentativas de passar os números de ticket incorretos mais populares. Se você tiver algum pensamento, comentários ou perguntas sobre o MT4 Error 3 e as formas de tratá-lo, sinta-se à vontade para responder a esta postagem usando o formulário abaixo.

No comments:

Post a Comment