Der Screenshot zeigt deutlich, dass Ihr Expert Advisor die Funktion ErrorDescription mit dem Typ string verwendet
Es liegt kein Fehler vor. Das neue Build hat gerade eine praktische Funktion hinzugefügt - jetzt können Sie sehen, welche Funktionen von der EA aus der Dll und den Bibliotheken verwendet werden.
Beide Ordner (Incloud und Libraries) enthalten stdlib-Quellen. Vorsichtshalber habe ich sie aus dem Incloud-Ordner kopiert.
Der oben beschriebene Fehler wird jedoch weiterhin auf der Registerkarte "Abhängigkeiten" angezeigt. Vielleicht sollte man den Aufruf dieser Funktionen irgendwie ändern: Anstelle von:
Den Anruf auf eine andere Weise einstellen?
Oder wird es jetzt unmöglich sein, die Funktionen von I.Kim in der neuesten Version von mt4 zu nutzen?
Ich danke Ihnen allen für Ihre Antworten und Empfehlungen. Noch eine kleine Frage.
So wie ich es verstanden habe, werden die Namen der globalen Variablen jetzt im Code rot hervorgehoben. Mein Code hat jedoch zusammengesetzte Namen, von denen einige mit den globalen Namen übereinstimmen. Und dieser passende Teil ist aus irgendeinem Grund ebenfalls rot hervorgehoben!
Kann es sich negativ auf den Betrieb der EA auswirken? Oder ist gegen eine solche partielle Hervorhebung nichts einzuwenden?
Ich danke Ihnen allen für Ihre Antworten und Empfehlungen. Noch eine kleine Frage.
So wie ich es verstanden habe, werden die Namen der globalen Variablen jetzt im Code rot hervorgehoben. In meinem Code gibt es jedoch zusammengesetzte Namen, von denen einige mit den globalen Namen übereinstimmen. Und dieser passende Teil ist aus irgendeinem Grund ebenfalls rot hervorgehoben!
Kann es sich negativ auf den Betrieb der EA auswirken? Oder ist gegen eine solche partielle Hervorhebung nichts einzuwenden?
Es ist alles in Ordnung, aber Sie sollten sich an den ServiceDesk wenden und das Problem beheben lassen.
Nach der Aktualisierung von MT4 hat der Indikator, der vorher einwandfrei funktioniert hat, aufgehört, seine Linie zu zeichnen. Und es wurde herausgefunden, dass irgendwie der Code des Indikators stark die Arbeit des Prozessors auf alten Versionen von MT4 mit einem zwangsweise aktualisierten Meta-Editor beeinflusst. Aber dazu später mehr.
Nach dem Update, wenn ich den Indikator auf dem Chart installiere, wird die eingestellte Linie fehlerhaft und falsch gezeichnet (basierend auf der Schlusskursdifferenz der 2 angegebenen Symbole). Beim Umschalten des Zeitrahmens verschwindet die Zeile überhaupt (leeres Fenster), und die Aufschrift im Protokoll erscheint:
und nach mehreren Zeitrahmenwechseln (oder Neustart von mt4) verschwindet der Indikator ganz aus dem Chart:
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Wer hat Ihnen gesagt, dass dies ein Fehler ist?
Der Screenshot zeigt deutlich, dass Ihr Expert Advisor die Funktion ErrorDescription mit dem Typ string verwendet
Es liegt kein Fehler vor. Das neue Build hat gerade eine praktische Funktion hinzugefügt - jetzt können Sie sehen, welche Funktionen von der EA aus der Dll und den Bibliotheken verwendet werden.
Beide Ordner (Incloud und Libraries) enthalten stdlib-Quellen. Vorsichtshalber habe ich sie aus dem Incloud-Ordner kopiert.
Der oben beschriebene Fehler wird jedoch weiterhin auf der Registerkarte "Abhängigkeiten" angezeigt. Vielleicht sollte man den Aufruf dieser Funktionen irgendwie ändern: Anstelle von:
Den Anruf auf eine andere Weise einstellen?
Oder wird es jetzt unmöglich sein, die Funktionen von I.Kim in der neuesten Version von mt4 zu nutzen?
1) Öffnen Sie die Datei stdlib.mq4 im Ordner "Libraries".
2) kompilieren Sie es
3) sollte ohne Fehler funktionieren
Ich danke Ihnen allen für Ihre Antworten und Empfehlungen. Noch eine kleine Frage.
So wie ich es verstanden habe, werden die Namen der globalen Variablen jetzt im Code rot hervorgehoben. Mein Code hat jedoch zusammengesetzte Namen, von denen einige mit den globalen Namen übereinstimmen. Und dieser passende Teil ist aus irgendeinem Grund ebenfalls rot hervorgehoben!
Kann es sich negativ auf den Betrieb der EA auswirken? Oder ist gegen eine solche partielle Hervorhebung nichts einzuwenden?
Ich danke Ihnen allen für Ihre Antworten und Empfehlungen. Noch eine kleine Frage.
So wie ich es verstanden habe, werden die Namen der globalen Variablen jetzt im Code rot hervorgehoben. In meinem Code gibt es jedoch zusammengesetzte Namen, von denen einige mit den globalen Namen übereinstimmen. Und dieser passende Teil ist aus irgendeinem Grund ebenfalls rot hervorgehoben!
Kann es sich negativ auf den Betrieb der EA auswirken? Oder ist gegen eine solche partielle Hervorhebung nichts einzuwenden?
Es ist alles in Ordnung, aber Sie sollten sich an den ServiceDesk wenden und das Problem beheben lassen.
Ich habe noch nie von einem solchen Dienst gehört. Bitte geben Sie mir einen Link.
Sie müssen sich im mql5.com Forum registrieren, es gibt einen Link in Ihrem Profil.
Guten Morgen!
Nach der Aktualisierung von MT4 hat der Indikator, der vorher einwandfrei funktioniert hat, aufgehört, seine Linie zu zeichnen. Und es wurde herausgefunden, dass irgendwie der Code des Indikators stark die Arbeit des Prozessors auf alten Versionen von MT4 mit einem zwangsweise aktualisierten Meta-Editor beeinflusst. Aber dazu später mehr.
Nach dem Update, wenn ich den Indikator auf dem Chart installiere, wird die eingestellte Linie fehlerhaft und falsch gezeichnet (basierend auf der Schlusskursdifferenz der 2 angegebenen Symbole). Beim Umschalten des Zeitrahmens verschwindet die Zeile überhaupt (leeres Fenster), und die Aufschrift im Protokoll erscheint:
und nach mehreren Zeitrahmenwechseln (oder Neustart von mt4) verschwindet der Indikator ganz aus dem Chart:
2014.02.25 10:22:38.640 Benutzerdefinierter Indikator Spread-I-env #GCJ4,M30: entfernt
Was könnte der Grund dafür sein? Was ist dieser seltsame Fehler?
2014.02.25 10:21:07.437Zugriffsverletzung beim Lesen von 0x000003E5 in 'C:\Program Files\InstaTrader\MQL4\indicators\Spread-I-env- mod1.ex4'
Hallo!
Können Sie mir bitte sagen, wie ich die Hintergrundfarbe des Diagramms in den neuen Builds finden kann?
In den alten habe ich das so gefunden:
#import "user32.dll"
int GetWindowDC(int h);
int ReleaseDC(int h, int hDC);
bool GetWindowRect(int h, int& pos[4]);
#import
#import "gdi32.dll"
int GetPixel(int hDC, int x, int y);
#import
//+------------------------------------------------------------------+
//| Skriptprogramm-Startfunktion |
//+------------------------------------------------------------------+
void start()
{
int col = getBackgroundColor();
if (col==-1) MessageBox("Keine Ecke des Fensters ist sichtbar.");
else MessageBox("Hintergrundfarbe: " + col);
}
//+------------------------------------------------------------------+
int getBackgroundColor()
{
int h = WindowHandle(Symbol(), Periode());
int hDC = GetWindowDC(h);
int col = GetPixel(hDC, 2, 2);
if(col==-1) {
// Die linke obere Ecke ist nicht sichtbar
int rect[4];
GetWindowRect(h, rect);
int wW = rect[2] - rect[0]; // Fensterbreite
int wH = rect[3] - rect[1]; // Fensterhöhe
col = GetPixel(hDC, wW-3, wH-3); // rechte untere Ecke
if(col==-1) col = GetPixel(hDC, 2, wH-3); // BOW
if(col==-1) col = GetPixel(hDC, wW-3, 2); // LNT
}
ReleaseDC(h, hDC);
return(col);
}
Funktioniert nicht in neuen!
Vielen Dank, das klärt die Frage. Ich habe es selbst herausgefunden!
Farbe Farbe = ChartGetInteger( 0, CHART_COLOR_BACKGROUND, 0 );