[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 254

 
Olá a todos)) Sou um novato e não gosto de ler ou ver coisas, gosto principalmente de confiar nas pessoas, há alguém que possa me ajudar na minha busca?
 
lx-7:
Olá a todos)) Sou um novato e não gosto de ler ou ver coisas, gosto principalmente de confiar nas pessoas, há alguém que possa me ajudar na minha busca?


Bem, para começar, não seria uma coisa ruim dizer, quais são exatamente os seus esforços? Com o que você precisa de ajuda?

 
  
bool up=true;
   for(i=limit-1; i>=0; i--)
     {
      current=ExtBuffer0[i];
      prev=ExtBuffer0[i+1];
      if(current>prev) up=true;
      if(current<prev) up=false;
      if(!up)
        {
         ExtBuffer2[i]=current;
         ExtBuffer1[i]=0.0;
        }
      else
        {
         ExtBuffer1[i]=current;
         ExtBuffer2[i]=0.0;
        }
     }
Favor explicar o significado da operação lógica se(!up). ! - significa NÃO, mas sua essência neste código eu não consigo entender.
 
silhouette:
Favor explicar o significado da operação lógica se(!up). ! - significa NÃO, mas sua essência neste código eu não consigo entender.


Isto é mais compreensível?

bool up=true;
   for(i=limit-1; i>=0; i--)
     {
      current=ExtBuffer0[i];
      prev=ExtBuffer0[i+1];
      if(current>prev) up=true;
      if(current<prev) up=false;
      if(up)
        {
         ExtBuffer2[i]=0.0;
         ExtBuffer1[i]=current;
        }
      else
        {
         ExtBuffer1[i]=0.0;
         ExtBuffer2[i]=current;
        }
     }
 

Embora eu tivesse feito as coisas de maneira diferente

   for(i=limit-1; i>=0; i--)
     {
      current=ExtBuffer0[i];
      prev=ExtBuffer0[i+1];
      if(current>prev)
        {
         ExtBuffer2[i]=0.0;
         ExtBuffer1[i]=current;
        }
      else if(current<prev) 
        {
         ExtBuffer1[i]=0.0;
         ExtBuffer2[i]=current;
        }
     }
 
silhouette:
Favor explicar o significado da operação lógica se(!up). ! - significa NÃO, mas sua essência neste código eu não consigo entender.


se for um operador de salto condicional. Se os parênteses neste operador forem verdadeiros, então a lista de comando/comando que se segue é executada. Caso contrário, o código salta para...

em outras palavras:

if(up==false){// если высказывание (up==false) истинно, то
  ExtBuffer2[i]=current;
  ExtBuffer1[i]=0.0;
}
else{// иначе
  ExtBuffer1[i]=current;
  ExtBuffer2[i]=0.0;
}
 
Vinin:

Embora eu tivesse feito as coisas de maneira diferente


Ele não fez isso. Ele disse não ter entendido o projeto. Portanto, ele não poderia ter conseguido. É o código de outra pessoa.
 

Vinin, drknn, obrigado pelas respostas. Presumi o mesmo, é que eu mesmo nunca usei este projeto e não tinha certeza de tê-lo entendido corretamente.

PS O código não é meu, é claro. É um trecho de um indicador personalizado Awesome que vem como padrão com o programa.

 
silhouette:

Vinin, drknn, obrigado pelas respostas. Eu mesmo assumi que nunca havia usado tal construção e não tinha certeza se a entendia corretamente.

PS O código não é meu, é claro. É um trecho de um indicador personalizado Awesome que vem como padrão com o programa.

 
FAQ:

Vadim, ninguém duvida de sua incrível qualidade, eu quis dizer que tudo isso pode ser feito com ferramentas API mais simples, que é o que o questionador começou, mas ao invés de explicar e ajudar, você levou a conversa para seu próprio tópico como de costume. E as conseqüências logo se seguirão.

Quanto a mim - tudo muda, funciona, sempre, e como deve ser:

O mais legal - Dima :-))

Bem, eu tenho tudo feito pelos meios mais simples do WinAPI. Você ainda não notou? Mostrei a vocês todas as minhas variantes.

Quais são as conseqüências? Que eu não sei como escrever na MQL4? Não escrevo nele há muito tempo. Eu esqueci as peculiaridades.

Você entendeu tudo errado.

Razão: