Fehler, Irrtümer, Fragen - Seite 5

 
Interesting:

Ein neues Wort im Bibliothekswesen, oder das erstaunliche daneben...


Ich habe einen Expert Advisor erstellt, der die Bibliothek verwendet, und überprüft, ob alles funktioniert. Ich habe ein Archiv erstellt, das den Expert Advisor, diese Bibliothek und einige MQL5- und MQH-Dateien enthält. Ich habe das Archiv dem Entwickler zum Testen gegeben.


Es ist jedoch seltsam, denn der Kunde sagt, dass alles korrekt läuft. Magnetische Stürme vielleicht?
 
Interesting:

Ich begann zu verstehen, was funktioniert (oder eher nicht funktioniert) und entdeckte eine überraschende Tatsache - Terminal sieht die kompilierte Bibliothek im Verzeichnis (als *.ex5), aber hartnäckig "wäscht" es, was nicht sehr gut ist, wie Sie verstehen...

Nachdem ich viele mögliche Gründe für ein solches Verhalten ausprobiert hatte, beschloss ich, die Originaldatei (als *.mq5) in den Ordner mit der Bibliothek zu legen. Ich habe versucht, einen EA zum Chart hinzuzufügen - oh mein Gott, es hat funktioniert.

PS

Übrigens, dasselbe passiert auch mit dem Expert Advisor selbst, die *.ex5-Datei wird dauerhaft gelöscht... :(


Dies ist ein sehr schlechtes Symptom!

Gestern war es bei mir auch so. Nach dem Terminal-Update suchte es hartnäckig nach der Datei mit dem Quellcode und löschte die ohne ihn kompilierte Datei.

Nach der normalen Neuinstallation von der Website ist der "Fehler" verschwunden.

Heute wieder aufgefordert, nach dem Auto-Update neu zu starten. Offenbar wurde der "Fehler" behoben. Aber ich habe beschlossen, nur die Website zu aktualisieren.

Warum und wieso Terminal-Quelldatei???

 

По ходу пьесы у меня созрел ряд вопросов:

1. Warum funktioniert der Expert Advisor nicht, wenn die Bibliothek nur als .ex5 dargestellt wird?

2. Warum löscht das Terminal diese Datei hartnäckig aus dem Verzeichnis?

3. Warum enthält das Terminalprotokoll keinen eindeutigen Kommentar zu all diesen Punkten?

4. Warum wird in der Dokumentation nicht erwähnt, dass dieses Verhalten möglich ist?


Und schließlich die fünfte und letzte Frage - wie komme ich mit all dem zurecht und was mache ich falsch (vielleicht fehlt dem Terminal eine EX5-Datei und er sucht nach etwas, zum Beispiel einer Header-Datei oder der Bibliothek selbst)?


PS

Übrigens habe ich den gleichen Fehler mit Expert Advisor selbst, er löscht hartnäckig die *.ex5-Datei... :(



Aus irgendeinem Grund sehe ich Ihre Anfrage nicht im Service-Desk
 

Die erzwungene Neukompilierung von EAs ist auf eine Änderung der Compiler-Version zurückzuführen. Der neue Compiler erzeugt einen etwas anderen Code, der mit der vorherigen Version nicht kompatibel ist.

 
stringo:
Aus irgendeinem Grund sehe ich Ihre Anfrage nicht im Service-Desk
Nun, das liegt daran, dass es nicht da war... :)
 
stringo:

Die erzwungene Neukompilierung von EAs ist mit einer Änderung der Compiler-Version verbunden. Der neue Compiler erzeugt einen etwas anderen Code, der mit der vorherigen Version nicht kompatibel ist.

Verstehe, ich habe es auf 279 gemacht und habe solche Änderungen für die neue Version nicht erwartet...


PS

Für die Zukunft - wird es möglich sein, Dateien nicht zwangsweise zu löschen, wenn das Terminal die ursprüngliche Version erkennt, sondern stattdessen einfach dummerweise in das Protokoll schreiben zu lassen, dass ich ex5 aktualisieren muss?

Ich kann vielleicht verstehen, warum der Experte nicht arbeiten will, aber der Kunde kann nicht erkennen...

Документация по MQL5: Файловые операции / FileDelete
Документация по MQL5: Файловые операции / FileDelete
  • www.mql5.com
Файловые операции / FileDelete - Документация по MQL5
 

Die EX5-Dateien in neuen Builds werden aktiv aktualisiert, daher löscht das Terminal alte Versionen.

Gerade im 281er Build hat sich die Version wieder geändert.

In einiger Zeit wird sich der Prozess stabilisieren, und wir werden aufhören, die Versionen der kompilierten Dateien zu ändern.
 
Interesting:

Für die Zukunft - können wir nicht zwangsweise Dateien löschen, wenn das Terminal die Originalversionen erkennt, aber stattdessen nur in das Protokoll schreiben lassen, dass ex5 aktualisiert werden muss?

Ich kann vielleicht verstehen, warum der Experte nicht arbeiten will, aber der Kunde kann nicht erkennen...

Ja, es ist sinnvoll, die Gründe für die Löschung alter Versionen zu protokollieren.
 
Renat:
Ja. Es ist eine sinnvolle Idee, ein Protokoll zu erstellen, um die Entfernung alter Versionen zu rechtfertigen.

Am besten löschen Sie überhaupt nichts, ohne die Erlaubnis des Benutzers. Zumindest wenn das Terminal keine Quelldatei mit demselben Namen wie ex5 gefunden hat.


Wenn das Terminal die Quelldatei gefunden hat, kann es sie automatisch neu kompilieren, aber wenn nicht, muss man es nur wissen lassen, ob es benötigt wird.


PS

Ich denke, dass dies der richtige Ansatz ist, wenn man mit Dateien arbeitet, die nicht im Basispaket enthalten sind. Und wer weiß, ob der Benutzer diese Dateien wiederherstellen kann...

 

heißt es in der Hilfe.

int day_of_year; // laufende Nummer des Jahres (der 1. Februar ist der 32. Tag des Jahres)

Aus irgendeinem Grund wird sie immer als 31 angezeigt ((

das beigefügte Skript

in der Datei

2010.02.01 00:00:00 143.832 143.839 143.758 143.771 186 2010 2 1 0 0 1 31

Dateien:
666.mq5  3 kb