O conselheiro é adequado para a vida real? - página 31

 
Sim, experimente.
 
OnGoing:
Mas não sei, sim, tente.

Eu não sei. Embora possa não ser normalizada, mas a condição ainda será cumprida. É preciso normalizar as paradas após os cálculos, se houver alguma.
 
FOReignEXchange:

Eu não sei. Embora possa ser algum tipo de não-normalização, mas a condição ainda será cumprida. É preciso normalizar as paradas após os cálculos, se houver alguma.
Justamente quando a diferença entre Ascom e o valor a ser comparado não é muito grande, o número de casas decimais importa e a condição muitas vezes falha.
 

Por alguma razão, acho que devemos fazer isso.

   if (OrderSelect(ticket_sell,SELECT_BY_TICKET)==true)
      {
      if (OrderType()==OP_SELLSTOP) 
         {
         if (Bid<(OrderOpenPrice()+4*Point)) 
            {

Tenho a impressão de que duas condições ao mesmo tempo às vezes não sabem ler. Vou tentar colocá-lo dentro. Parece uma espécie de bug no idioma.

Vou tentar fazer o mesmo com a normalização.

Talvez alguém já tenha encontrado tais problemas?

 

Não, ambos trabalham. É mais provável que os valores não sejam dados na comparação.

Tente rastrear os valores obtidos a cada passo.

 
OnGoing:

Não, ambos trabalham. É mais provável que os valores não sejam dados na comparação.

Tente rastrear os valores obtidos a cada passo.


Eu já verifiquei com os comentários. Eu até coloquei um comentário antes mesmo desta condição. O sinal vai para esta linha, mas não vai mais longe. E isso raramente acontece. 2-4 vezes em um dia. O resto do tempo, tudo funciona corretamente. Eu verifiquei todos os valores nos comentários quando o pedido não foi excluído. Deveria ter sido excluída, mas não chegou à função de exclusão. O sinal foi antes desta condição e não mais.
 
Eu sou tão estúpido. Esqueci de dizer a coisa mais importante. Tudo está funcionando bem no testador. Esse é o problema. Se a ordem não fosse apagada no testador, eu não me daria ao trabalho. Mas não é apagado na conta real e é apagado no testador se a visualização for ativada após um acordo. É por isso que eu acho que se parece com algum tipo de bug no idioma. Tenho a impressão de que não é possível remover muitos dados da ordem selecionada. Esta não é a primeira vez que me deparo com esta questão. Para ser mais exato, eu tenho me deparado com isso o tempo todo. Tudo está bem no testador, mas não na vida real.
 
Agora eu liguei a visualização e estou olhando para ela. Há uma enorme margem de tempo para remoção. Quase meio minuto. No testador ele apagou e hoje, na conta demo, nem sequer tentou apagar e abriu um comércio de salmão :)
 

Não emitir os valores em frente à condição, mas exatamente aquelas expressões que estão dentro da condição. Controlar o que é comparado com o que. Então, da próxima vez que tal falha ocorrer, você será capaz de apanhar a causa.

Afinal de contas, sabemos que a condição está falhando. Portanto, temos que descobrir o porquê. Para isso, todos os valores comparados devem ser constantemente monitorados.

 

Eu já fiz tudo isso. Agora estou de volta à visualização para mais um lugar onde o pedido não foi apagado. A cada tique eu olhava os comentários sobre a condição. Lá tudo está correto e o testador apagou o pedido. E o tempo para apagá-lo foi de 10 a 15 segundos.

Eu olhei os logs da conta demo durante este tempo e não houve tentativas de apagar o pedido. O testador o fez, mas a conta demo não o fez. Tentei colocar comentários antes e depois das condições, no final do código e no início do código, tudo de uma só vez. Todas as condições estão preenchidas, mas eu não fui além disso. Ainda nem sequer tentamos apagar o pedido! Temos muito tempo para apagá-lo, mas não é uma questão de tempo, já que nem sequer tentamos fazê-lo. Também não houve saltos em 2-3 ticks. É só que a condição não passa para a função de apagar e isso é tudo.

Ok, vou tentar outra opção - definir estas condições com cada nova linha separadamente. Verei o que acontece amanhã. Sobre o primeiro problema, eu meio que adivinhei como resolver. Amanhã verei como o código atualizado irá se comportar.

Razão: