Lógica de aprendizagem - página 8

 
Victor!!! FELIZ ANIVERSÁRIO! Tudo de bom!!!
 
poruchik:
Victor!!! FELIZ ANIVERSÁRIO! Tudo de bom!!!

Obrigado, embora eu já esteja a 8 minutos do novo dia.
 
Vinin:

Obrigado, embora eu tenha 8 minutos para o novo dia.
Para desejar-lhe boa saúde e estabilidade na vida nunca é tarde demais, tome cuidado Victor, e olá!
 
Mathemat:
Perdoe o off-topic: drknn, a lógica ajuda você a domar o Fora?


Às vezes ajuda a encurtar o código. Quando vi este estalo na rede de arrasto de Kim, fiquei entusiasmado. E em geral, a lógica não lhe diz onde está a verdade, mas lhe diz onde a verdade não está - isto permite que você reduza e reduza sua busca e, como resultado, revele a verdade como um remanescente irredutível.

 
drknn:
Mathemat:
Perdoe o off-topic: drknn, a lógica ajuda você a domar o Fora?

Às vezes ajuda a encurtar o código.

Punção nº 2. A lógica (lógica) e a brevidade têm pouca correlação.

Um excelente exemplo direto da MQL, que, a propósito, muitas pessoas não são reticentes ao uso.

if (OrderType() <= 1)

Isso não é lógico - isso está matando tudo. É também um terreno potencialmente fértil para erros implícitos.

 

A condição é cumprida se não for uma ordem de limite/parada. Qual é o erro potencial? Apenas não consigo ver o contexto.

Em geral, para tais variáveis do tipo "enumeração", não é realmente muito bom usar as desigualdades... É melhor especificar os identificadores explicitamente para não termos que adivinhar.

 

É apenas um desses ancinhos que tornam a vida muito mais fácil.

E a regra de ouro é simples - não se pode apegar a valores absolutos de constantes.

A armadilha potencial é que

Não se pode excluir teoricamente a possibilidade de alterar os valores absolutos das constantes porque não existe uma lógica de numeração em princípio.

2. o valor do OrderType() se o pedido não tiver sido selecionado é indocumentado :)

A condição é não trivial - ou seja, digamos que nos esquecemos da MQL por meio ano, voltamos, olhamos para cima, olhamos para as constantes erradas e, como conseqüência, erramos a lógica.

____________

Que tal isso?

if (OrderType() % 2)
{
   //...
}
 

Da mesma forma, é uma condição sem sentido, embora tecnicamente possa estar correta no momento.

Meus argumentos seriam praticamente os mesmos: OP_BUYXXX são identificadores constantes mnemônicos, que são inseridos por uma razão, mas para cometer menos erros. É por isso que é melhor usar esses identificadores.

 
Sim. E a condição -- "se algum tipo de ordem de venda ".
 

Afinal de contas, para venda?

Ora, ora, ora. Temos um operando lógico dentro, e eu o li mal. Acontece que é verdade quando

OrderType() % 2 != 0

- É isso?

Bem, então é uma merda ao quadrado. O código é ilegível :)

Razão: