Ist es möglich, viele "Oder"-Zeichen (||) in Bedingungen zu vermeiden, die dieselbe Aktion verursachen? - Seite 5

 
borilunad:


Und das verstehe ich nicht, was Sie meinen. Woher haben Sie diese Zahlen? Und wenn Sie an kurzen Variablennamen interessiert sind, ziehe ich kurze Namen den langen vor. Oder was sonst? Ja, mir ist gerade aufgefallen, dass Sie in meiner Formel zwei Klammern vor clo und am Ende nach clo hinzugefügt haben. Das ist überhaupt nicht nötig, es stört die Berechnung. Aber trotzdem vielen Dank!

<--- 10.444 = 8.087 > 3.908 ist das in welcher Sprache?


double a;<------------ ist eine Zahl

(isCloseLastPosByTake() == True && Profit > ProClo / clo - GetProfitCloseLastPosByTake() * clo); <-------- dies ist ein Mitgliedervergleich

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

Zahl = Zahl > Zahl wie ist das zu verstehen?

 
pako:


double a;<------------ diese Zahl

(isCloseLastPosByTake() == True && Profit > ProClo / clo - GetProfitCloseLastPosByTake() * clo); <-------- dies ist ein Mitgliedervergleich

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

zahl = zahl > clo

Und ich habe bereits mit dem bool getan, wie Sie mir geraten haben:

bool a = false;

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


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

Und es funktioniert, wie ich Ihnen bereits auf der vorherigen Seite gesagt habe! Ich danke Ihnen!
 
borilunad:
So wie ich das verstehe, haben Sie die Variante, alle Bedingungen zu erfüllen, während in meinem Fall nur eine Bedingung ausreicht, und selbst wenn mehrere Bedingungen erfüllt werden, was unwahrscheinlich ist, da sie sehr unterschiedlich sind, wird es nicht dazu kommen, weil eine Bedingung ausgelöst wird. Wenn ich mich geirrt habe, begründen Sie das, ich bin immer froh, etwas Neues zu hören! Danke!

Nein, das müssen Sie nicht.

Wenn eine beliebige Bedingung (A, B, C, D) = wahr ist, wird die Anfrage wahr sein.

Wenn alle =false sind, wird die Anfrage falsch sein.

 
icas:

Nein, das müssen Sie nicht.

Wenn eine beliebige Bedingung (A, B, C, D) = wahr ist, wird die Anfrage wahr sein.

Wenn alle =false sind, wird die Anfrage falsch sein.

Das werde ich auch versuchen! Wenn das Ergebnis in Bezug auf die Geschwindigkeit positiv ausfällt, werde ich mich für Ihre Lösung entscheiden. Ich danke Ihnen!

Ich habe es versucht, die Request()-Funktion außerhalb des Starts zu setzen, aber der Compiler gibt mir eine Warnung:

'Request' - keine dll für die importierte Funktion definiert C:\Program Files\

Das ist alles, es funktioniert jetzt, aber ich denke, die Variante von Rako ist besser, weil ich keine zusätzliche Funktion Request() eingeben muss. Danke!

 
Request() return() bedeutete
 
pako:
Request() return() bedeutete
Danke, aber ich habe die Variante von icas ausprobiert und meinen Fehler gemacht, indem ich ; nach Request() gesetzt habe , jetzt funktioniert es, aber ich denke, dass Ihre Variante besser ist, wie ich Ihnen bereits sagte. Danke!
 
borilunad:
Danke, aber ich habe die Variante von icas ausprobiert, und mein Fehler, ; nach Request() zu setzen , funktioniert jetzt, aber ich denke, Ihre Variante ist besser, wie ich Ihnen schon sagte. Danke!

In der Variante

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

müssen Sie immer alle Bedingungen A, B, C, D, E definieren.

In meiner Variante wird dies nur gemacht, wenn alle Bedingungen falsch sind.

Denken Sie jetzt an die Geschwindigkeit.

 
icas:

In der Variante

müssen Sie immer alle Bedingungen A, B, C, D, E definieren.

In meiner Variante wird dies nur gemacht, wenn alle Bedingungen falsch sind.

Denken Sie jetzt an die Geschwindigkeit.

Ich danke Ihnen! Und wie ist das? Ich habe diese Bedingungen am Anfang vorgeschrieben, wonach ich Ihr Request() aufrufe. Wo und wie, das verstehe ich nicht. :(

Denken Sie daran, dass sich alle Bedingungen gegenseitig ausschließen und immer alle falsch oder nur eine wahr und der Rest falsch sein werden.

 

icas!

Ich hoffe wirklich, dass ich es irgendwie nicht richtig gemacht habe, denn die Aktivierung Ihrer Option hat die Laufzeit im Tester nicht verringert!

Vielleicht können Sie mir erklären, was ich wo einfügen soll! Danke!!!

 

borilunad, fügen alle Funktionsaufrufe unnötige Bremsen hinzu. Wenn Sie also maximale Geschwindigkeit wollen, sollten Sie alle Request()-Funktionen, die einsilbige Operationen durchführen, loswerden. Das Gleiche gilt für Schleifen. Die Überprüfung der Bedingungen in einer Schleife ist immer viel langsamer als eine Reihe von verschachtelten if()