Fehler, Irrtümer, Fragen - Seite 2202
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
Was ist so schwer? Behalten Sie die Ergebnisdatei im Auge + Native Sleep löst das Problem.
Übrigens, ja. Am einfachsten )))
Ja, es gibt ein solches Problem: Bei der Übergabe eines Zeigers per Referenz an einen überladenen Operator tritt ein Fehler auf. Dies ist in den letzten Builds aufgetreten, vorher war alles in Ordnung. Ich habe seit ein paar Monaten eine Anfrage an den Service-Desk geschickt, aber es ist still wie immer. Keine Antwort oder Verabschiedung.
Dies ist besonders kritisch für Zeiger-Arrays, da es keine andere Möglichkeit gibt, sie zu senden, außer per Referenz:
Ich sitze also immer noch auf 1554 Builds.
Ich konfrontiert das gleiche mit Zeigern in den neuesten Builds, früher war es möglich, void ohne Probleme übergeben, jetzt durch Verweis es nicht funktioniert, musste ich Code in mehreren meiner Bibliotheken zu korrigieren
Ein Synchronisationsobjekt mit einem größeren Overhead, als es die Datei bieten könnte? Blödsinn.
Ist es überhaupt notwendig, während der Prüfung in eine Datei zu schreiben? Was ist mit dem Speicher los?
Danke für den Hinweis auf Sleep() von Kernel!
Warum ist das so schwer? Behalten Sie die Ergebnisdatei im Auge, und mit dem nativen Schlafmodus ist das Problem gelöst.
MQL Sleep() überspringt beim Testen die virtuelle Zeit (d.h. tickt die Zeit um 0,6 Sekunden), während die reale Zeit weniger als eine Millisekunde überspringt und das externe Programm in Echtzeit ausgeführt wird.
Aber mit Sleep von Kernel werde ich es versuchen).
Ist es überhaupt notwendig, während der Prüfung in eine Datei zu schreiben? Was ist mit dem Speicher los?
Ja, die Verwendung des Speichers anstelle des Schreibens in eine Datei während des Tests spart etwas Zeit (ich habe keine genaue Schätzung vorgenommen, aber ich gehe von maximal 30 Millisekunden pro Zyklus aus), aber es ist immer noch das externe Programm, das die meiste Zeit benötigt.
Das Wichtigste ist also, die Tests auszusetzen, während das externe Programm läuft.
Ja, die Verwendung des Speichers anstelle des Schreibens in eine Datei während des Tests spart etwas Zeit (ich habe keine genaue Schätzung vorgenommen, aber ich gehe von höchstens 30 Millisekunden pro Zyklus aus), aber die meiste Zeit wird immer noch für die Ausführung des externen Programms aufgewendet.
Das Wichtigste ist also, die Tests auszusetzen, während das externe Programm läuft.
Im Allgemeinen unterscheidet sich die Geschwindigkeit beim Schreiben in eine Datei und in den Speicher um den Faktor zwei.
Und jetzt (Build 1809) ist es umgekehrt
https://www.mql5.com/ru/forum/1111/page2181#comment_6765277
Die 3. Zeile (in OnStart) wird kompiliert, die 4. Zeile jedoch nicht.
Mit anderen Worten
Und wenn Sie die Zeilen (1) und (2) vertauschen, ist das auch in Ordnung. Was ist der Unterschied?