|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Oder Abfrage eleganter lösen
Hallo,
mal was fürs Auge und einen schlankeren und übersichtlicheren Code... Kann man eine lange Kette an "oder" Abfragen "||" wie diese übersichtlicher und in mehreren Zeilen schreiben? Code:
if (Hour()==8&&Minute()>58&&OpenAbstandAN==false||Open[0]>Open[OpenAbstand]&&OpenAbstandAN==true||Bid>iMA(NULL,0,MAPeriode,0,MODE_SMA,PRICE_CLOSE,1)&&MovingAvarageControl==true||HandelszeitAN==true&&Hour()<StartStunde||HandelszeitAN==true&&Hour()>EndStunde) |
|
|||
Ja, in dem man für jede Bedingung nen bool in einer Zeile schreibt.
|
|
|||
Code:
if (Hour()==8&&Minute()>58&&OpenAbstandAN==false||Open[0]>Open[OpenAbstand]) { if (OpenAbstandAN==true||Bid>iMA(NULL,0,MAPeriode,0,MODE_SMA,PRICE_CLOSE,1)) { if (MovingAvarageControl==true||HandelszeitAN==true) { if (Hour()<StartStunde||HandelszeitAN==true) { if (Hour()>EndStunde) { //... } } } } }
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
...wenn man jetzt noch die jeweils zusammengehörenden auf- und zugehenden Schweifklammern bündig untereinander schreibt, wird es noch übersichtlicher...
|
|
|||
Zitat:
Das ist platzsparender und bleibt zusätzlich übersichtlich. Die Bündigkeit ist mit der zugehenden Schweifklammer gegeben. Das Einzige, was ich sonst noch bzgl. der Übersichtlichkeit mache, ist die Operationszeichen mit einer Freistelle versehen, also so: Code:
if (Hour() == 8 && Minute() > 58 && OpenAbstandAN == false || Open[0] > Open[OpenAbstand]) { if (OpenAbstandAN == true || Bid > iMA(NULL, 0, MAPeriode, 0, MODE_SMA, PRICE_CLOSE, 1)) { if (MovingAvarageControl == true || HandelszeitAN == true) { if (Hour() < StartStunde || HandelszeitAN == true) { if (Hour() > EndStunde) { //... } } } } } Code:
if (Hour() == 8 && Minute() > 58 && !OpenAbstandAN || Open[0] > Open[OpenAbstand]) { if (OpenAbstandAN || Bid > iMA(NULL, 0, MAPeriode, 0, MODE_SMA, PRICE_CLOSE, 1)) { if (MovingAvarageControl || HandelszeitAN) { if (Hour() < StartStunde || HandelszeitAN) { if (Hour() > EndStunde) { //... } } } } } traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Ich habe vor längerem an einem Programmier-Kurs teilgenommen. Der Kursleiter benutzte auch die Schreibweise der aufgehenden Schweifklammern am Ende der Zeilen. Das hatte zur Folge, dass ständig diverse Kursteilnehmer damit beschäftigt waren, Schweifklammern zu suchen und zu zählen. Das Problem hatten alle. Ca. 10% der gesamten Zeit ging dafür verloren. Letztendlich ist es natürlich Geschmackssache, aber für die Mehrheit ist diese Schreibweise keine gute Idee.
Ich würde den Code so schreiben: PHP-Code:
|
|
|||
Dann mögen die geschweiften Klammern mit Dir sein.
Warum wohl der Kursleiter die aufgehende Klammer an das Ende der Zeile geschrieben hat...? Und wenn man sich angewöhnt sofort ein Klammerpaar zu setzen, dann braucht man auch nix zählen. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Zitat:
Aber wer was als Übersichtlich empfindet ist subjektiv verschieden... |
|
|||
Ne, lass mal jetzt, das geht alles in die falsche Richtung. Keiner hat was von 'alles in eine Zeile schreiben' geschrieben. Ich denke, dass mein Codebeispiel auch nicht im Geringsten danach aussieht. Lesbarkeit hat auch was mit Symmetrie und Optik zu tun.
Und ich denke, dass @Max2018 jetzt genug Code gesehen hat. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
Lesezeichen |
|
|