Lógica de aprendizagem - página 3

 

Gostaria de acrescentar sobre a seção criticada pelo gip:

bool showEUR, showUSD, showGBP, showCHF, showJPY, showRAVI;
   if ( StringFind(Symbol(), "EUR", 0) != -1) showEUR = TRUE;
   if ( StringFind(Symbol(), "USD", 0) != -1) showUSD = TRUE;
   if ( StringFind(Symbol(), "GBP", 0) != -1) showGBP = TRUE;
   if ( StringFind(Symbol(), "CHF", 0) != -1) showCHF = TRUE;
   if ( StringFind(Symbol(), "JPY", 0) != -1) showJPY = TRUE;

Basicamente, para otimizar os cálculos, seria mais lógico terminar cada bloco if() com verificação de quebra - caso contrário, acontece que todos os cinco operadores if() serão aprovados independentemente dos resultados da verificação.

Como o operador de quebra não pode ser usado aqui diretamente, este bloco pode ser facilmente integrado em algum laço. Aqui está, digamos, uma variante "loop":

bool showEUR, showUSD, showGBP, showCHF, showJPY, showRAVI;
   while( true )
   {
      if (  StringFind(Symbol(), "EUR", 0) != -1) ) 
      {  
         showEUR = TRUE;         break; 
      }   
      if (  StringFind(Symbol(), "USD", 0) != -1) )
      {
         showUSD = TRUE;         break;
      }   
      if (  StringFind(Symbol(), "GBP", 0) != -1) )
      {
         showGBP = TRUE;         break;
      }   
      if (  StringFind(Symbol(), "CHF", 0) != -1) )
      {
         showCHF = TRUE;         break;
      }   
      if (  StringFind(Symbol(), "JPY", 0) != -1) )
      {
         showJPY = TRUE;         break;
      }   
   }   
   

Naturalmente, a inicialização de variáveis lógicas é desejável, é verdade.

E seria bastante breve, se você escrevesse estes nomes de cordas de moedas em um array-constant e passasse através dele em um loop natural.

P.S. Agora entendi meu erro: eu deveria passar pelo menos dois se()'s :) No entanto, isto também pode ser otimizado, cortando os cheques após encontrar duas moedas em um par.

 
age_nt:

Obrigado Dimitri por sua atenção...Eu respeito seu conhecimento.... e seu humor, é claro.

Não foi possível apreciar - nenhum MSoffffis instalado


Aqui http://www.twirpx.com/file/86887/?rand=1440166 é um livro sobre lógica formal no formato djvu. "Kirillov V.I., Starchenko A.A. Logic" é um livro de lógica para advogados. Este livro será melhor. Eu mesmo comecei uma vez com ele.
 
Logicamente, não deveríamos estar todos aqui.
 
Você não tem que falar por todos. Estou sendo consistente e lógico aqui :) Peter e Victor também, acho eu. Eu não sei sobre os outros.
 
denis_orlov:
Logicamente, não deveríamos estar todos aqui.


==++

Nem todos são logicamente capazes de começar do início. Como Chukchi - o que eu vejo, o que eu canto...

 
nikost:


==++

Nem todos podem começar logicamente desde o início. Como Chukchi - o que eu vejo, o que eu canto...

Você é o Chukcha!)

O iniciador do tema deveria começar, mas ele o anunciou e desapareceu, por isso o público está ficando impaciente...

 
drknn:

Aqui http://www.twirpx.com/file/86887/?rand=1440166 é um livro sobre lógica formal no formato djvu. "Kirillov V.I., Starchenko A.A. Logic" é um livro de lógica para advogados. Este livro será melhor. Eu mesmo comecei uma vez com ele.

Obrigado Vladimir!
 

Cavalheiros, por favor, não se ataquem uns aos outros, ou eu apagarei todos os cargos desnecessários. E não se emocione. Um fio é um fio.

 
Um ramo é como um ramo. Somente já moderado :)
 

Amanhã vou tentar refazer este indicador https://www.mql5.com/ru/code/9751.

O fator relevante será o tempo de cálculo. Quanto mais rápido, melhor. Mas a renderização deve ser mantida. Podemos chamá-lo de lição de casa (para encontrar variantes de como reduzir o tempo de cálculo).

O indicador acabou de ser o último em CodeBase, portanto, peço desculpas ao autor.

Razão: