[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 311
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
1. Die Variable "Kerzen" wird nirgendwo verwendet.
2. Die Linie
ist nicht korrekt geschrieben. Sie liegt in der Schleife - bei jeder Iteration der Schleife erstellen Sie eine neue Variable Cls. Und dort brauchen Sie es nicht. Der folgende Text ist ausreichend.
1. Ich habe vergessen zu erwähnen, dass die Arbeiten an den Indikatoren noch nicht abgeschlossen sind. In jedem Fall sollte dies aber die Funktionsweise dieser speziellen Funktion in keiner Weise beeinträchtigen.
2. So war es anfangs auch. Aber als es anfing, mir einen Fehler zu geben, dachte ich, dass das Problem irgendwie in der Übergabe von Daten aus einem Array in ein Array liegen könnte.
Und versuchen Sie die Zeile
ersetzen Sie es durch
Das hat nicht geholfen. Der Fehler ist immer noch derselbe.
Es gibt noch eine weitere Sache. Wenn Sie eine 4-Zellen-Dimension in einer der Array-Dimensionen deklariert haben, können Sie Buffer_OHLC[4][] nicht aufrufen - der Punkt ist, dass die Nummerierung mit Null beginnt, nicht mit Eins. Sie können also maximal Buffer_OHLC[3][] aufrufen;
Die Nullzelle kann auch leer bleiben. Ein ähnliches Beispiel wurde im Lehrbuch beschrieben. Im Allgemeinen bleibt der Fehler bestehen, auch wenn man die Größe des Feldes ändert.
PS Der Indikator sollte Daten aus einem anderen Werkzeug übernehmen und sie auf das aktuelle anwenden. Vielleicht mache ich bei der Lösung dieser Aufgabe etwas grundlegend falsch?
Die Nullzelle kann auch leer bleiben. Ein ähnliches Beispiel wurde im Lehrbuch beschrieben. Im Allgemeinen bleibt der Fehler auch nach einer Änderung der Array-Größe bestehen.
PS Der Indikator sollte Daten aus einem anderen Werkzeug übernehmen und sie auf das aktuelle Werkzeug anwenden. Vielleicht mache ich etwas grundlegend falsch, wenn ich dieses Problem löse?
Sie arbeiten einfach nicht korrekt mit einem zweidimensionalen Array
1. Den ersten Index mit dem zweiten Index vertauschen
2. ArrayResize verwenden
Die Nullzelle kann auch leer bleiben. Ein ähnliches Beispiel wurde im Lehrbuch beschrieben. Im Allgemeinen bleibt der Fehler bestehen, auch wenn man die Größe des Feldes ändert.
PS Der Indikator sollte Daten aus einem anderen Werkzeug übernehmen und sie auf das aktuelle anwenden. Vielleicht mache ich bei der Lösung dieser Aufgabe prinzipiell etwas falsch?
Sie haben das Array Buffer_OHLC[4][] deklariert. Sie adressieren eine nicht existierende Zelle des Arrays, nämlich Buffer_OHLC[4][i] - eine solche Zelle gibt es in dem von Ihnen angegebenen Array nicht. Das Maximum davon ist Buffer_OHLC[3][i].
Lassen Sie mich erklären: Sie haben 4 Zellen in der zweiten Dimension des Arrays deklariert (sagen wir, 4 Zeilen einer Tabelle mit einer unendlichen Anzahl von Spalten). Da die Nummerierung bei Null beginnt, ist die erste Zeile, auf die zugegriffen werden kann, Puffer_OHLC[0][], die zweite ist Puffer_OHLC[1][], die dritte ist Puffer_OHLC[2][] und die vierte ist Puffer_OHLC[3][]. Die Zeile Buffer_OHLC[4][] existiert nicht in dem von Ihnen deklarierten Array !
Achten Sie nicht auf die Bremsen, das ist das erste Mal, dass ich mit mehrdimensionalen Arrays zu tun habe :)
drknn, ich danke Ihnen! Ich verstehe Ihren Kommentar
1. Den ersten Index mit dem zweiten vertauschen
2. ArrayResize verwenden
Ich danke Ihnen! Ich habe das Ergebnis. Aber ich möchte auch über die Funktion ArrayResize und die Größe der ersten Dimension des Arrays aufklären.
Bei der Verwendung von limit-1 wird zwar ein Diagramm angezeigt, aber die Fehlermeldung 4051 "Ungültiger Wert des Funktionsparameters" wird eingeblendet.