È possibile evitare molti "o" (||) nelle condizioni che causano la stessa azione?

 

Nessuno degli operatori si adatta. C'è un altro modo senza if(A || B || C || D || E) Azione;?

Chiedo ai moderatori di non inviare al thread delle domande generali a causa dell'importanza della domanda a cui sto pensando e non riesco a trovare una soluzione più razionale! Grazie!

 

può essere semplicemente in variabili booleane, per esempio

X=A || B;

X=X || C || D;

X=X || E;

se (X) Azione;

 
Avals:

può essere semplicemente in variabili booleane, per esempio

X=A || B;

X=X || C || D;

X=X || E;

se (X) Azione;

Grazie per il vostro feedback! E questi bools possono essere abbastanza complessi, coinvolgendo molti parametri che dipendono dalle condizioni di mercato in costante cambiamento?
 
borilunad:
Grazie per il vostro feedback! E questi bool possono essere abbastanza complessi, a seconda delle condizioni di mercato che cambiano costantemente?


naturalmente

 
Avals:


naturalmente

Grazie ancora! Lo proverò subito!

Guardò nel bacino e vide:

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

а = (isCloseLastPosByTake() == True && Profit > ProClo / clo - GetProfitCloseLastPosByTake() * clo);
Si può dare questo valore ad un booleano a?

 
borilunad:

Grazie ancora! Lo proverò subito!

Ho guardato nel Dock e l'ho visto:


Si può, ma la velocità scende molto.
 
Vinin:

Si può, ma la velocità diminuirà drasticamente.
La velocità non è influenzata dalla "o" in if()?
 
borilunad:
La velocità non è influenzata dalla "o" in if()?

Certo che lo fanno. Dovete controllare.
 
Vinin:

Certo che lo fanno. Deve essere controllato.
Ma se non si riesce a trovare qualcosa di veloce, allora mi limiterò a if()! Ho già ridotto significativamente i rallentamenti rimuovendo i controlli non necessari per me in tutte le funzioni. Grazie mille per la vostra attenzione! Sarò felice di imparare e controllare tutte le opzioni possibili!
 

Si possono anche ottimizzare i calcoli in questo modo:

    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 come questo:

    bool M = true;

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