Problema ao percorrer posições abertas.

 

Pessoal to com o seguinte trecho de código que está travando a execução do programa.

Mesmo após comentar oque há dentro do bloco "for" o programa trava, então vejo que é problema relacionado ao laço em si e não ao código interno. Qualquer ajuda será bem vinda.

        int postotal = PositionsTotal();

         if (postotal > 0)
         {
            for (int x = postotal-1; i >= 0; i--)
            {
               /*
               CPositionInfo *pinfo = new CPositionInfo();
               if (pinfo.SelectByIndex(x))
               {
                  buyauthorize = !((sigtype == SIGNAL_LONG) && (pinfo.PositionType() == POSITION_TYPE_SELL) && (CheckPair(pinfo.Symbol(), symbol.Name())));
                  sellauthorize = !((sigtype == SIGNAL_SHORT) && (pinfo.PositionType() == POSITION_TYPE_BUY) && (CheckPair(pinfo.Symbol(), symbol.Name())));
               }
               delete pinfo;
               */
            }
         }
 
Luis Gustavo Carneiro De Araujo:

Pessoal to com o seguinte trecho de código que está travando a execução do programa.

Mesmo após comentar oque há dentro do bloco "for" o programa trava, então vejo que é problema relacionado ao laço em si e não ao código interno. Qualquer ajuda será bem vinda.

Oi Luis,

mesmo sabendo que o for está errado, pois você inicializou a variável   x  e a iteração é com a variável i   , eu  fiquei me perguntado qual é o tipo da variável i para o for entrar em looping!

 
Tem que ver qual é o tipo dessa variável "i". Se for um tipo "unsigned", o loop não vai acabar nunca.
 

Caramba kkkkkk

Dêem aquela disfarçada, eu sabia que era um erro tosco, acho que estou merecendo o prêmio de falta de atenção haha


Só não inicializei o for com i pois já tenho um outro for fora deste, então precisei de uma variável nova, por isso o x, porém faltou atenção em iterar o mesmo com x também. kkkk


Valew pela pequena ajuda amigos, acho que o cansaço já bateu kkk

Razão: