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
Ich bin verwirrt
Ich habe die Endung i-- in der ersten Schleife entfernt, aber das hatte keinen Effekt.
Mit einer kleinen Änderung scheint Ihr Code etwas zu tun...
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[0]= 0
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[1]= 0
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[2]= 0
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[3]= 0.8202
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[4]= 0.8202
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[5]= 0.8202
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[6]= 0.8202
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[7]= 0.8202
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[8]= 0
"Bei der Deklaration eines Arrays müssen Datentyp, Array-Name und Anzahl der Elemente jeder Dimension angegeben werden:"
Mit einer kleinen Änderung scheint Ihr Code etwas zu tun...
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[0]= 0
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[1]= 0
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[2]= 0
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[3]= 0.8202
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[4]= 0.8202
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[5]= 0.8202
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[6]= 0.8202
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[7]= 0.8202
2011.09.21 11:24:41 2007.04.05 21:11 Agent86_5min AUDUSD,H1: v1[8]= 0
"Bei der Deklaration eines Arrays müssen Datentyp, Array-Name und Anzahl der Elemente jeder Dimension angegeben werden:"
Mein Verständnis war, dass double v1[] den Datentyp global und vor dem Start() bestimmt.
Dann wird das Array mit [i] initialisiert, um ihm mitzuteilen, wie viele Elemente im Array sind, in diesem Fall 1 Dimension mit elements = Bars, aber die Anzahl ändert sich beim Deinkrementieren von i--.
richtig?
Wenn also die Anzahl der Elemente deinkrementiert wird, wie speichert und postet der Puffer den Indikator, wenn die Anzahl der Elemente nicht mehr vorhanden ist?
Oder sollte ich besser sagen, was passiert mit den Elementen, wenn sie [i] deinkrementieren?
Verschwinden sie einfach? Werden sie noch in v1[i] gespeichert, um referenziert zu werden, oder sind sie weg?
Wenn ich das herausfinde, kann ich vielleicht verstehen, wie ich sie referenzieren kann, oder wenn sie verschwunden sind, kann ich herausfinden, wie ich sie für die Verwendung speichern kann.
Was ich nicht verstehe, ist, dass die else-Anweisung in der Lage zu sein scheint, v1[i]=v1[i+1] zu referenzieren. Wie kann sie also v1[i] referenzieren, wenn zu diesem Zeitpunkt v1[i] = 0 ist, wenn ich an diesem Punkt drucke.
Dies macht irgendwie Sinn = 0 in gewissem Sinne, denn wenn das Array leer ist, dann würde es das leere Array als 0 drucken, da es keine Elemente im Array gibt.
Ich bin mir nicht sicher, ob ich es wirklich verstehe, aber ich denke ständig darüber nach und lese das Dokument immer wieder.
Wenn man bedenkt, dass Bars mehr als eine Nummer hat, die mit ihr verbunden ist, könnte die Dimension anders sein als das, was ich denke.
Also werde ich wohl noch mehr darüber lesen, um sicher zu sein, dass ich verstehe, was ich eigentlich bin.
Ich hatte gedacht, dass es sich nur um eine einzelne Zahl handelt, wie z.B. Bar=die Anzahl der Balken im Diagramm
Wenn ich Bars ausdrucke, erhalte ich 1002 auf dem 5-Minuten-Chart, und ich denke, dass dies eine einzelne Dimension ist.
Ich werde weiter daran arbeiten.
Wenn Sie ein Array größer (oder kleiner) machen wollen, müssen Sie ArrayResize verwenden... ein Array ist genau wie jede andere Variable ... es ist nur so, dass es viele davon geben kann, auf die man leicht zugreifen kann ...
Kopieren Sie diesen Code und führen Sie ihn als Skript aus. Was glauben Sie, wie die Ausgabe aussehen wird?
2011.09.21 07:54:26 keine EURUSD,M5: uninit Grund 0
2011.09.21 07:54:26 keine EURUSD,M5: deinitialisiert
2011.09.21 07:54:26 keine EURUSD,M5: test[39]= 0
2011.09.21 07:54:26 keine EURUSD,M5: initialisiert
Dies ist, was das Skript produziert ich kopiert es genau
Ich habe einfach doppelt geklickt und es lief und das ist, was in der Registerkarte Experten
Das Journal des Skripts sagt nur
2011.09.21 07:54:26 Skript keine EURUSD,M5: entfernt
2011.09.21 07:54:26 Skript keine EURUSD,M5: erfolgreich geladen
Ich dachte, ich sollte 45,6 als die Ausgabe zu sehen? bin ich falsch?
Ich habe mein eigenes festes Array[5] = {1,2,3,4,5} erstellt
und scheine in der Lage zu sein, Print[5] oder Print[3] etc.
Ich füge die geschweiften Klammern ein und sehe mir das Skript noch einmal an
OK, gut . . jetzt diese Zeile bearbeiten . .
. . und versuchen Sie es erneut.
2011.09.21 08:07:58 keine EURUSD,M5: deinitialisiert
2011.09.21 08:07:58 keine EURUSD,M5: test[39]= 45.6
Verdammt, ich muss los, bin in ein paar Stunden zurück.
Vielleicht kann ich während des Fahrens weiter darüber nachdenken
Es gibt wirklich nichts, worüber man nachdenken müsste...
"Bei der Deklaration eines Arrays müssen Datentyp, Array-Name und Anzahl der Elemente jeder Dimension angegeben werden:"
Sie müssen die Anzahl der Elemente im Array angeben...
Interessant
Ich dachte, die Anzahl der Elemente wird mit v1[i] deklariert? Da i=Bars, dachte ich, es sei dasselbe wie v1[Bars] zu sagen, was auch immer diese Zahl ist
Wenn es nicht deklariert ist, verstehe ich nicht, wie der Indikator weiß, was v1[i] ist, wenn ich es auch nicht referenzieren kann?Das gleiche Skript arbeitet mit der Indikatorversion und speichert diese im Puffer von v1[], woher weiß es also, wie es auf den Puffer verweisen kann, um die Linie zu zeichnen?
Der Indikator funktioniert derzeit. Ist dies ein anderes Thema?
Ja, Indikatorpuffer werden anders behandelt als gewöhnliche Arrays.
v[i] deklariert nicht das Array, es ist nur eines der Elemente . . aber double v[]; ist ein Array mit Nullelementen . . also ist v[anything] immer = 0