Fehler, Irrtümer, Fragen - Seite 3036

 
Anton:

Diese wird vom Terminal bereitgestellt.

Ja, das tut sie.

Anton, eine separate Funktion zum Abrufen aller M1 (nur M1) unabhängig vom Parameter MAX_BARS ohne Zwischenspeichern und Speichern der Daten auf der Festplatte fehlt sehr. Dies würde dem Programmierer neue Möglichkeiten geben, seine eigene Struktur der historischen Daten zu bilden.
Es wird auf alle Ticks zugegriffen, aber nicht auf M1, wenn MAX_BARS != Unlimited ist. Das Problem würde sich nicht stellen, wenn alle Zecken die gesamte Geschichte von M1 abdecken würden, aber das tun sie nicht.
 
Nikolai Semko:
Anton, wirklich fehlt eine separate Funktion, um alle M1 (nur M1) unabhängig von der MAX_BARS-Parameter, ohne Zwischenspeichern und Speichern der Daten auf der Festplatte zu erhalten. Dies würde dem Programmierer neue Möglichkeiten geben, seine eigene Struktur der historischen Daten zu bilden.
Es wird auf alle Ticks zugegriffen, aber nicht auf M1, wenn MAX_BARS != Unlimited ist. Die Frage würde sich nicht stellen, wenn alle Zecken die gesamte Geschichte von M1 abdecken würden, aber das tun sie nicht.

es bleibt abzuwarten, wie viele Benutzer oder Programmierer dies nutzen werden? - Aktivieren Sie die Eigenschaften des unbegrenzten Diagramms in den Terminaleinstellungen und verwenden Sie

Bisher sieht es so aus: "Entwickler kommen und schalten unbegrenzte Einstellungen für mich ein, wenn Sie keine neuen Pluspunkte machen".

 
Igor Makanu:

Bleibt nur noch herauszufinden, wie viele Nutzer oder Programmierer es verwenden werden. - Aktivieren Sie die Eigenschaften des unbegrenzten Diagramms in den Terminaleinstellungen und verwenden Sie

Bisher sieht es so aus, dass der Entwickler kommt und die Unlimited-Einstellung für mich einstellt, wenn du keine neuen Plüschtiere machst.

Unbegrenzt ist eine sehr teure Option für das gesamte Terminal. Sofort steigt der Speicherplatz- und Datenverkehrsverbrauch ins Unermessliche. Aber wenn ichUnlimited nur für ein Werkzeug und nur einmal brauche?
Schließlich nehmen meine Dateien mit historischen Daten fünfmal weniger Speicherplatz in Anspruch als normale Dateien, und gleichzeitig sind sie informativer, weil sie die Zeiten für Hoch und Tief und alle bereits berechneten TFs enthalten und nicht jedes Mal neu berechnet werden müssen.

Ich versichere
Ihnen, Igor, dass, wenn ich eine solche Bibliothek in BE veröffentliche, viele Programmierer sie benutzen oder etwas Ähnliches entwickeln werden, wenn sie ihre Effektivität sehen.
Und wenn es auch ein Produkt auf dem Marktplatz ist?
Muss ich jeden dazu auffordern, diese Funktionuneingeschränkt zu aktivieren, obwohl ich weiß, dass sie dadurch sehr viel Datenverkehr und Speicherplatz beanspruchen wird?

Ich denke, dass mein Antrag vollkommen ausreichend ist und dass er nicht viele Ressourcen für die Umsetzung erfordert, da alles bereits vorhanden ist, wie es ist. Das ist eine Sache von 10-15 Minuten.
Denn wenn max_bars = 1000 und Sie 1000 W1-Balken anfordern, wird ohnehin die gesamte M1-Historie geladen, und W1 wird bereits daraus berechnet, nur M1 wird nicht in der Datei gespeichert.

 
Nikolai Semko:

Denn wenn max_bars = 1000 und Sie 1000 W1-Balken anfordern, wird die gesamte M1-Historie geladen und W1 bereits daraus berechnet, nur M1 wird nicht in der Datei gespeichert.

Wie ist das möglich? Geladen, aber nicht gespeichert?

 
Andrey Khatimlianskii:

Wie war das? Geladen, aber nicht gespeichert?

