Diskussion zum Artikel "Wie man den Berechnungsblock eines Indikators in den Code eines Expert Advisors überträgt" - Seite 4
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 habe nicht verstanden, aus dem Artikel, hat die Klasse-Indikator Schutz gegen fehlende Bars? Wenn zum Beispiel die Verbindung für 5 Takte unterbrochen wurde und dann die Historie geladen wurde, füllt der Klassenindikator dann nur den letzten Wert im Puffer auf oder führt er eine vollständige Neuberechnung durch?
Wenn Sie sich die Standard-Indikatorenklasse ansehen, verwendet sie beim Aktualisieren von Daten die Funktion CopyBuffer. D.h. sie füllt den gesamten Puffer aus der Terminal-Historie, nicht nur einen Teil davon.
In der Standard-Indikatorenklasse wird bei der Datenaktualisierung die Funktion CopyBuffer verwendet. Das heißt, sie füllt den gesamten Puffer aus der Terminal-Historie, nicht nur einen Teil davon.
Und die Neuberechnung der gesamten Historie bei jedem neuen Takt?
Ist das nicht zu aufwendig? Warum nicht das Datum der letzten Berechnung ermitteln und die Daten für diesen bestimmten Zeitraum kopieren?
Und die ganze Geschichte bei jedem neuen Takt neu zu berechnen?
Ist das dann nicht zu aufwendig? Warum nicht das Datum der letzten Berechnung ermitteln und die Daten für diese Zeitspanne kopieren?
Ich entschuldige mich, der vorherige Beitrag bezog sich nicht auf den Artikel, sondern auf die Standardbibliothek.
Im Artikel wird der Indikator in der Methode Calculate berechnet. Hier wird zunächst die Anzahl der Balken der letzten Neuberechnung ermittelt und erst dann der restliche Teil neu berechnet.
Ich entschuldige mich, der vorherige Beitrag bezog sich nicht auf den Artikel, sondern auf die Standardbibliothek.
Im Artikel wird der Indikator mit der Methode Calculate berechnet. Hier wird zunächst die Anzahl der Balken aus der letzten Neuberechnung ermittelt und erst dann der restliche Teil neu errechnet.
Vielen Dank für die Klarstellung!
vielen Dank
Sehr schönes Konzept, aber wenn ich einen Preis-Aktion-Indikator mit mehreren Preisen (hoch, niedrig, schließen, öffnen), die Indikator-Wert berechnet, basierend auf z.B. Differenz von hoch und niedrig gibt es ein Problem der mit nur einem Array von Daten (m_source_data in CIndicator-Klasse), gibt es eine Möglichkeit, dies zu umgehen oder schlagen Sie vor, die CIndicator-Klasse zu ändern und die m_source_data ein Array von (mqlRates oder CArrayBuffer,...)?
Ja, Sie können CIndicator ändern, um m_source_data als Array von MqlRates zu erstellen. Ich empfehle MqlRates, weil Sie auf andere Weise einige Aktionen benötigen, um Daten in verschiedenen Arrays zu synchronisieren.