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

 
borilunad:


E questo non capisco cosa intendi. Da dove avete preso questi numeri? E se ti interessano i nomi brevi delle variabili, preferisco quelli brevi a quelli lunghi. O cos'altro? Sì, ho appena notato che hai aggiunto due parentesi prima di clo e alla fine dopo clo alla mia formula. Non è affatto necessario, disturba il calcolo. Ma grazie lo stesso!

<--- 10.444 = 8.087 > 3.908 è in che lingua?


doppio a;<------------ è un numero

(isCloseLastPosByTake() == True && Profit > ProClo / clo - GetProfitCloseLastPosByTake() * clo); <-------- questo è un confronto tra membri

a = (isCloseLastPosByTake() == True && Profit > ProClo / clo - GetProfitCloseLastPosByTake() * clo)

numero = numero > numero come lo capite?

 
pako:


doppio a;<------------ questo numero

(isCloseLastPosByTake() == True && Profit > ProClo / clo - GetProfitCloseLastPosByTake() * clo); <-------- questo è un confronto tra membri

a = (isCloseLastPosByTake() == True && Profit > ProClo / clo - GetProfitCloseLastPosByTake() * clo)

numero = numero > clo

E ho già fatto con il bool come mi avete consigliato:

bool a = false;

if(isCloseLastPosByTake() == True && Profit > ProClo / clo - GetProfitCloseLastPosByTake() * clo) a = true;


//Кстати, isCloseLastPosByTake() это член, а GetProfitCloseLastPosByTake() это число

E funziona, come vi ho già detto nella pagina precedente! Grazie!
 
borilunad:
Da quanto ho capito avete variante per soddisfare tutte le condizioni, mentre nel mio caso è sufficiente una sola condizione, e anche se più condizioni sono soddisfatte, cosa improbabile, dato che sono molto diverse, non si arriverà a questo, perché una condizione scatterà. Se ho sbagliato, giustificatelo! Sono sempre felice di sentire qualcosa di nuovo! Grazie!

No, non è vero.

Se qualsiasi condizione (A, B, C, D) = vera, la richiesta sarà vera.

Se tutto =falso, la richiesta sarà falsa.

 
icas:

No, non è vero.

Se qualsiasi condizione (A, B, C, D) = vera, la richiesta sarà vera.

Se tutto =falso, la richiesta sarà falsa.

Proverò anche questo! Se dà un risultato positivo in termini di velocità, sceglierò il vostro. Grazie!

Ho provato, la funzione Request() messa fuori dall'inizio, ma il compilatore mi dà un avvertimento:

'Request' - nessuna dll definita per la funzione importata C:\Program Files\

Questo è tutto, ora funziona, ma penso che la variante di Rako sia migliore, perché non ho bisogno di inserire la funzione aggiuntiva Request(). Grazie!

 
Richiesta() ritorno() significava
 
pako:
Richiesta() ritorno() significava
Grazie, ma ho provato la variante di icas e il mio errore di mettere ; dopo Request(), ora funziona, ma penso che la tua variante sia migliore, come ti ho detto prima. Grazie!
 
borilunad:
Grazie, ma ero io che provavo la variante di icas e il mio errore, mettendo ; dopo Request(), ora funziona, ma penso che la tua variante sia migliore, come ti ho detto prima. Grazie!

Nella variante

 if((A + B + C + D + E) > 0) Action;

dovete sempre definire tutte le condizioni A, B, C, D, E.

Nella mia variante questo viene fatto solo quando tutte le condizioni sono false.

Pensate ora alla velocità.

 
icas:

Nella variante

dovete sempre definire tutte le condizioni A, B, C, D, E.

Nella mia variante questo viene fatto solo quando tutte le condizioni sono false.

Pensate alla velocità ora.

Grazie! E com'è? Ho queste condizioni prescritte all'inizio, dopo di che chiamo la vostra Request(). Dove e come fare non lo capisco. :(

Tenete a mente che tutte le condizioni sono mutuamente esclusive, e saranno sempre tutte false o solo una vera e le altre false.

 

icas!

Spero davvero di aver fatto qualcosa di sbagliato, perché controllando la tua opzione non ho ridotto il tempo di esecuzione nel tester!

Forse puoi spiegarmi cosa mettere cosa e dove! Grazie!!!

 

borilunad, qualsiasi chiamata di funzione aggiunge una frenata inutile. Quindi, se volete la massima velocità, dovete sbarazzarvi di tutte le funzioni Request() che eseguono operazioni di una sola sillaba. Lo stesso vale per i cicli. Controllare le condizioni in un ciclo è sempre molto più lento di una semplice serie di if() annidati