É possível evitar muitos "ors" (|||) em condições que causem a mesma ação?

 

Nenhum dos operadores se encaixa. Existe outra forma sem if(A ||| B ||| C ||| D || E) Ação;?

Peço aos moderadores que não enviem para o tópico de perguntas gerais devido à importância da pergunta que estou pensando e não consigo encontrar uma solução mais racional! Obrigado!

 

pode simplesmente estar em variáveis booleanas, por exemplo

X=A || B;

X=X || C || D;

X=X || E;

se (X) Ação;

 
Avals:

pode simplesmente estar em variáveis booleanas, por exemplo

X=A || B;

X=X || C || D;

X=X || E;

se (X) Ação;

Obrigado por seu feedback! E essas bobinas podem ser bastante complexas, envolvendo muitos parâmetros, dependendo das condições de mercado em constante mudança?
 
borilunad:
Obrigado por seu feedback! E estes bancos podem ser bastante complexos, dependendo das condições de mercado em constante mudança?


é claro

 
Avals:


é claro

Mais uma vez, obrigado! Vou tentar agora!

Olhado no Dock e serra:

bool a = true;
bool b = false;
bool c = 1;

а = (isCloseLastPosByTake() == True && Profit > ProClo / clo - GetProfitCloseLastPosByTake() * clo);
Pode ser dado a um booleano este valor?

 
borilunad:

Mais uma vez, obrigado! Vou tentar agora!

Olhou no Dock e viu-o:


Você pode, mas a velocidade cai muito.
 
Vinin:

Você pode, mas a velocidade vai cair drasticamente.
A velocidade não é afetada pelo "ou" no if()?
 
borilunad:
A velocidade não é afetada pelo "ou" no if()?

É claro que sim. Você tem que verificar.
 
Vinin:

É claro que sim. Tem que ser verificado.
Mas se você não consegue encontrar algo rápido, então eu vou ficar com o if()! Eu já reduzi significativamente a lentidão, removendo controles desnecessários para mim em todas as funções. Muito obrigado por sua atenção! Terei prazer em aprender e verificar todas as opções possíveis!
 

Você também pode otimizar os cálculos desta forma:

    bool M = false;

    if (A) M = true; else if (B) M = true; else if (C) M = true; else if (D) M = true; else if (E) M = true;
    if (M) Action;
 

Ou assim:

    bool M = true;

    if (!A) if (!B) if (!C) if (!D) if (!E) M = false;
    if (M) Action; 
Razão: