Fehler, Irrtümer, Fragen - Seite 3038

 
Andrey Khatimlianskii:

Die ganze Frage ist das Verhältnis von "Kompressions-/Dekompressionszeit" zu "belegtem Speicherplatz".

Natürlich ist es möglich, eine bessere Lösung zu finden. Es ist nur ein bisschen komplizierter innerhalb eines Terminals als eine private Lösung "für sich selbst".

Es geht nicht darum, Daten zu komprimieren, sondern darum, sie logisch zu komprimieren, um indizierte Arrays zu bilden. Die Zugriffszeit auf ein Array-Element ist fast gleich. In einigen Fällen geht es sogar noch schneller.

 
Nikolai Semko:

Es geht nicht darum, Daten zu komprimieren, sondern darum, sie logisch zu komprimieren, um indizierte Arrays zu bilden. Die Zugriffszeit auf ein Array-Element ist fast gleich. In manchen Fällen sogar schneller.

Sind Sie bereit, eine MQ-Lösung anzubieten?

Ich bin nicht geneigt, jemanden, der so etwas wie MT getan hat, für einen Idioten zu halten. Das ist nicht immer gerechtfertigt, aber oft der Fall. Es gibt also wahrscheinlich einen Hintergrund für ihre Lösung. Aber das ist nicht sicher )

 
Andrey Khatimlianskii:

Was ist die Krücke?

Dass eine Million Nutzer (und mit ihnen die Makler) geschützt sind und Sie das Terminal 2 Mal neu laden müssen?

Das scheint mir eine logische Lösung zu sein. Das ist viel logischer, als es nur für Sie bequem zu machen)

Was ist die Verteidigung, Andrej?
Sie müssen nichts neu starten.
Die Daten sind bereits in den Dateien enthalten.

 
Andrey Khatimlianskii:

Sind Sie bereit, eine MQ-Lösung anzubieten?

Ich neige nicht dazu, jemanden, der so etwas wie MQ getan hat, für einen Idioten zu halten. Das ist nicht immer gerechtfertigt, aber oft der Fall. Es gibt also wahrscheinlich einen Hintergrund für ihre Lösung. Aber das ist nicht sicher )

Komm schon.
Es gibt immer eine bessere Lösung für ein bestehendes Problem.
Aber werde nicht zu einem Oldtimer.

 
Nikolai Semko:

Was ist die Verteidigung, Andrej?
Sie brauchen nichts nachzuladen.
Die Daten sind bereits in den Dateien enthalten.

Die Hauptsache ist, dass diese Daten nicht von Indikatoren und Expert Advisors gelesen werden, die den Arbeitsspeicher laden. Und wozu?

 
Nikolai Semko:

Kommen Sie.
Es gibt immer eine bessere Lösung als die bestehende.
Werden Sie aber nicht zu einem alten Mann.

Ich bin sicher, dass Sie das können.

Vielleicht ist es also nicht so wichtig.

 
Andrey Khatimlianskii:

Da diese Daten nicht von Indikatoren und EAs gelesen werden, wird auch der Arbeitsspeicher belastet. Wozu ist das gut?

um sich selbst ins Bein zu schießen - es gibt ohnehin schon unzählige Optionen.
Allein durch die Einstellung max_bars =Unlimited steigt der Speicherverbrauch dramatisch an.
Hier ein Beispiel für das Terminal mit max_bars = 5000

Ändern Sie nun max_bars = Unlimited und laden Sie das Terminal neu.

Bei denselben geöffneten Fenstern ist der Speicherverbrauch um mehr als ein GB gestiegen. In meinem Fall 11 Mal mehr !!!!
Dies ist eine normale ))
Sie können es selbst überprüfen.
max_bars = Unlimited ist ein sehr harter Luxus.
Wenn

meinem Antrag stattgegeben würde, könnten Sie niemalsmax_bars = Unlimited verwenden.
Das würde nicht nur Speicherplatz im RAM einsparen, sondern auch diesen Ordner, der jetzt etwa 31 GB groß ist, erheblich verkleinern. Ich denke, etwa 5 Mal so viel. Und es wären 6 GB anstelle von 30 GB.


 
Andrey Dik:

eine Krückenlösung besteht darin, die Datenbank in einem Ordner aufzubewahren und Links zu dem Ordner mit der Datenbank in die Ordner der Bearbeiter zu legen

Ich habe vor langer Zeit vorgeschlagen, in MT die Möglichkeit zu schaffen, den Pfad zu Ordnern mit Quellen und historischen Datenbanken zu wählen.

Wenn mehrere Terminals auf denselben Makler zugreifen, kann es bei der Nutzung der Links zu einem Zugriffsfehler kommen, was aber (theoretisch) für die Agenten kein Problem darstellen sollte.

Ist es das wirklich? In der MT5-Hilfe habe ich nichts über diesen Einstellungsreiter gefunden, wann ist er erschienen? - Ich habe keine Ahnung.

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Wanzen, Wanzen, Fragen

Andrey Dik, 2021.05.30 19:58

Wenn Sie im MetaTrader handeln wollen, müssen Sie einen Agent-Ordner erstellen und den Link zum Ordner mit der Datenbank dorthin kopieren.

der mt hat seit langem vorgeschlagen, die Möglichkeit, den Pfad zu Ordnern mit Quellen und historischen Datenbanken auszuwählen, als Standardfunktion zu implementieren.

Wenn mehrere Terminals auf dasselbe Maklersymbol zugreifen, kann es bei der Verwendung der Links zu einem Zugriffsfehler kommen, was aber (theoretisch) für Agenten kein Problem darstellen sollte.


 
Nikolai Semko:

Es gibt ohnehin schon unzählige Optionen.
Allein durch die Einstellung max_bars =Unlimited steigt der Speicherverbrauch dramatisch an.
Hier ein Beispiel für das Terminal mit max_bars = 5000

Ändern Sie nun max_bars = Unlimited und laden Sie das Terminal neu.

Bei denselben geöffneten Fenstern ist der Speicherverbrauch um mehr als ein GB gestiegen. In meinem Fall 11 Mal größer !!!!
Dies ist eine normale ))
Sie können es selbst überprüfen.
max_bars = Unlimited ist ein sehr harter Luxus.

Wenn wir jetzt über den Speicherverbrauch sprechen, erinnere ich mich, dass@fxsaber vor ein paar Monaten das gleiche Problem hatte, allerdings mit dem Laden von Ticks - nach dem Freigeben von Arrays mit Ticks gibt das Terminal den Speicher nicht frei, sondern speichert (für 10 Sekunden?) diese Ticks als Cache

Es ist sehr wahrscheinlich, dass Ihre Anfrage das gleiche Problem haben wird - der Speicherverbrauch wird nicht abnehmen, sondern zunehmen (in Hülle und Fülle)

 
Anton:

Diese wird vom Terminal bereitgestellt.

Ja, das tut sie.

Vielen Dank für die Antwort!

Es wäre sehr praktisch, einen Operator/eine Funktion in MQL5 zu haben, der/die die Berechnung aller Indikatoren prüft und, wenn die Indikatoren berechnet sind, wahr ausgibt, andernfalls muss dies mit einer eigenen Funktion geschehen, die jeden Indikatorpuffer prüft. Dies ist sehr wichtig für einen EA, der mit Multitasking-TF-Indikatoren arbeitet. Und diese Eigenschaft der Berechnungsverzögerung erlaubt es nicht, den OHLC-Modus korrekt zu nutzen, da beim ersten und zweiten Tick nicht alle Indikatoren berechnet werden, was kritisch ist.

Grund der Beschwerde: