Função OrderSendAsync() - página 6

 
Renat:

A questão é que o pedido assíncrono praticamente não dá qualquer estatuto de "enviado com sucesso".

A conclusão bem sucedida da função significa apenas "do ponto de vista do cliente, a encomenda parece correcta e foi atirada para a tubagem da rede, aguardar resposta no OnTrade".

Desculpe, esteve fora durante algum tempo.

No entanto, gostaria de esclarecer esta frase: "Aguardar resposta no Comércio" que se refere a uma situação em que um pedido não chegou ao servidor.

Se o pedido não tiver chegado ao servidor, não serão gerados eventos comerciais que possam estar relacionados com este pedido "em falta". Certo? E se assim for, também não obterei nenhuma resposta apropriada no OnTrade(). Seria correcto chegar a tal conclusão:

Se a função OrderSendAsync() terminar com sucesso, o pedido pode não chegar ao servidor, e neste caso é inútil esperar pela resposta em OnTrade()

?

 

sergeev:

Yedelkin:
Sps! Acontece que um pedido assíncrono enviado com sucesso pode facilmente perder-se e não entrar na história.

Não.

Explique, por favor. "Não" é a minha conclusão incorrecta, ou é uma confirmação dela?

Muito provavelmente, é uma conclusão incorrecta, mas Renat disse anteriormente que "se o pedido não chegou ao servidor, não tem qualquer hipótese de aparecer no terminal do cliente". Se continuarmos com esta lógica: se o pedido não tiver hipótese de aparecer no terminal do cliente, não tem hipótese de entrar no terminal de base e, portanto, não tem hipótese de entrar na base de ordens históricas. Se este raciocínio não estiver correcto, onde está o erro e o que é?

 
Renat:

A questão é que o pedido assíncrono praticamente não dá nenhum status "enviado com sucesso".

A conclusão bem sucedida da função significa apenas que "do ponto de vista do cliente, a ordem parece correcta e foi atirada para a tubagem da rede, aguardar a resposta no OnTrade".

Espero que num futuro próximo o OnTrade seja melhorado de tal forma que a verificação"pedido não chegou ao servidor" possa ser organizada pelo utilizador sem quaisquer problemas e, de facto, bem como outros tipos de controlo de execução.

porque na sua forma actual a OnTrade não é capaz de tais feitos, pois não faz ideia do tipo de resposta em que está a trabalhar.

 
Urain:

Espero que a OnTrade seja finalizada num futuro próximo para que a verificação"pedido não chegou ao servidor" possa ser organizada pelo utilizador sem quaisquer problemas, bem como outros tipos de controlo de execução.

porque a OnTrade, tal como está agora, é incapaz de tais feitos, uma vez que não tem ideia do tipo de resposta em que está a trabalhar.

Em princípio, podemos acrescentar uma resposta virtual "pedido falhado por timeout" se após o envio de um pedido não tivermos recebido uma resposta do servidor dentro de 5-10 segundos de que o pedido chegou ao servidor.

Isto permitir-nos-á apanhar um pedido de salto no OnTrade. Mas para o fazer, teremos de sobrecarregar a função com parâmetros adicionados.

 
Yedelkin:


Se o pedido não tiver chegado ao servidor, não será gerado nenhum evento comercial que possa estar relacionado com este pedido "em falta". Certo?

Sim, isso faz sentido.

Podemos acrescentar uma resposta virtual, como descrevi acima. Isto permitir-nos-á controlar a execução de operações assíncronas.

 
Renat:

Em princípio, podemos acrescentar uma resposta virtual de "pedido falhado por timeout" se, após o envio do pedido, não recebermos uma resposta do servidor dentro de 5-10 segundos de que o pedido chegou ao servidor.

Isto permitir-lhe-á apanhar o ressalto de uma encomenda no OnTrade. Mas para o fazer terá de sobrecarregar a função com parâmetros adicionados.

Está a assustar-me,

As pessoas estão à espera de melhorar a OnTrade com parâmetros para implementar o controlo da execução. Soou que estará "numa construção", ou seja, cronologicamente na seguinte.

Há meses que tenho três encomendas penduradas, à espera de um intervalo de tempo, e vocês dizem "podemos... "mas precisamos de sobrecarregar..."

Não está a fazer um refinamento da OnTrade?

Não sei de outros, mas não estou satisfeito com a situação actual. Adiei a escrita de todos os códigos até que a MQL5 tenha uma função que garanta o controlo directo da execução, e não indirecto.

 
Urain:

Está a assustar-me,

As pessoas estão à espera de melhorias na OnTrade com parâmetros para implementar a monitorização do tempo de execução. Disse que será "numa construção", ou seja, cronologicamente na construção seguinte.

Há meses que tenho três encomendas pendentes, e o senhor diz "podemos... "mas precisamos de sobrecarregar..."

não está a fazer um refinamento da OnTrade???

Vamos tentar fazê-lo na próxima construção.

Na verdade, há muitas tarefas em curso, além de ser a época das férias de Verão - é difícil manter o ritmo habitual de desenvolvimento.

 
Renat:

Vamos ocupar-nos e tentar fazê-lo na próxima construção.

As tarefas no trabalho são realmente muitas, e ainda é tempo de férias - no Verão, o ritmo habitual de desenvolvimento é difícil de manter.

Phew, isso é aliviado :)

realmente assustados, porque é uma situação real, falaram uns com os outros e esqueceram-se, e as pessoas estão à espera, com esperança :)

Quem me dera poder viver o tempo suficiente :))

 

As metáforas fazem um terminal forte, leve e versátil .

Fortes e leves, já aprenderam a fazer. Mas há aqui outra tarefa - a continuidade. Precisamos de ligar num único terminal todos os "chokepoints" de diferentes plataformas comerciais e um monte de corretores. Penso que este é o problema. Não existe mais o MQ5 universal.

PS Sim Os parâmetros OnTrade estão à espera. E nos nossos corretores de stock. E precisamos de uma forma bem sucedida de lidar com a assincronia. Depois parece não haver concorrentes (para terminais). Só o provador vale muito...

 
Renat:

Em princípio, podemos acrescentar uma resposta virtual de "pedido falhado por timeout" se, após o envio do pedido, não recebermos uma resposta do servidor dentro de 5-10 segundos de que o pedido chegou ao servidor.

Permitir-nos-á apanhar uma quebra de pedido no OnTrade. Mas para isso, teremos de sobrecarregar a função com parâmetros adicionados.

Podemos acrescentar uma resposta virtual, como descrevi acima. Isto permitir-nos-á controlar a execução de operações assíncronas.

Obrigado, essa é uma boa solução. Pelo menos o meu problema está resolvido. Esperando, mas não empurrando :)
Razão: