Fehler, Irrtümer, Fragen - Seite 2646
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
weil die Vorlage nur Typen nach Parameter ausgibt, nicht nach Ausgabewert.
Dies ist nicht korrekt.
Das ist nicht richtig.
Ich danke Ihnen!
Ja, es wird funktionieren, ich habe mich in der Syntax vertan.
ZS: Jetzt funktioniert alles wie vorgesehen:
Base64-Serialisierung von POD-StrukturenDas ist nicht sicher.
Nein, das ist es nicht. Sie haben die explizite Einstellung von Template-Parametertypen in der Funktion angemerkt, und ich habe über die Ausgabe gesprochen, über die explizite Einstellung hat fxsaber vor mir geantwortet. und vor Ihnen
Nein, das ist richtig. Sie haben die explizite Einstellung von Template-Parametertypen in der Funktion angemerkt, und ich habe über die Ausgabe gesprochen, über die explizite Einstellung hat fxsaber vor mir geantwortet. und vor Ihnen
Ich konnte es weder im Forum noch in den Dokumenten finden, daher habe ich eine Frage:
1. Wie groß ist die maximale Größe der Zeichenfolge, die MQL5 speichern kann?
2. Wie groß ist die maximale Größe der Zeichenfolge, die MQL4 speichern kann?
3. wenn es eine Speicherknappheit gibt, wird diese maximale Größe reduziert (oder kein Speicher für die Zeichenfolge zugewiesen) oder wird es einen Laufzeitfehler geben?
Defekte:
(nicht behoben von MT5(build 2319)) Fehler in der Template-Klassen-Cache-Operation: "Sie erstellen mehrmals ein komplexes umhülltes Objekt mit dem internen Typ "C", und es stellt sich heraus, dass es ein ganz anderer Datentyp ist, vielleicht "B", vielleicht "int", was immer Sie wollen...".
(nicht behoben durch MT5(build 2319)) Fehler bei der Generierung von Template-Klassencode bei Verwendung einer internen Klasse.
(nicht behoben MT5(build 2319)) Fehler bei der Definition interner Klassen - keine Möglichkeit, explizit auf den globalen Namespace zu verweisen, wenn eine Basisklasse angegeben wird.
Vorschläge:
ref - über die Notwendigkeit, in MQL eine Funktionalität für Typdeklarationen einzuführen.
Referenz- um die Erzeugung von Standard-Kopierkonstruktoren und Zuweisungsoperatoren zu erzwingen.
Defekte:
Gut, dass Sie Ihre Fehlerberichte im Auge behalten. Das habe ich nicht, deshalb ist alles unwiederbringlich im Forum verloren gegangen.
Vielleicht sollten Sie einige der gleichen Hash-Datensätze zu Ihren Fehlerberichten hinzufügen, damit man sie alle auf einmal suchen kann.
Ich konnte es weder im Forum noch in den Dokumenten finden, daher habe ich eine Frage:
1. Wie groß ist die maximale Größe der Zeichenfolge, die MQL5 speichern kann?
2. Wie groß ist die maximale Größe der Zeichenfolge, die MQL4 speichern kann?
3. wenn der Speicherplatz nicht ausreicht, wird die maximale Größe reduziert (oder kein Speicher für die Zeichenfolge zugewiesen), oder wird ein Laufzeitfehler auftreten?
versucht, einen String in MT4 zu testen
Der Speicher leckt langsam (5.1 von 11.9), in MT4 im Log:
StringLen = 221696000 , m_physical = 12157, m_total = 4095, m_available = 3365, m_used = 729
Im Allgemeinen können Sie für sinnvolle Aufgaben eine große Zeichenkette verwenden, vielleicht werde ich die Datei später durch eine Zeichenkette kopieren, um sie zu überprüfen
UPD:uchar u_arr[102400]; durch uchar u_arr[524224]; ersetzt , um den Prozess zu beschleun igen
Fazit: In MT4 ist das ungefähre Maximum, das in einen String gesetzt werden kann:
2020.02.13 21:11:24.177 tst_string EURUSD,H1: kein Speicherplatz vorhanden
2020.02.13 21:11:24.024 tst_string EURUSD,H1: StringLen = 640601728 , m_physical = 12157, m_total = 4095, m_available = 2556, m_used = 1539
d.h. etwa 640 MB
SZZ: MT5
2020.02.13 21:56:12.964 tst_string (EURUSD,H1) StringLen = 1073610752 , m_physical = 12157, m_total = 24314, m_available = 21975, m_used = 2339
2020.02.13 21:56:13.140 tst_string (EURUSD,H1) out of memory in 'tst_string.mq5' (41,12)
versucht, String in MT4 zu testen
Der Speicher leckt ein wenig im Win Manager (5.1 von 11.9), im MT4 im Log:
StringLen = 221696000 , m_physical = 12157, m_total = 4095, m_available = 3365, m_used = 729
Im Allgemeinen können Sie für sinnvolle Aufgaben eine große Zeichenkette verwenden, vielleicht werde ich die Datei später durch eine Zeichenkette kopieren, um sie zu überprüfen
UPD: uchar u_arr[ 102400 ]; durch uchar u_arr[524224]; ersetzt , um den Prozess zu beschleun igen
Fazit: In MT4 ist das ungefähre Maximum, das in einen String gesetzt werden kann:
2020.02.13 21:11:24.177 tst_string EURUSD,H1: kein Speicherplatz vorhanden
2020.02.13 21:11:24.024 tst_string EURUSD,H1: StringLen = 640601728 , m_physical = 12157, m_total = 4095, m_available = 2556, m_used = 1539
d.h. etwa 640 MB
SZZ: MT5
2020.02.13 21:56:12.964 tst_string (EURUSD,H1) StringLen = 1073610752 , m_physical = 12157, m_total = 24314, m_available = 21975, m_used = 2339
2020.02.13 21:56:13.140 tst_string (EURUSD,H1) out of memory in 'tst_string.mq5' (41,12)
Dies ist die Länge der Zeichenkette für Unicode, d. h. sie ist in MB mindestens doppelt so groß. 1,3 GB für MT4, was sinnvoll ist, da Sie einen kontinuierlichen Speicherpuffer benötigen und MT4 eine 32-Bit-Anwendung ist. Die mql4-Beschränkung ist also keine Beschränkung an sich, sondern wird nur durch den verfügbaren Speicher begrenzt.
Ich bin etwas überrascht, dass MT5 nicht mehr zulässt, da Sie anscheinend eine Menge Speicherplatz zur Verfügung haben. Ich werde mein Bestes auf meiner Seite versuchen.
Dies ist die Zeichenkettenlänge für Unicode, d. h. in MB ist sie mindestens doppelt so lang. 1,3 GB für MT4, was sinnvoll ist, da Sie einen kontinuierlichen Speicherpuffer benötigen und MT4 eine 32-Bit-Anwendung ist. Die Begrenzung von mql4 selbst ist also keine Begrenzung, sie wird nur durch den verfügbaren Speicher begrenzt.
Ich bin etwas überrascht, dass MT5 nicht mehr zulässt, da Sie anscheinend eine Menge Speicherplatz zur Verfügung haben. Ich werde mein Bestes auf meiner Seite versuchen.
ich habe 12gb Arbeitsspeicher, Windows 10, freier Speicher ca. 8gb
ich brauchte diesen Test, um die maximal erlaubten Zeilenlängen in mt4/ mt5 Terminals herauszufinden
Ich möchte nun zwischen den Terminals über die Redis-Datenbank austauschen
Redis ist eine sehr einfache Datenbank und arbeitet nur mit Strings (Schlüssel - Wert --> strin - string)
Gestern habe ich POD-Strukturen in Base64 serialisiert und es erhöht die Datengröße um etwa 1/3
Ich denke, dass ich sogar in diesem Fall die Möglichkeit habe, Strukturen mit einer Größe von 400 Mb pro Transaktion auszutauschen - das ist mehr als genug für jeden Zweck! ;)