MetaTrader 4 Build 529 beta mit neuem Compiler veröffentlicht - Seite 26
![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
Ich habe etwa 10 Hinrichtungen gesehen, als ich umdisponiert habe.
Es gibt ein schwerwiegendes Problem mit dem neuen Metatrader, das externe String-Parameter betrifft. Anfänglich haben sie einen korrekten Wert, aber sobald der Zeitrahmen oder das Symbol geändert wird, geht der Inhalt eines Stringparameters verloren. Hier ist ein einfaches Beispiel, das genau zeigt, was passiert. Dieses Problem tritt auch auf, wenn solche Indikatoren durch iCustom()-Aufrufe verwendet werden, und das macht jeden solchen Indikator unbrauchbar von jedem EA oder anderen Code
6. Slip in tester "schläft" nicht historische Zeit, sondern Echtzeit =)
Korrigiert
Außerdem wurden die Punkte 1 und 2 korrigiert.
Punkt 3: Fehlersuche
Für die Punkte 4 und 5 müssen wir wissen, wie wir sie reproduzieren können. Schritt für Schritt. Sie ist nicht spontan reproduzierbar.
Ich habe den Moment erwischt, in dem sich der Berater selbst löscht und sich das Terminal aufhängt
Lassen Sie uns in der Servicestelle ein Gespräch führen, ja?
Wir benötigen den Quellcode Ihres EA, um das Problem zu reproduzieren
Ich habe etwa 10 Hinrichtungen gesehen, als ich umdisponiert habe.
Es wird besser sein, wenn Sie Ihr Problem auf Englisch beschreiben. Mit Details, Schritt für Schritt
Ich schreibe auf Spanisch. Und ich übersetze mit Google.
Die Übersetzung ins Englische ist genauso schlecht wie die russische Übersetzung.
Dies hatte drei identische Kopien in der Geschichte, aber um den Screenshot zu reduzieren, sahen nur zwei.
Ich habe den Moment erwischt, in dem sich der Expert Advisor selbst löscht und sich das Terminal aufhängt
Diese Funktion führt nicht zu einem Fehler
extern string symbol =""; // Symbol
Diese Funktion verursacht einen Fehler:
Renat, habe viele Informationen über den Zweck von X:\Users\xxx\AppData\ im Allgemeinen und X:\Users\xxx\AppData\Roaming neu gelesen. Ich stimme zu, dass dies eine Notwendigkeit ist, um anwendungsspezifische Benutzereinstellungen in \Roaming zu erstellen, aber warum sollten ausführbare Dateien, d. h. Indikatoren, Skripte und EAs, in dieses Verzeichnis verschoben werden? Schließlich verletzen einige EAs dadurch ständig die Logik ihrer Arbeit, ich meine diejenigen, die in ihrer Logik Lese- und Schreibdateien verwenden.
Übrigens, dem Vorschlag von Microsoft zu folgen, X:\Users\xxx\AppData\ zu verwenden, wird höchstwahrscheinlich von nichts unterstützt, außer von Einzelfällen. Ich kenne keinen Händler, der Außenstehende (andere Benutzer) auf seinen PC mit Terminals lässt, auch nicht unter seinen eigenen Konten, UAK ist bei diesem Thema überhaupt nicht anwendbar. Dies ist höchstwahrscheinlich eine Ausnahme von den Sicherheitsregeln, so dass dieser Microsoft-Trend nicht für Händler geeignet ist. Wer seine Einstellungen und ausführbaren Dateien in X:\Users\xxx\AppData\Roaming\MetaQuotes\Terminal\B5589D10299052C8D921603EBD1F9752\ vor anderen versteckt, ist in Sachen Sicherheit paranoid.
Das Problem liegt höchstwahrscheinlich darin, dass das System nicht zulässt, dass Sie etwas in Programmdateien schreiben, was in Ordnung ist, solange Sie nicht als Administrator arbeiten. Aber als Administrator ist das Betriebssystem nicht sehr sicher, weil man für alle Viren und dergleichen offen ist. Vielmehr geht MS endlich dazu über, ein Unix-ähnliches Verhalten an den Tag zu legen, bei dem man anstelle seines eigenen persönlichen Ordners keinen Schreibzugriff hat (und tmp natürlich, aber das wird regelmäßig gelöscht). Dies ist viel sicherer und verhindert die Verbreitung von Viren, da es auf *nix nicht so viele Viren gibt wie auf Win. Ich bin sehr dafür. Aber es wäre schön, wenn es möglich wäre, für ein bestimmtes Terminal einen Ordner mit Experten zu konfigurieren, denn der gemeinsame Ordner für alle Terminals ist nicht immer geeignet.
Ich werde die Liste um "SymbolSelect" erweitern. +1 zum Wunsch nach neuen Baubeschreibungen.
Wahrscheinlich liegt das Problem darin, dass das System Ihnen nicht erlaubt, etwas in Programmdateien zu schreiben, was auch richtig ist, es sei denn, Sie arbeiten als Administrator. Aber als Administrator des Betriebssystems ist man nicht sehr sicher, da das Betriebssystem für alle Viren usw. offen ist. Vielmehr geht MS endlich zu einem Unix-ähnlichen Verhalten über, bei dem man anstelle eines privaten Ordners keinen Schreibzugriff hat (und tmp natürlich, aber das wird regelmäßig gelöscht). Dies ist viel sicherer und verhindert die Verbreitung von Viren, da es auf *nix nicht so viele Viren gibt wie auf Win. Ich bin sehr dafür. Aber es wäre schön, wenn es möglich wäre, für ein bestimmtes Terminal einen Ordner mit Experten zu konfigurieren, denn der gemeinsame Ordner für alle Terminals ist nicht immer geeignet.
Sie haben wahrscheinlich nicht gelesen, mein Beitrag oben, wo ich beschrieben, was geschrieben wird, um jetzt mit Beta-Versionen von MT4. In "nix" arbeiten alle komplett in ihren eigenen Sandkästen, nur der Benutzer "root" stellt gemeinsame Programme ein und vergibt Rechte für deren Nutzung durch andere Benutzer. Die Ideologie ist dort völlig anders, obwohl sie ähnlich wie bei Microsoft zu sein scheint. Übrigens stört es mich nicht, dass die Beta-Version die Benutzereinstellungen in X:\Users\xxx\AppData\Roaming\MetaQuotes\Terminal\ schreibt, mich stört das Folgende:
1. Dass es ein Unterverzeichnis X:\Users\xxx\AppData\Roaming\MetaQuotes\Terminal\B5589D10299052C8D921603EBD1F9752\ erstellt, dessen Namen man nicht kennt, bis man dort hinkommt, außerdem ändert es seinen Namen bei jeder Aktualisierung.
2. Dieser Pfad wird nicht nur zum Schreiben von Benutzereinstellungen verwendet, sondern auch für ausführbare Dateien - Indikatoren, Expert Advisors, Skripte usw., also für all die Dinge, die Sie einem Fremden nicht auf Ihren PC lassen würden, auch nicht unter einem anderen Benutzernamen. Dies kann natürlich später vermieden werden, aber zu welchem Preis.
Der erste Punkt macht mir am meisten Angst, weil der Code für die Verwendung dieser Operationen durch Lesen/Schreiben in Dateien komplizierter wird.