Kann ich den Code sehen, wenn es Ihnen nichts ausmacht? Ich habe es auf alle Arten versucht, aber es funktioniert nicht.
Ich weiß nicht, ob es einfacher ist, das Risiko in Prozenten der Wertpapiere zu addieren. Ich möchte den Code als Beispiel verwenden und die Rentabilität meines Handelsroboters zeigen.
Ich habe Ihnen den Code gegeben, der ohne Fehler funktioniert
Jede Fallvariante kann mit einer Ganzzahlkonstante, einer Zeichenkonstante oder einem konstanten Ausdruck gekennzeichnet werden. Ein konstanter Ausdruck darf keine Variablen oder Funktionsaufrufe enthalten. Eineswitch-Anweisung muss vom Typ Integer sein.
Valmars: Jede Fallvariante kann mit einer Ganzzahlkonstante, einer Zeichenkonstante oder einem konstanten Ausdruck gekennzeichnet werden. Ein konstanter Ausdruck darf keine Variablen oder Funktionsaufrufe enthalten. Eine switch-Anweisung muss vom Typ Integer sein.
sergey1294: Ich habe Ihnen den Code gegeben, der ohne Fehler funktioniert.
Tut mir leid, Sergej, das habe ich irgendwie übersehen. Ich habe es jetzt gefunden. Vielen Dank an alle, ich hätte nicht gedacht, dass es so lange dauern würde.
Interesting: Was sollte diese Funktion Ihrer Meinung nach zurückgeben? So wie ich es sehe -
So funktioniert das nicht.
if (LotStep == 0.01)return(NormalizeDouble(Lot,2));
if (LotStep == 0.1) return(NormalizeDouble(Lot,1));
if (LotStep == 1.0) return(NormalizeDouble(Lot,0));
Das funktioniert folgendermaßen.
if (LotStep == 0.01)Lot=NormalizeDouble(Lot,2);
if (LotStep == 0.1) Lot=NormalizeDouble(Lot,1);
if (LotStep == 1.0) Lot=NormalizeDouble(Lot,0);
return(Lot);
Richtig, und es funktioniert nicht. Das ist jedem selbst überlassen, aber ich persönlich habe immer geglaubt, dass return() am Ende jeder Funktion deklariert werden sollte, und der Compiler unterstützt mich dabei.
PS
Ich persönlich habe in MQL4 damit begonnen, die Variable Result zur Berechnung des Rückgabewerts zu verwenden. Ich sollte anmerken, dass der Aufruf von return() am Ende des Funktionscodes obligatorisch ist und seine Anwesenheit am Anfang/Mitte des Codes manchmal als eine Art Analogon von break wahrgenommen wird (der einzige Unterschied ist, dass break selbst vom Compiler nicht als Befehl zur Rückgabe des Ergebnisses der Funktion wahrgenommen wird).
Kann ich den Code sehen, wenn es Ihnen nichts ausmacht? Ich habe es auf alle Arten versucht, aber es funktioniert nicht.
Ich weiß nicht, ob es einfacher ist, das Risiko in Prozenten der Wertpapiere zu addieren. Ich möchte den Code als Beispiel verwenden und die Rentabilität meines Handelsroboters zeigen.
Jede Fallvariante kann mit einer Ganzzahlkonstante, einer Zeichenkonstante oder einem konstanten Ausdruck gekennzeichnet werden. Ein konstanter Ausdruck darf keine Variablen oder Funktionsaufrufe enthalten. Eine switch-Anweisung muss vom Typ Integer sein.
Ich habe Ihnen einen Code gegeben, der ohne Fehler funktioniert
Ich frage mich, warum eine Konstruktion wie diese nicht funktioniert, sie gibt einen Fehler - '}' - nicht alle Kontrollpfade geben einen Wert zurück
Ich habe Ihnen den Code gegeben, der ohne Fehler funktioniert.
Ich frage mich, warum eine Konstruktion wie diese nicht funktioniert, sie gibt einen Fehler - '}' - nicht alle Kontrollpfade geben einen Wert zurück
return(Lot);Was sollte diese Funktion Ihrer Meinung nach zurückgeben? So wie ich es sehe -
So funktioniert das nicht.
Das funktioniert folgendermaßen.
So funktioniert es nicht
Richtig, und es funktioniert nicht. Das ist jedem selbst überlassen, aber ich persönlich habe immer geglaubt, dass return() am Ende jeder Funktion deklariert werden sollte, und der Compiler unterstützt mich dabei.
PS
Ich persönlich habe in MQL4 damit begonnen, die Variable Result zur Berechnung des Rückgabewerts zu verwenden. Ich sollte anmerken, dass der Aufruf von return() am Ende des Funktionscodes obligatorisch ist und seine Anwesenheit am Anfang/Mitte des Codes manchmal als eine Art Analogon von break wahrgenommen wird (der einzige Unterschied ist, dass break selbst vom Compiler nicht als Befehl zur Rückgabe des Ergebnisses der Funktion wahrgenommen wird).
Es ist nicht korrekt, die == Bedingung für Variablen vom Typ double zu verwenden. Es wird empfohlen, wie folgt zu vergleichen: