Fehler, Irrtümer, Fragen - Seite 2489

 
Slava:

Übrigens, OnCalculate hat den Parameter rates_total

In OnCalculate zeigt der Parameter rates_total ebenfalls mehr an, als im Terminal konfiguriert ist.

 
Alexey Viktorov:

In OnCalculate zeigt der Parameter rates_total auch mehr an, als im Terminal eingestellt ist.

rates_total zeigt immer die Anzahl der im aktuellen Diagramm verfügbaren Balken an.

Ich verstehe nicht, was Sie mit Ihrer Aussage meinen.

 

Ich habe im Moment kein Client-Terminal zur Hand, um die Hilfe zu zitieren. Von einem mobilen Gerät aus mit zwei Klickshttps://www.metatrader5.com/ru/terminal/help/startworking/settings#max_bars

Speziell hervorgehobener Absatz

Für eine wirtschaftlichere Berechnung können die Indikatoren mehr Balken zur Verfügung haben, als im Parameter "Max bars in window" angegeben. Wenn neue Balken eintreffen, werden ältere Balken nicht sofort aus dem Datencache entfernt. Dies ermöglicht es, den Indikator nicht bei jedem neuen Balken komplett neu zu berechnen, sondern nur seine Werte für neue Balken zusätzlich zu berechnen.

Настройки платформы - Начало работы - MetaTrader 5
Настройки платформы - Начало работы - MetaTrader 5
  • www.metatrader5.com
Торговая платформа обладает множеством настроек, что позволяет организовать работу в ней так, как это удобно именно вам. Выполните команду " Настройки" меню "Сервис" или нажмите "Ctrl+O". Графики — общая настройка отображения ценовых графиков, а также настройка параметров управления объектами: выделение объектов после их создания, немедленная...
 
Slava:

rates_total zeigt immer die Anzahl der im aktuellen Diagramm verfügbaren Balken an.

Ich verstehe den Sinn Ihrer Aussage nicht

Tut mir leid, die Antwort liegt in Bildern.

Aber im Debugger zeigt es

Und Sie müssen durch 1268 Balken blättern, um den Indikatorwert zu überprüfen. Erst danach können Sie überprüfen, welche Werte des Hochs und/oder Tiefs sowie des Eröffnungs-/Schlussbalkens in den Berechnungen des Indikators verwendet werden.

Es ist einfach sehr unangenehm. Aber man gewöhnt sich schnell daran und stellt sich auf alles ein, was nicht gut ist.

 

Kompilierfehler erwartet

class A { public:
        void operator[]( int = 1 ) {} //нормально ???
};
void OnStart()
{
        A a;
        a[]; //нормально ???
}
 
Alexey Viktorov:

Tut mir leid, die Antwort ist in Bildern.

Aber der Debugger zeigt

Und um den Wert des Indikators zu überprüfen, müssen wir durch 1268 Balken blättern. Erst danach können Sie überprüfen, welche Werte des Hochs und/oder Tiefs sowie des Eröffnungs-/Schlussbalkens in den Berechnungen des Indikators verwendet werden.

Es ist einfach sehr unangenehm. Aber man gewöhnt sich schnell daran und stellt sich auf alles ein, was nicht gut ist.

Haben Sie mein Zitat im folgenden Beitrag aufmerksam gelesen?

Dieses Verhalten ist seit der Einführung der Einstellung "Maximale Anzahl von Balken auf dem Chart", d.h. seit Beginn von MT4, immer vorhanden. Und wir haben in diesen 15 Jahren oft erklärt, warum wir die Anzahl der Balken nicht jedes Mal entsprechend dieser Einstellung kürzen. Und jetzt machen wir nicht jedes Mal Abstriche.

Niemand liest die Dokumentation. Aber es ist ein Paradoxon. Dennoch bitten sie uns, etwas anderes in die Dokumentation zu schreiben, was sie nicht lesen.

 
Slava:

1. Wo muss die Dokumentation aktualisiert werden?

(2) Die einstellige Balkenkennung war immer die Balkenzeit, nicht die Balkennummer.

3. wenn Ihr Diagramm von jemandem mit ChartSetSymbolPeriod aufgerufen wurde, würden Sie leicht eine Änderung der Anzahl der Balken feststellen. Überrascht?

4. Übrigens gibt es den Parameter rates_total in OnCalculate.

1. genau die Stelle, auf die Sie im folgenden Beitrag hingewiesen haben. Fügen Sie einfach hinzu, dass es einen RESET geben wird, und dieser Reset wird genau durch die maximalen Balken im Fenster + 1439 erfolgen.

2. ok, ich werde das berücksichtigen. Sie wissen aber schon, dass es nicht zwei Bars zur gleichen Zeit geben kann, oder?

3. keine Überraschung. Ich spreche speziell von der Tatsache, dass, wenn Sie weder den Zeitrahmen noch das Symbol ändern, eine Rückstellung von 6439 auf 5000 erfolgen könnte.

