Fehler, Irrtümer, Fragen - Seite 1172
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
Es gibt Fehler in der Standardbibliothek für MQL4, insbesondere in Indikatorklassen.
Bei der CiATR-Klasse fehlt der Körper der GetData-Methode.
Bei Indikatoren, die Parameter vom Typ ENUM_APPLIED_VOLUME verwenden(CiForce, CiOBV), tritt ein Fehler auf: Unzulässiger Enumerator kann nicht verwendet werden
Übrigens, ENUM_APPLIED_VOLUME scheint eine Standardaufzählung zu sein; sie ist in der MQL4-Dokumentation vorhanden, aber in Wirklichkeit fehlt sie ('ENUM_APPLIED_VOLUME' - nicht deklarierter Bezeichner).
Prüfen Sie also bitte alle Ihre Bibliotheken. Ich habe das Gefühl, dass sie hastig von MT5 portiert wurden, ohne ihre Funktionalität zu überprüfen.
Kompilierfehler, Build 966
Build 932 ist in Ordnunghängt vom Inhalt des Kommentars ab
es ist in Ordnung
Kommentare werden nie ersetzt - der Compiler ignoriert sie einfach, sonst könnte #define in den meisten Fällen gar nicht mit Kommentaren verwendet werden //
Ersetzen Sie auf jeden Fall // durch /**/ in https://www.mql5.com/ru/forum/1111/page1190#comment_993854.Das Ergebnis ist das gleiche - Kompilierungsfehler.
Bitte erklären Sie die folgende Situation. Ich habe einen Multi-Währungs-Indikator, dessen Werte sich nicht ändern, je nachdem, mit welchem Chart er verbunden ist - er berechnet die Werte für die angegebenen Instrumente und ist nicht auf das aktuelle Fenster bezogen. Ich zeichne manuell Unterstützungs- und Widerstandslinien in diesen Indikator ein. Jetzt der Trick: Wenn ich ein anderes Werkzeug aus der Marktübersicht in das Fenster ziehe, bleibt das Aussehen des Indikators gleich und die Linien verschwinden. Wenn Sie das Dialogfeld Objektliste öffnen, sind diese Objekte dort immer noch aufgeführt. Die Endpunktwerte (Daten und Werte) bleiben gleich (d.h. sie sollten an den gleichen Stellen sichtbar sein) - das ist verständlich, sie wurden nicht geändert. Die Linien sind jedoch nicht sichtbar. Wenn Sie dann das ehemalige Werkzeug, das sich ursprünglich dort befand, auf das Fenster ziehen, werden die Linien wieder sichtbar. Was ist das Problem?
Gefunden und korrigiert.
Vielen Dank für die Kontaktaufnahme. Es stellt sich heraus, dass es sich um einen generischen Fehler handelt - so hat es bisher immer funktioniert.
Sie können den abgekürzten Operator !() nicht anwenden - Kompilierungsfehler
Wenn der Compiler versteht (und das tut er), dass f4( a ) bedeutet, dass 'a' ein Objekt ist und kein Zeiger/Skriptor als Zahl)
es sollte auch verstehen, dass !a' das Gleiche für 'a' bedeutet (Objekt, nicht Zeiger/Numerisch)
mit anderen Worten, wenn
a1.f() und a2.f() bedeuten dasselbe, unabhängig davon, ob a1, a2 ein Zeiger oder ein Objekt ist, wie kann der Operator !() schlechter sein?Ich sollte hinzufügen, dass es zum Beispiel keinen Kompilierungsfehler mit operator+() gibt, noch gibt es einen, wenn wir einfach operator+(), das überhaupt nicht verwendet wird, zum ersten Beispiel oben hinzufügen
aber in diesem Fall tritt eine weitere Unsicherheit auf