Anfängerfrage zur While-Schleife
Ich arbeite gerade das Buch
https://book.mql4.com durch um zu lernen. Nun ist mir in folgendem Übungscode etwas aufgefallen: Code:
// ------------------------------------------------ ---------------------------------------- Muss die nicht deklariert werden oder gehen wir davon aus, dass sie schon deklariert ist und das nicht Bestandteil des Übungscodes ist? |
Das ist sicherlich einfach ein Groß/Kleinschreib-Fehler denn oben ist der Zähler int i zu finden. Nimm in der Schleife einfach i++; statt I++;.
Und zur besseren Lesbarkeit sollte man den Code einrücken. C$D |
@Ca$hDigger sagt es, zur besseren Lesbarkeit Code einrücken!
Benutzt hier im Editor in der Menüleiste das Zeichen # schreibt dort den Code dazwischen, rückt den Code mindestens nach jedem { ein. Es gibt zahlreiche schöne Beispiele. Wenn möglich auch Variablen in ähnlichen untereinanderstehenden Gleichungen auf gleiche Höhe schreiben, Vergleichszeichen auf gleiche Höhe und den Kommentartext weit rechts dann selbst linksbündig. In Deinen Codebeispiel ist nicht nur das i falsch geschrieben, sondern auch die beiden Int, die eigentlich als int zu schreiben wären. Üblicherweise werden lokale Variablen wie hier innerhalb der Funktion start() klein geschrieben, globale Variablen dagegen mit einem beginnenden Großbuchstaben, zur besseren Unterscheidbarkeit. Gelegentlich wird zur internen Kennzeichnung der Variablentyp in die Variable integriert, z.B. int ivariable oder int i_variable bzw. double dvariable oder d_variable Das dient dem besseren Verständnis, da man sofort an dem ersten Buchstaben erkennt, um welchen Variablentyp es sich handelt. Also, gewöhnt Euch von vornherein an, den Code gut strukturiert, nicht in ellenlangen Zeilen, eingerückt und mit verständlichen Variablennnamen zu schreiben. Das hilft v.a. auch denen, die sich hier auf die Fehlersuche begeben. traderdoc |
Sorry für das fehlende Einrücken, dass kenne ich auch so.
War aber eben die Datei aus dem darüber erwähnten Buch. Jedoch hätte ich das korrigieren sollen - mein Fehler. Copy & Paste ist halt nicht immer das Beste :rolleyes: Die Tips bezüglich der Groß- und Kleinschreibung sind echt wertvoll - Danke. Obgleich der Autor des Buches diese Fehler oft wiederholt... In der Deklaration groß geschrieben und unten dann Klein. MQL4 ist doch Groß- und Kleinschreibungssensitiv - oder? Ich meine das so gelesen zu haben. Und hier noch mal der Code zum Zeichnen , dass ich verstanden haben ;-) Code:
// ------------------------------------- |
Ne das passt noch nicht. Jetzt existiert die Variable int i gar nicht mehr und in der Schleife ist weiterhin das i groß was wiederum nicht zu dem kleinen i im Alert passt :D
Und int start ist auch immer noch groß geschrieben. C$D |
Code:
//-------------------------------------------------------------------- Gleich die nächste Frage: Wo bekommt den "case" hier den entsprechenden Zustand zugewiesen? Also wie wird "case" in dem Beispiel aus dem Buch eigentlich ausgelöst? Code:
//-------------------------------------------------------------------- |
bei fibonacci.mq4 fehlt in der while-schleife jetzt das i++ ;)
edit: ok du hast es gerade geändert |
Hm und welche Funktion übt nun die Variable i aus?
Case läuft über Delta in switch(Delta) traderdoc |
Zitat:
Zum Thema Case: Heißt also, das der Wert Delta in switch (Delta) die case-Anweisungen durchrasselt, bis eine gefunden wird, die wahr ist - richtig? |
Zitat:
Die Variable Delta stellt mit ihrem Wert die Größe dar, nach der die case Abfrage sucht. Ist case 1 true, dann wir die dahinterstehende Anweisung ausgeführt, wenn nicht, dann wird weiter gesucht usw. traderdoc |
Alle Zeitangaben in WEZ +2. Es ist jetzt 18:44 Uhr. |
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum