¿Es posible evitar muchas "ores" (||) en las condiciones que provocan la misma acción?

 

Ninguno de los operadores encaja. ¿Existe otra forma sin la acción if(A || B || C || D || E)?

¡Pido a los moderadores que no envíen al hilo de preguntas generales debido a la importancia de la pregunta que estoy pensando y no puedo encontrar una solución más racional! Gracias.

 

puede ser simplemente en variables booleanas, por ejemplo

X=A || B;

X=X || C | D;

X=X || E;

si (X) Acción;

 
Avals:

puede ser simplemente en variables booleanas, por ejemplo

X=A || B;

X=X || C | D;

X=X || E;

si (X) Acción;

Gracias por sus comentarios. Y estos bools pueden ser bastante complejos, con muchos parámetros que dependen de las condiciones del mercado, que cambian constantemente...
 
borilunad:
Gracias por sus comentarios. Y estos bools pueden ser bastante complejos, dependiendo de las condiciones del mercado que cambian constantemente...


por supuesto

 
Avals:


por supuesto

Gracias de nuevo. ¡Voy a probarlo ahora!

Miré en el muelle y vi:

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

а = (isCloseLastPosByTake() == True && Profit > ProClo / clo - GetProfitCloseLastPosByTake() * clo);
¿Se puede dar este valor a un booleano?

 
borilunad:

Gracias de nuevo. ¡Voy a probarlo ahora!

Miré en el muelle y lo vi:


Se puede, pero la velocidad baja mucho.
 
Vinin:

Puedes, pero la velocidad bajará drásticamente.
¿No se ve afectada la velocidad por el "o" en if()?
 
borilunad:
¿No se ve afectada la velocidad por el "o" en if()?

Por supuesto que sí. Tienes que comprobarlo.
 
Vinin:

Por supuesto que sí. Hay que comprobarlo.
¡Pero si no puedes encontrar algo rápido, entonces me quedo con if()! Ya he reducido notablemente la ralentización al eliminar las comprobaciones innecesarias para mí en todas las funciones. Muchas gracias por su atención. Estaré encantado de aprender y comprobar todas las opciones posibles.
 

También puede optimizar los cálculos de esta manera:

    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;
 

O así:

    bool M = true;

    if (!A) if (!B) if (!C) if (!D) if (!E) M = false;
    if (M) Action;