MetaTrader 4 Build 529 beta mit neuem Compiler veröffentlicht - Seite 104

 
artmedia70:

Das ist lustig. Der Name des Expert Advisors enthält die Namen seiner Unterordner.

Dadurch wird der Name des Sachverständigen unnötig vergrößert.

Beispiel: Wenn der Name des Expert Advisors Expert lautet und er im Terminal-Verzeichnis\MQL4\experts\Orders\Nickname gespeichert ist ,

dann lautet der Name des Expert Advisors nicht Expert, sondern Orders\Customer_name\Expert. Enthält der Name des Objekts Expert_name und object_name_time, ist die Anzahl der Zeichen bereits überschritten, und das Objekt wird zu einem Preis von Null und einer Zeit von Null ausgegeben.

Wenn Objektnamen einen EA-Namen enthalten, der bei der Deinitialisierung bereinigt werden muss, bleibt nur sehr wenig Platz für den Objektnamen selbst.

Wird sich das ändern, oder bleibt das so?


Soll geändert werden.
 
Renat:

Sehen Sie im Logbuch nach - steht dort, was heruntergeladen wird und was heruntergeladen wurde?


Das Hilfe-Update wird nicht heruntergeladen

Jetzt sieht es so aus

 

Leute, soweit ich mich erinnere, funktionierte so etwas in den frühen Versionen der Terminals

extern double sig[3]= {12,0.548,0.21,0.413};

Aber jetzt wird eine Fehlermeldung angezeigt, was ist los?

Zweite Frage

Funktioniert die Installation eines Terminals mit dem portablen Flag auf einem Flash-Laufwerk korrekt? Ich erinnere mich, dass es früher Probleme mit der Anzeige von Kontonamen und mit astronomischen Beträgen auf Konten gab...

 
VOLDEMAR:

Leute, soweit ich mich erinnere, funktionierte so etwas in den frühen Versionen der Terminals

Aber jetzt wird eine Fehlermeldung angezeigt, was ist los?

Zweite Frage

Funktioniert die Installation eines Terminals mit dem portablen Flag auf einem Flash-Laufwerk korrekt? Ich erinnere mich, dass es früher Probleme mit der Anzeige von Kontonamen und astronomischen Beträgen auf Konten gab...


Es wird ein Array mit drei Elementen deklariert, aber vier Elemente werden in das Array geschrieben. Es handelt sich eindeutig um einen Fehler. Wenn die Initialisierungsliste sehr umfangreich ist, ist es besser, sie auf diese Weise zu erstellen:

double sig[]= {12,0.548,0.21,0.413};

Der Compiler berechnet sie selbst.

Und ein Array als Einstellungsparameter deklarieren - wie?

 
Scriptong:


Es wird ein Array mit drei Elementen deklariert, aber vier Elemente werden in das Array geschrieben. Es handelt sich eindeutig um einen Fehler. Wenn die Initialisierungsliste groß ist, ist es besser, dies auf diese Weise zu tun:

Der Compiler führt die Berechnungen selbst durch.


Nein, funktioniert nicht.

 
VOLDEMAR:


Nein, funktioniert nicht


Nun, es steht im Klartext: In den Einstellungen ist es nicht erlaubt. Es wird ein konstanter Wert erwartet :)
 
Scriptong:

Nun, es steht im Klartext: in den Einstellungen nicht erlaubt. Es wird ein konstanter Wert erwartet :)

Ich kann zwar kein Englisch (((, aber ich habe Codes gesehen, bei denen viele Parameter in den Einstellungen über ( ; ) eingegeben wurden ...
 
VOLDEMAR:

Leute, soweit ich mich erinnere, funktionierte so etwas in den frühen Versionen der Terminals

Aber jetzt gibt es eine Fehlermeldung, was ist los?



Vorher hat es auch nicht funktioniert. Entfernen Sie den externen Modifikator
 

Sagen Sie mir, ich verstehe nicht, warum das so ist. Referenz:

Событие Deinit генерируется для экспертов и индикаторов в следующих случаях:

-vor demEntladen eines mql4-Programms.

Das Entladen eines an einen Chart angehängten Expert Advisors wird in den folgenden Fällen durchgeführt

-Schließen des Terminals (wenn ein Expert Advisor an einen Chart angehängt wurde);

1) In OnInit erstellt der Expert Advisor 400 grafische Objekte (unter Verwendung von Klassen durch new object)

2) Löschen in OnDeinit (der Löschoperator löscht das vom Neuoperator erstellte Objekt)

Beim Löschen eines EA geht alles reibungslos (erstellte Objekte werden gelöscht)

Beim Umschalten der TF, wenn die Historie geladen ist - geht alles reibungslos (erstellte Objekte werden gelöscht, neue werden erstellt)

Beim Umschalten der TF, wenn die Geschichte nicht für diese TF geladen ist- dies geschieht etwa 3 Mal OnDeinit und OnInit , und schnell

(manchmal werden die Objekte gar nicht erstellt und das Terminal meldet keinen Fehler)

DasSchließen und erneute Starten des Terminals verursacht 400 Fehler 4200 - Objekt existiert bereits.

Das Schließen des Terminals führt nicht zu OnDeinit?

Wie kann ich 400 Objekte manuell löschen? Hinzufügen der Schaltfläche "Alle Objekte löschen" aus dem aktuellen Diagramm sicherlich vorgeschlagen?

(p.s. Liebe Entwickler, wird die Reihenfolge der Erstellung von Objekten bald korrigiert (Monat)?

um die Reihenfolge nicht vom Namen abhängig zu machen, sondern davon, wie Objekte im Code erstellt werden)

// alexey_pak danke, ich wusste nicht, dass Strg + A in der "Liste der Objekte" funktioniert

 

Kolleginnen und Kollegen, bei der Kompilierung erscheint eine Warnmeldung:

mögliche Verwendung einer nicht initialisierten Variable 'PipStep'

für einen Brocken wie diesen:

      PipStep = NormalizeDouble(InitPipStep * MathPow(PipStepExp, BuyOrders - StartDynStep + 1),0);
      LastBuyPrice = FindLastBuyPrice();
      if(Ask < LastBuyPrice - (PipStep * Point))//для ЭТОЙ строки выдало possible use of uninitialized variable 'PipStep' 

Alle Variablen sind als double initialisiert, was ist daran falsch?

Grund der Beschwerde: