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 noch dabei, die Feinheiten der Indikatoren zu lernen und habe Fragen. Ich setze den Indikatorpuffer in OnInit() zurück, aber aus irgendeinem Grund werden die Puffer während der Kompilierung des Indikators nicht zurückgesetzt. Für die Logik sollte es nach der Kompilierung eine volle Zelle für jeden Puffer geben , aber auf dem Bild können Sie sehen, dass es viele davon gibt (ich denke, dass dies die vorherigen Pufferzellen sind). Wo mache ich einen Fehler?
if(rates_total-8==i)// || rates_total-5==i || rates_total-2==i) { ColorHistogram_2Buffer1[i]=high[i]; ColorHistogram_2Buffer2[i]=low[i]; ColorHistogram_2Colors[i]=0; }
Ich bin noch dabei, die Feinheiten der Indikatoren zu lernen und habe Fragen. Ich setze den Indikatorpuffer in OnInit() zurück, aber aus irgendeinem Grund werden die Puffer während der Kompilierung des Indikators nicht zurückgesetzt. Für die Logik sollte es nach der Kompilierung eine volle Zelle für jeden Puffer geben , aber auf dem Bild können Sie sehen, dass es viele davon gibt (ich denke, dass dies die vorherigen Pufferzellen sind). Wo mache ich einen Fehler?
Bei OnInit haben die Indikatorpuffer die Länge Null.
Deshalb können sie tun und lassen, was sie wollen, denn für sie sieht das alles aus wie die Arbeit eines toten Mannes.
Und wenn die Codeausführung zu OnCalculate wechselt, wird die Größe sofort gleich rates_total.
und es gibt "Müll" in allen Zellen des Feldes. Es können auch Reste aus der alten Indikatorberechnung vorhanden sein.
Bei OnInit haben die Indikatorpuffer die Länge Null.
Deshalb kann man mit ihnen machen, was man will, sie sind ein untrügliches Zeichen.
Und wenn die Codeausführung zu OnCalculate übergeht, wird die Größe sofort mit rates_total gleichgesetzt.
und alle Zellen in der Anordnung haben "Müll" in ihnen. Es kann sein, dass von der alten Indikatorberechnung noch etwas übrig ist.
Vielen Dank, ich habe alles bekommen und es hat funktioniert! Ich habe es so gemacht:
Vielen Dank, es hat alles geklappt! Ich habe es so gemacht:
Warum wird einer Variablen ein Wert zweimal zugewiesen?
Und eine Frage: Was ist der Sinn von all dem? Schließlich müssen beim Durchlaufen aller Balken in der Schleife ohnehin alle Zellen des Arrays mit etwas gefüllt werden. Es sei denn, der Indikator soll nur die aktuelle Position anzeigen, aber dann muss das Array bei jedem Takt initialisiert werden, nicht nur zu Beginn...
Warum wird einer Variablen ein Wert zweimal zugewiesen?
Und die Frage ist: Wozu brauchen wir das alles? Schließlich müssen beim Durchlaufen aller Balken in der Schleife ohnehin alle Zellen des Arrays mit etwas gefüllt werden. Es sei denn, der Indikator soll nur die aktuelle Position anzeigen, aber dann sollte das Array bei jedem Takt initialisiert werden, nicht nur zu Beginn...
In diesem Beispiel wollte ich nur verstehen, wie man den Puffer zurücksetzt. Aber in Zukunft (in dem Indikator, an dem ich gerade arbeite) werde ich sowohl die bisherigen Zellen belassen als auch neue hinzufügen müssen. Und genau daran begann ich zu arbeiten - sozusagen die ersten Tests.
Ich war mir nicht sicher, ob alle Aktionen mit dem Diagramm von OnInit() nachgeahmt werden, z.B. der Wechsel des Taimfreims. Ändern taimfreim zurückgesetzt (überprüft es jetzt), aber vielleicht gibt es etwas anderes, so habe ich die zweite in OnInit(), um sicher zu sein. Aber wenn nicht, dann werde ich sie nicht dort platzieren.
Ahh. Nun ja, die Variablen der globalen Ebene werden nicht initialisiert, wenn sich die Diagrammperiode ändert. Ich glaube... Ich kann mich nicht mehr genau erinnern.
Und im Allgemeinen kann man auf die zusätzliche boolsche Variable verzichten.
Und im Allgemeinen kann man auf diese zusätzliche boolsche Variable verzichten.
Ja, genau, noch besser, danke.
Können Sie mir sagen, warum bei einem Zeitraum von mehr als 30 Minuten eine so seltsame Zahl angezeigt wird?
KP 0 14:33:22.423 Test_DRAW_COLOR_HISTOGRAM2 (EURUSD,M30) PERIOD: 30
GG 0 14:33:24.402 Test_DRAW_COLOR_HISTOGRAM2 (EURUSD,H1) PERIOD: 16385
RJ 0 14:33:25.675 Test_DRAW_COLOR_HISTOGRAM2 (EURUSD,H4) PERIOD: 16388Können Sie mir sagen, warum bei einem Zeitraum von mehr als 30 Minuten eine so seltsame Zahl angezeigt wird?
Im MT5 sind die Periodenwerte nicht gleich der Anzahl der Minuten, wie im MT4