Nur M1 wird vom Server heruntergeladen, und alle anderen TFs werden daraus generiert.
Es werden nicht mehr als max_bars Takte derjenigen TFs auf der Festplatte gespeichert, die programmatisch oder vom Benutzer über die TF-Auswahl angefordert wurden.
1000 Takte W1 sind etwa zwanzig Jahre an Daten, d.h. fast die gesamte Historie von M1 wird heruntergeladen.
Sie können Andrei meine Worte überprüfen. Öffnen Sie ein neues Symbol in der Marktübersicht, öffnen Sie dessen Fenster und schalten Sie sofort die monatliche TF ein. Und Sie werden sehen, wie schnell die Daten heruntergeladen werden.
Aber Sie werden eine kleine Datei in ...MetaQuotes\Terminal\...\bases\...\history\...\cache\M1.hc sehen.
Und das Lustige ist, dass die hcc-Dateien über all die Jahre hinweg erzeugt werden und bereits bis zu einem halben Gigabyte groß sind. Das hcc-Format bedeutet, dass sie bereits von M1 heruntergeladen wurden, aber für den Programmierer nicht verfügbar sind.
Sie müssen sie also auch nicht herunterladen.
Und nach der Größe der MqlRates-Struktur = 60 Bytes zu urteilen, sind die hcc-Dateien überhaupt nicht gepackt. Sehr verschwenderisch!

HZ hat ein Experiment durchgeführt und herausgefunden, dass bei der Abfrage von Daten beliebiger Zeiträume die entpackten Daten dieser Zeiträume in hcc-Dateien (Minutenbalken) gespeichert werden und die Daten erst beim Herunterfahren des Terminals aus dem RAM in den Cache-Katalog entpackt werden.
D.h., die Zeitrahmen werden im Speicher gebildet und berechnet und beim Herunterfahren des Terminals im Dateicache gespeichert. Das ist eigentlich logisch. Es ist nur unlogisch, hcc-Dateien in ungepackter Form aufzubewahren und Programmierern keinen Zugang zu ihnen zu gewähren.

 
Nikolai Semko:

Nun, wenn Sie warten müssen, warten Sie einfach, vorausgesetzt, die Entwickler sehen einen Sinn darin.... Stellen Sie sich nur darauf ein, dass Sie warten müssen, bis, nun ja... Ich fragte nach dem Operator-Overloading, der Administrator sagte, es sei eine unnötige Funktion, dann habe ich mich 5 Jahre lang nicht mit MQL beschäftigt und jetzt ist alles da! ))))

 
Igor Makanu:

Nun, wenn Sie warten müssen, warten Sie einfach, vorausgesetzt, die Entwickler sehen einen Sinn darin.... Stellen Sie sich nur darauf ein, dass Sie warten müssen, bis, nun ja... Ich fragte nach dem Operator-Overloading, der Administrator sagte, es sei eine unnötige Funktion, dann habe ich mich 5 Jahre lang nicht mit MQL beschäftigt und jetzt ist alles da! ))))

Ja, es ist ein trauriger Anblick. Ich stimme zu.
Der Grund dafür ist, wie ich bereits sagte, die manuelle Verwaltung des Unternehmens.

 
Anton:

Diese wird vom Terminal bereitgestellt.

Ja, das tut sie.

Nikolai Semko:
Anton, was sehr fehlt, ist eine separate Funktion, um alle M1 (nur M1) unabhängig vom MAX_BARS-Parameter ohne Zwischenspeichern und Speichern der Daten auf der Festplatte zu erhalten. Dies würde dem Programmierer neue Möglichkeiten geben, seine eigeneStruktur der historischen Daten zu bilden.
Es wird auf alle Ticks zugegriffen, aber nicht auf M1, wenn MAX_BARS != Unlimited ist. Die Frage würde sich nicht stellen, wenn alle Zecken die gesamte Geschichte von M1 abdecken würden, aber das tun sie nicht.

D.h. aus dem oben Gesagten kann die Anfrage sogar vereinfacht werden:
Erhalten Sie programmatischen Zugriff auf bereits vorhandene M1-Takte, die sich in hcc-Dateien befinden (heruntergeladen). Sie können dies mit einem separaten Befehl oder mit bereits vorhandenen Befehlen tun.
Wenn ich Minutenbalken über max_bars hinaus benötige, muss ich nur den Download von MN- oder W1-Balken initiieren, und danach kann ich sicher sein, dass die erforderlichen hcc-Dateien bereits generiert wurden.

 
d.h. wollen Sie die inhärente Fähigkeit, die inhärente Beschränkung zu umgehen? )
 
Andrei Trukhanovich:
Sie wollen also eine inhärente Fähigkeit, eine inhärente Beschränkung zu umgehen? )
Das ist keine Einschränkung.
Es hat keinen Sinn, sie einzuschränken.
Die Sicherheit wird nicht beeinträchtigt. Sie hat auch keine Auswirkungen auf die Ressourcen; im Gegenteil, es besteht die Möglichkeit, Ressourcen für die Programmierer einzusparen.
Dies ist ein einfacher Unlogismus, den ich zu korrigieren vorschlage.
Sie haben die Daten, aber Sie können nicht auf sie zugreifen.