![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Und sagen wir, ich deklariere val1 mit shift 3
und dann ist die Schleife natürlich shift i
Wenn ich mich auf val1 außerhalb der Schleife beziehe, spreche ich dann von val1 global oder val1 in der Schleife?
Ich schätze, ich frage mich, ob ich ein separates globales Fraktal für meine if-Anweisungen wie val3 und val4 oder so etwas hinzufügen sollte
Ich komme hier irgendwie nicht weiter, aber es scheint so, als ob das ABCD-Schema zumindest ein wenig Fortschritte macht
Wie auch immer, hier ist der Code, irgendwelche Ideen?
Das A wäre also der vorherige Tiefpunkt und val1 sollte die aktuelle Verschiebung 3 sein, und dasselbe mit a und val2
Ich muss noch einmal testen, um sicher zu sein, dass A und a sich auf die richtigen Werte beziehen, denn ich habe die !=0-Anweisungen hinzugefügt, damit die leeren Werte nicht gedruckt werden.
Auf den ersten Blick scheint es in Ordnung zu sein, aber ich muss das noch einmal bestätigen
Um es noch einmal zu sagen:
Bezieht sich val1 in meiner if(-Anweisung) auf die richtige Bedingung, oder brauche ich ein völlig anderes iFractal, um mich auf Shift 3 zu beziehen
Ich kann nicht wirklich sagen, ob es richtig funktioniert oder nicht, es scheint zu funktionieren, aber irgendetwas scheint nicht zu stimmen, und ich kann nicht genau sagen, was es ist.
Bitte um Rat
Danke
Obwohl dies wirklich kein Indikator-Thema mehr ist, sollte ich dies in ein neues Thema verschieben?
Wenn ich etwas wie dieses verwende
Und sagen wir mal, ich deklariere val1 mit shift 3
und dann ist die Schleife natürlich shift i
Wenn ich val1 außerhalb der Schleife referenziere, spreche ich dann von val1 global oder val1 in der Schleife?
Ich schätze, ich frage mich, ob ich ein separates globales Fraktal für meine if-Anweisungen wie val3 und val4 oder so etwas hinzufügen sollte.
val1 und val2 werden mit globalem Geltungsbereich deklariert, i wird lokal in start() deklariert.
val1 und val2 haben innerhalb oder außerhalb der Schleife den letzten Wert, der ihnen zugewiesen wurde ... das geschieht vor der Schleife und dann können die Werte innerhalb der Schleife geändert werden ... sobald die Schleife verlassen wird, sind die Werte, was sie sind und bleiben so, bis start() das nächste Mal aufgerufen wird, dann werden sie zurückgesetzt und dann möglicherweise in der Schleife geändert ... usw. usw.
val1 und val2 werden mit globalem Geltungsbereich deklariert, i wird lokal in start() deklariert.
val1 und val2 haben innerhalb oder außerhalb der Schleife den letzten Wert, der ihnen zugewiesen wurde ... das geschieht vor der Schleife und dann können die Werte innerhalb der Schleife geändert werden ... sobald die Schleife verlassen wird, sind die Werte, was sie sind und bleiben so, bis start() das nächste Mal aufgerufen wird, dann werden sie zurückgesetzt und dann möglicherweise in der Schleife geändert ... usw. usw.
Ich könnte versuchen, nach den Werten zu gehen, während ich in der Schleife bin, und einfach val1 und val2 =iFractal,,,3 neu deklarieren. Um die Dinge zurückzusetzen, aber erst nachdem ich A=val2 und a=val1 deklariert habe, damit ich einen Wert für diese Werte habe, der hoffentlich mein vorheriges Fraktal ist, wenn ich das richtig verstanden habe.
Oder ich könnte val 1 und val2 außerhalb der Schleife neu deklarieren, aber ich möchte nicht den Wert für A oder a verlieren, also muss ich es einfach zu den richtigen Zeiten ausarbeiten, denke ich.
Es könnte auch sein, dass ich das alles falsch angehe, aber das ist egal. Irgendwo muss man ja anfangen, also habe ich mir das für den Moment ausgesucht; und ich kann es anpassen, wenn ich mehr Erfahrung habe.
Vielen Dank für die HilfeIch schätze, ich sollte diese wahrscheinlich in val3 und val4 ändern, um das aktuelle iFractal für den Handel zu verwenden und nur auf (A) und (a) zu verweisen, um auf mein vorheriges Fraktal zu verweisen.
Ich werde weiter daran arbeiten.
Danke
Nachdem ich ein paar Tage darüber nachgedacht und versucht habe, die Logik durchzuarbeiten, denke ich, dass ich jetzt einen besser funktionierenden Code habe, obwohl er nicht perfekt ist, aber er macht Fortschritte
Ich habe also meine A- und B-Werte und während eine Indikatoranweisung in den anfänglichen if(Anweisungen && Indikatoren) platziert wird, werden die Werte einmal gedruckt, z. B. MACD schneller > langsamer oder einige solche Indikatoranweisungen.
Ich erhalte also nur A und B, wie ich es gerne hätte.
Ich bin mir nicht sicher, warum die Werte mehrfach gedruckt werden, wenn die Indikatoroptionen aus den if(Anweisungen) entfernt werden.
Wie auch immer, ich bin immer ein wenig näher mit diesem ABCD Art von Schema, das auf andere Indikatoren zu nicht nur Fraktale etc. für zukünftige Referenz verwendet werden kann
Bitte beraten
Danke
Dies könnte Ihnen helfen. Es ist ein Indikator für den Zugriff auf die letzten Fraktale und die Verschiebung, mit dem du dein ABCD ausrechnen kannst.
Das ergibt die oberen Fraktale. Ändern Sie "" in "L" für untere Fraktale.
Damit erhalten Sie das Fraktal vor dem letzten Fraktal.
Dies könnte Ihnen helfen. Es ist ein Indikator für den Zugriff auf die letzten Fraktale und die Verschiebung, mit dem du dein ABCD ausrechnen kannst.
Das ergibt die oberen Fraktale. Ändern Sie "" in "L" für untere Fraktale.
Damit erhalten Sie das Fraktal vor dem letzten Fraktal.
vor meinem letzten Code in diesem Thread hatte ich einige verschiedene (for) Anweisungen mit etwas Hilfe ausgearbeitet und es war auch ein Indikator, den ich in der Lage war, zu zeichnen, was ich in den Puffer wollte, jedoch brachte mich zu einem anderen Problem der Versuch, die Werte zu extrahieren und nur diese Werte einmal zu drucken, verwendet oder referenziert werden.
Da diese verschiedenen for-Anweisungen bei mir Probleme verursachen und diese dem von Ihnen geposteten Code ähneln.Ich war nie in der Lage, die Werte zu erhalten, ohne ständig den Wert jedes Mal zu drucken, wenn er wahr wird, was ständig der Fall ist.
Ich habe einige dieser Probleme gelöst, aber ich habe nie wirklich gelernt, wie man aufhört, sobald eine Bedingung erfüllt ist.
Ich sehe in Ihrem Code eine Sache, die helfen könnte, ist die statische datetime Block und ich habe nur einmal verwendet, bevor auf die Bedingung nur dann, wenn ein neuer Balken und neue Bar Zeit kommt in beziehen.
Dieser Teil könnte hilfreich sein, mit dem, was ich bin arbeiten. Und obwohl mein aktueller Code das aktuelle Fraktal und das vorherige Fraktal erzeugt, funktioniert es derzeit
Das einzige Problem, das ich meistens habe, ist, dass, sobald die Bedingung wahr ist, es die Anweisung kontinuierlich ausdruckt, was in Ordnung sein könnte, aber das bedeutet, dass es wahrscheinlich auch einen Handel kontinuierlich platzieren wird, sobald ich zu diesem Punkt komme.
Vielleicht brauche ich mehr Erfahrung in der Verwendung von iCustom Indikatoren und dies könnte eine Menge meiner Probleme lösen, aber ich bin noch nicht so weit in meinem Lernen.
Ich werde mir den Code und die EMPTY_VALUE-Teile noch einmal genauer ansehen. Jetzt, wo ich sehe, dass das verwendet wird, kann ich auch daraus lernen. Es wurde schon früher vorgeschlagen, aber ich habe nie verstanden, wie man es verwendet.
Ich werde weiter daran arbeiten.
Vielen Dank für die Hilfe
Dann funktioniert es und gibt nur genau das, was ich will, die A niedrig, B hoch, dann und / oder B niedrig und A hoch
drucken ist.
Aber wenn ich die schneller > langsamer und schneller < langsamer auf diese beiden if-Anweisungen herausnehme, dann bemerke ich, dass es NIE das A-Hoch druckt und auch kontinuierlich die anderen druckt, die ich verwirrt bin
Ich werde weiter daran arbeiten, ich bin mir sicher, dass ich die Anweisung nur einmal ohne andere Indikatoranweisungen im EA ausdrucken muss, damit ich weiß, dass die Indikatoren die ABCD-Teile des Codes nicht beeinträchtigen
Zurück zum Zeichenbrett
Ich glaube, Ihr Problem liegt darin, dass Sie val1 und val2 nicht zurückgesetzt haben. Sobald Sie also den Höchst- und den letzten Tiefstwert gefunden haben, müssen Sie sie zurücksetzen:
Hoffentlich hilft das.