![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
Warum sollte ich mir etwas Kompliziertes ausdenken müssen?
Das Beispiel demonstriert nicht den Indikator, sondern die Möglichkeit, die Informationen aus dem Expert Advisor als Indikator auszugeben , ohne externen Code erstellen zu müssen.
Wenn ToIndicator_Example.mq5 nicht funktioniert hat, wurde der Code im Ordner Indicators nicht erstellt, als das Terminal lief. Das Protokoll wäre hilfreich.
Natürlich sind wir alle daran gewöhnt, alles von Grund auf neu zu entwickeln, so dass niemand neue Bibliotheken lernen möchte, aber in der heutigen Welt ist die Verwendung von Drittanbieter-Code eine gängige Praxis...
Die Entwickler der Plattform verbessern systematisch das System der Einstufung von Softwaremodulen nach Funktionalität, und Sie und Ihre Bibliotheken gehen in die entgegengesetzte Richtung und wollen alles wieder entpersonalisieren...))
Für die Aufteilung in Module benötigen Sie ein Abhängigkeitsmanagementsystem. Jetzt gibt es kein solches System für MMS und es ist unwahrscheinlich, dass es eines geben wird.
Bei der normalen Entwicklung gibt es keine klare Unterteilung in Expert Advisor, Bibliotheken, Indikator und Skript - alles ist miteinander verbunden. In MQ wurde beschlossen, sie zu trennen. Dieser Bereich ist für kleine Projekte geeignet, die CodeBase überfluten.
Der Hauptgrund für das Fehlen dieser Bibliothek in CodeBase ist die Unfähigkeit, alle Dateien in einem Archiv oder über ein Versionskontrollsystem zu veröffentlichen. Jetzt müssen Sie jede Datei einzeln in die Datenbank eintragen - aber das ist Unsinn... Aufgrund dieser Einschränkungen kann es keine mittleren und großen Projekte in CodeBase geben.
Beispiel für einen Protokolleintrag: https://github.com/Roffild/RoffildLibrary/blob/master/Scripts/Roffild/UnitTests/Log4MQL_UnitTest.mq5
Modul für LogMXBibliothek Roffild
Ich bin in der MQL5-Programmiergemeinde als Roffild bekannt und dies ist meine Open-Source-Bibliothek für MQL5. Es ist ein Versuch, in MQL5 Funktionen zu implementieren, die schon vor langer Zeit zu einem Standard für populäre Programmiersprachen wurden. In jeder Datei wird eine Idee umgesetzt. Die Bibliothek wird ergänzt, wenn neue Funktionen benötigt werden.
Nur wenige Leute haben versucht, das Projekt auf Github zu veröffentlichen. Es gibt keine einheitliche Norm. MetaQuotes berücksichtigt bei der Erstellung eines Projekts nicht die Verwendung eines Versionskontrollsystems. Aus irgendeinem Grund denken die Programmierer von MetaQuotes, dass ein Projekt nur von einem Typ sein muss. Für kleine Projekte, die in CodeBase auf MQL5.com veröffentlicht werden, ist diese Aufteilung sinnvoll. Bei mittleren und großen Projekten ist es nicht möglich, einen Projekttyp zu wählen.
Ich habe mit verschiedenen Strukturen des Projektaufbaus experimentiert. Ich musste die Dateien außerhalb der Standard-MetaQuotes-Ordnerstruktur verschieben, um Git verwenden zu können. Das Erstellen einer Verknüpfung zu einem Zwischenordner (in dieser Bibliothek der Ordner "Roffild") ist die beste Option.
MetaEditor kann Code in UTF-16 speichern, aber auch UTF-8-Kodierung mit BOM wird unterstützt. Zum Konvertieren der Quellcodedatei müssen Sie einen Editor eines Drittanbieters verwenden (ich empfehle Notepad++).
Die Bibliothek kann nach Interessen unterteilt werden:
Dokumentation
MQL5
Java
Referenzen
Roffild.de
Github
MQL5.com: Thema zur Diskussion auf Englisch
MQL5.com: Thema zur Diskussion auf Russisch
Installation von
(fakultativ)
mklink /j link where - erfordert keine Administratorrechte.
Es ist sinnvoll, den Ordner %APPDATA%\MetaQuotes im Stammverzeichnis einer Partition oder auf einer größeren Partition anzulegen, da Windows eine Dateipfadbegrenzung von 255 Zeichen hat. Ich habe einen vollständigen Pfad zum MQL5-Ordner, der 88 Zeichen enthält. Beim Testen kopiert das Terminal den Verlauf um die Anzahl der lokalen Agenten, was die Größe dieses Ordners um mehrere Gbytes erhöht.
(Wichtig)
Führen Sie create_links.bat aus dem Ordner MQL5\MyProjects\RoffildLibrary nach dem Klonen des Projekts aus.
Code-Stil
Google Java-Stil
Tabulator = 3 Leerzeichen
Spaltengrenze = 110
Lizenz
Apache-Lizenz 2.0
Es gibt zwar die Option"Daten in das MySQL-Dateiformat schreiben", aber warum wird nicht aus diesem Format gelesen?
Denn es ist einfach, in ein Textformat zu schreiben, aber man muss einen Parser verwenden, um aus diesem Format zu lesen. https://en.wikipedia.org/wiki/Parsing
Die Erstellung von 1000 Spalten mit MQL ist zum Beispiel gar nicht so einfach...
Wer kann es und wer kann es nicht, z.B. 1000 Spalten mit MQL zu erstellen, ist gar nicht so einfach...
Ähm ... MQL hat überhaupt keine Spalten. Und MQL != SQL sind völlig unterschiedliche Sprachen.
Für SQL-Kenner ist es einfacher, die besten Pässe nach der Optimierung herauszufiltern, wenn die Anzahl der Pässe 5000 übersteigt. Implementiert in TesterSql.mqh