4. Wenn Sie meinen obigen Beitrag aufmerksam gelesen haben, werden Sie das bemerkt haben:

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Fehler, Irrtümer, Fragen

Alexey Kozitsyn, 2019.06.28 10:40

Liebe Entwickler. Wenn ich Sie fragen möchte, ist die automatische Neuaufteilung von Indikatorpuffern normal? Unter Neuaufteilung verstehe ich Folgendes: maximale Anzahl der Balken im Fenster, z. B. 5000. Puffergröße + rates_total werden auf 5000 zurückgesetzt, wenn sie 6439 erreichen. Dasselbe geschieht, wenn die maximale Anzahl der Takte im Fenster 10000 beträgt. Die Rückstellung erfolgt bei 11439.

Aus diesem Grund können die Indikatoren abstürzen und falsche Daten anzeigen.

Bauen Sie 2085. Ich habe dieses Verhalten seit etwa 2000 Builds beobachtet.

Ich habe auch auf rates_total hingewiesen. Das Problem ist, dass rates_total und buffers nicht auf 0 zurückgesetzt werden (wäre dann kein Problem, einfach den gesamten Indikator neu berechnen und das war's). Und nimmt den Wert der maximalen Balken im Fenster. Das ist genau das, worüber Sie einfach schreiben sollten.

Um Ihnen die Arbeit zu erleichtern, würde ich gerne eine solche Aufzeichnung sehen:

Für eine ökonomischere Berechnung können die Indikatoren mehr Balken zur Verfügung haben, als im Parameter "Max bars in window" angegeben. Wenn neue Balken eintreffen, werden ältere Balken nicht sofort aus dem Datencache entfernt. Dadurch wird der Indikator nicht bei jedem neuen Balken vollständig neu berechnet, sondern seine Werte werden nur zu den neuen Balken hinzugefügt. Alte Takte werden gelöscht, sobald der Wert von Max bars im Fenster +1439 bars erreicht ist.

Ja, übrigens, bitte klären Sie, wird der Wert 1439 auch für andere TFs gespeichert? Oder nur für M1?

 
Slava:

Haben Sie mein Zitat im folgenden Beitrag aufmerksam gelesen?

Dieses Verhalten ist seit der Einführung der Einstellung "maximale Anzahl von Balken pro Chart", d.h. seit Beginn von MT4, immer vorhanden. Und wir haben in diesen 15 Jahren oft erklärt, warum wir die Anzahl der Balken nicht jedes Mal entsprechend dieser Einstellung reduzieren. Und jetzt machen wir nicht jedes Mal Abstriche.

Niemand liest die Dokumentation. Aber es ist ein Paradoxon. Dennoch bitten sie uns, etwas anderes in die Dokumentation zu schreiben, das sie nicht lesen

Sie sprechen hier von "Paradoxien" beim Lesen der Dokumentation. Und ich habe mehr als einmal festgestellt, dass Sie beim Lesen von Beiträgen paradoxe Zustände haben. Man liest sie nur oft nicht bis zum Ende durch. Wir alle haben unsere Unzulänglichkeiten. Nur ist es besser, sich nicht auf die Unzulänglichkeiten anderer zu konzentrieren, sondern auf die Unzulänglichkeiten des Produkts, das Sie entwickeln und das wir verwenden.

Ich danke Ihnen.

 
Alexey Kozitsyn:

Ich habe auch auf rates_total hingewiesen. Das Problem ist, dass rates_total und buffers nicht auf 0 zurückgesetzt werden, wenn rates_total und buffers neu aufgeteilt werden.

der Verweis ist nicht korrekt, sondern irreführend, ich schriebhttps://www.mql5.com/ru/forum/304239/page57#comment_11519307

In MQL5 die Puffer im Allgemeinen arbeiten als gewöhnliche Arrays, in MT4 das Terminal behandelt mit Puffern irgendwie - es zurückgesetzt sie auf EMPTY_VALUE, dann ... Ich weiß nicht mehr, wo ich über den Unterschied zwischen MT5- und MT4-Indikatoren geschrieben habe

Sie müssen die Puffer löschen - Sie löschen sie wie ein normales Array, das Terminal setzt nur die Größe des Array-Puffers selbst.

Новая версия платформы MetaTrader 5 build 2007: Экономический календарь, MQL5-программы в виде сервисов
Новая версия платформы MetaTrader 5 build 2007: Экономический календарь, MQL5-программы в виде сервисов
  • 2019.04.30
  • www.mql5.com
21 февраля 2019 года будет выпущена обновленная версия платформы MetaTrader 5...
 
Igor Makanu:

Der Hinweis ist nicht korrekt, sondern irreführend.

Das ist der Punkt, es ist besser, die Dokumentation einmal auf richtig, vollständig und aktuell zu ändern, als 15 Jahre lang verschiedenen Leuten, die etwas in der Dokumentation nicht gefunden haben, dasselbe zu erklären.