Roffilds Bibliothek - Seite 3

 
Roffild:

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...))
 
Ivan Negreshniy:
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.

 
Hallo, können Sie Code die Verwendung der Bibliothek für das Protokoll(Log4MQL.mqh undLog4MQL_tofile.mqh+ Modul fürLogMX), wie man in das Protokoll zu schreiben.
 
Dateien:
 

Bibliothek 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:

  • gemeinsame Aufgaben (ArrayList, Log4MQL, ToIndicator, usw.);
  • Experimente mit AlgLib im Bereich des maschinellen Lernens;
  • Verwendung von Apache Spark mit Amazon Web Services (EC2 und EMR), wenn die Funktionen von AlgLib nicht ausreichen.

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.

  1. Verschieben Sie den Ordner %APPDATA%\MetaQuotes nach D:\MQLProjects
  2. mklink /j %APPDATA%\MetaQuotes D:\MQLProjects
  3. mklink /j D:\MQLProjects\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\ D:\MQLProjects\MQL5

(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

 
Библиотека Roffild’a
Библиотека Roffild’a
  • roffild.com
Я известен сообществу программистов на MQL5 под ником Roffild и это моя библиотека с открытым кодом для MQL5. Попытка реализовать возможности на MQL5, которые уже давно стали стандартом для популярных языков программирования. В каждом файле реализована одна идея. Библиотека пополняется по мере необходимости в новых возможностях. Мало кто...
 
Es gibt die Option"Daten in eine Datei im MySQL-Format schreiben", warum wird dieses Format nicht gelesen?
 
Aleksey Vyazmikin:
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 um aus diesem Format zu lesen, muss man einen Parser verwenden. https://en.wikipedia.org/wiki/Parsing
Parsing - Wikipedia
  • en.wikipedia.org
The term has slightly different meanings in different branches of linguistics and computer science. Traditional sentence parsing is often performed as a method of understanding the exact meaning of a sentence or word, sometimes with the aid of devices such as sentence diagrams. It usually emphasizes the importance of grammatical divisions such...
 
Roffild:
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...

 
Aleksey Vyazmikin:

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