Lektion 13 - Ihr erster Expert Advisor (Teil 1) - Seite 4

 

Nicht übereinstimmende Klammern und Klammern

Einige zusätzliche Vorschläge

Zählen Sie die Klammern, indem Sie bei linken Klammern um 1 erhöhen und bei rechten Klammern um 1 erniedrigen. Am Ende sollte die Zahl Null stehen, wenn sie positiv oder negativ ist, dann prüfen Sie, wo die fehlende oder zusätzliche Eins stehen sollte.

Achten Sie darauf, dass Ihre Klammern () und Ihre Klammern {} sind. Bei einer kleinen Schrift und schwachen Augen wie den meinen kann es vorkommen, dass man ein ) mit einer } verwechselt. Durch Ersetzen oder Neutippen des gewünschten Zeichens kann das Problem behoben werden.

Verwenden Sie ctl z (Rückgängig machen) und ctl y (Wiederherstellen), um Ihre letzten Änderungen rückgängig zu machen.

Und schließlich, wenn alles andere versagt, kommentieren Sie Zeilen oder Teilzeilen mit // und Abschnitte mit /* */ aus. Wenn Sie Code auskommentieren und er sich korrekt kompilieren lässt, wissen Sie, dass der Fehler im auskommentierten Code liegt. Wenn die Kompilierung fehlschlägt, wissen Sie, dass der Fehler im letzten unkommentierten Code liegt; wenn die Kompilierung erfolgreich ist, liegt er immer noch im kommentierten Code. Bald werden Sie es auf eine oder zwei Zeilen eingrenzen können.

Ich hoffe, das hilft, denn ich programmiere schon sehr lange, und der Abgleich von () und {} bereitet mir immer noch Probleme.

Tzuman

 

Das hartnäckige Problem

Vielen Dank für Ihren Rat, aber wie Sie auf dem Screenshot sehen können, trenne ich die Codes visuell, um sie besser zu verstehen. Ich habe die Klammern vom Anfang des Codes bis zum Ende mehrfach gezählt und ich habe die gleiche Anzahl an öffnenden Klammern wie an schließenden Klammern (für if-Schleifen- {}, und für Funktionsparameter - ()). Ich kenne auch andere Programmiersprachen, also ist es kein Problem zu erklären oder zu verstehen.

Nochmals vielen Dank für Ihre Hilfe.

 

Danke für den tollen Ratschlag, Tzuman.

Ish

 

Kann mir jemand helfen? Ich werde verrückt. Ich kann diesen Indikator (mein erster Code) nicht fertigstellen, weil dieser Fehler erscheint. Ich habe den Code bereits überarbeitet und ich kann den falschen Teil nicht finden.

der Indikator-Code:

für_ein_neues_leben.mq4

Dateien:
 
Kelch Monteiro:
Kann mir jemand helfen? Ich werde verrückt. Ich kann diesen Indikator (mein erster Code) nicht fertigstellen, weil dieser Fehler erscheint. Ich habe den Code bereits überarbeitet und ich kann den falschen Teil nicht finden.

den Code des Indikators:

für_ein_neues_leben.mq4

Das ist jetzt in Ordnung, was die Syntax betrifft, aber ich weiß nicht, was MA() tun soll (es ist nicht als Funktion im Code definiert). Sie müssen eine MA()-Funktion definieren und "Periode" in einem Aufruf durch einen anderen Namen ersetzen (sonst beschwert sich Metatrader die ganze Zeit)

Dateien:
 
mladen:
Von der Syntax her ist das jetzt OK, aber ich weiß nicht, was MA() tun soll (es ist nicht als Funktion im Code definiert). Sie müssen eine MA()-Funktion definieren und "Period" in einem Aufruf durch einen anderen Namen ersetzen (sonst beschwert sich Metatrader ständig)

Danke mladen!

Ich vergaß das "i" vor dem "MA". lol.

Nun, ich habe versucht, etwas mit dem Grund zwischen der diference von zwei Emas (schnell und langsam) und 2times der Kraft-Indikator zu bauen. Aber ich weiß nicht, wie die Kraft-Indikator zu schreiben, weil es die Beziehung zwischen der angewandten und vorherigen bar haben. Ich werde eine Zigarette auf der Veranda rauchen und es noch einmal versuchen.

 
mladen:
Von der Syntax her ist das jetzt OK, aber ich weiß nicht, was MA() machen soll (es ist nicht als Funktion im Code definiert). Sie müssen eine MA()-Funktion definieren und "Period" in einem Aufruf durch einen anderen Namen ersetzen (sonst beschwert sich Metatrader ständig)

Ich weiß, was falsch ist. Ich muss den Force-Index erstellen, und rufen Sie es dort in der Formel. Sollte ich einen Puffer und ein Array erstellen, ist das richtig?

 
Kelch Monteiro:
Ich weiß, was falsch ist. Ich muss den Kraftindex erstellen und ihn dort in der Formel aufrufen. Sollte ich einen Puffer und ein Array erstellen, ist das richtig?

Kelch

Hängt davon ab, was der MA tun soll

Wenn es ein einfacher gleitender Durchschnitt (iMA()) ist, dann brauchen Sie keinen weiteren Puffer.

 

Kelch

Ich habe mir die Formel angesehen: (FastEMA-SlowEMA/[2*Cn-(Cn-1)]*Vn])

Ich habe versucht, sie zu übersetzen (ich nahm an, dass Cn und Cn-1 nahe und vorhergehend nahe sind). Probieren Sie es aus

Dateien:
 
mladen:
Kelch

Ich habe mir die Formel angesehen: (FastEMA-SlowEMA/[2*Cn-(Cn-1)]*Vn])

Ich habe versucht, es zu übersetzen (ich nahm an, dass Cn und Cn-1 nahe beieinander liegen und früher nahe beieinander lagen). Probieren Sie es aus

wirklich danke mladen!

Jetzt habe ich es gesehen.

Ich habe das Gleiche gemacht, schau mal nach:

for_a_new_life-1.ex4

for_a_new_life-1_1.mq4

Ich habe die Version von mir getestet und werde die Ihre auch testen.

Wenn dieser Indikator richtig ist, haben wir einige große Umkehrpunkte zu fangen.

Es ist, weil die Differenz zwischen den beiden gleitenden Durchschnitten geteilt durch die 2-fache Kraft, kann zeigen, wenn der Preis in einem Trend mit mehr Empfindlichkeit umzukehren ist. Testen Sie es mit einem anderen Grenzindikator und ich denke, Sie werden es mögen.

einige Bilder:

Ich bin zu froh, weil dies mein erster Beitrag zum Forum ist. Und ohne Eure Hilfe hätte ich es nicht geschafft.

Vielen Dank Mladen!

Dateien:
five.jpg  202 kb
four.jpg  233 kb
one.jpg  205 kb