![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Bild 630
Ich wollte schon an den Service Desk schreiben, aber dann hat es plötzlich geklappt. :) Ich konnte es nicht mehr reproduzieren (obwohl ich es ehrlich versucht habe), warum sollte ich es also zum Service Desk schicken?
Ja, es gibt ein eindeutiges Problem mit CLProgramCreate(). Ich habe die Stelle im Skript ausfindig gemacht, an der der erste Ausführungsfehler auftrat, und zwar in dieser Funktion. Die Funktion gibt keinen Wert zurück.
Das CL-Programm in Form eines Strings scheint korrekt wiedergegeben zu werden. Das CL-Programm selbst wird jedoch nicht erstellt.
Versuchen Sie, die Visualisierung zu starten, und Sie werden sofort verstehen, wie viele Berechnungen auf der Anzahl der Hintergrundzeichen in Marketwatch basieren.
aus dem Beitrag https://www.mql5.com/ru/forum/1111/page736#comment_185306
das Problem auf den Punkt gebracht:
- on-Funktion aus CFastFile::ReadInteger-Klasse
Es stellte sich heraus, dass in 630/64 entweder die Strukturzuweisung oder das Lesen von Array in Array schief ging, obwohl die schlimmste Variante die Umwandlung von vorzeichenbehafteten (short/int/char) in vorzeichenlose (ushort/uint/uchar) zu sein scheint.
Irgendwo gibt es zusätzliche Bits oder Offsets. Das Ergebnis ist, dass der Programmierer eine ganz andere Zahl abliest als beabsichtigt. Es wird für Sie einfacher sein, es auszusortieren und in der Funktion zu überprüfen.
Aber es funktioniert stabil mit demselben Code auf 4 Computern (der Code ist groß, ich kann die Darstellung nicht strecken).
Bitte sagen Sie mir, wie mein Laptop und PC zu verschmelzen, beim Testen von Strategien, Computer arbeiten über einen Router, ein über Kabel, das andere über Wi-Fi, versucht, eine Datei mt5 auf einem Desktop-Computer zu erstellen, warf es auf dem Laptop, fügte hinzu, um den Abschnitt Remote, aber die Namen der Agenten sind die gleichen wie auf einem Laptop
Funktioniert es nicht so? Kundenterminal / Strategietester / Agenten
Entwickler, ihr habt mich mit diesem Fehler überzeugt! Wie man so schön sagt: "Ich weine".
Funktionen von CFastFile ( ::ReadInteger)
Beim Lesen von SHORT_VALUE gibt er Unsinn zurück.
Gestartet digging um, wickeln meinen Kopf um verschiedene Optionen für das Lesen von einem Array.
Es stellte sich heraus, dass, wenn statt ushort s=ReadShort() der Körper der Funktion ReadShort selbst gesetzt wird, alle Zahlen normal gelesen werden.
Aber dann habe ich eine Variante gefunden, die mich wirklich zum Weinen gebracht hat.
Das heißt, die Funktion Print wandelt auf magische Weise eine falsche Zahl s in eine richtige um und gibt den richtigen Wert zurück.
Liebe Entwickler, kommen Sie zur Vernunft! Sie machen einen Blödsinn!!!
Wie werden Sie die Verluste auf dem Markt ausgleichen, die sich aus Ihrer eigenen Einstellung zu Ihrem Produkt ergeben?
Schließlich ist der MT5 nur eine riesige Verbraucherressource, die von Drittprogrammierern bedient wird.
Und Sie stellen mit Ihrem fahrlässigen Handeln deren Kompetenz und die Qualität ihrer Programme in Frage!
Entwickler, ihr habt mich mit diesem Fehler überzeugt! Wie man so schön sagt: "Ich weine".
Funktionen von CFastFile ( ::ReadInteger)
Moment, das ist doch Ihr Code für die CFastFile-Klasse, oder? Was haben Plattformentwickler damit zu tun?
Moment, das ist doch Ihr Code für die CFastFile-Klasse, oder? Was haben die Plattformentwickler damit zu tun?
Ja, Renat, das ist mein Code.
In früheren Builds hat es funktioniert. Aber in der aktuellen 630/64 funktioniert es nicht mehr.
Und es funktioniert weiterhin erfolgreich in 630/32.
Der Fehler, den ich gefunden habe, ist ziemlich merkwürdig und, offen gesagt, beängstigend.