La bibliothèque de Roffild - page 3

 
Roffild:

Pourquoi aurais-je besoin d'inventer quelque chose de compliqué ?

L'exemple ne démontre pas l'indicateur, mais la possibilité de sortir les informations de l'Expert Advisor sous la forme d'un indicateur sans avoir besoin de créer du code externe.

Si ToIndicator_Example.mq5 n'a pas fonctionné, alors le code dans le dossier Indicators\Roffild\ n'a pas dû être construit lors du lancement du terminal. Le journal serait utile.

Bien sûr, nous avons tous l'habitude de tout créer à partir de rien, et personne n'a envie d'apprendre de nouvelles bibliothèques, mais dans le monde d'aujourd'hui, l'utilisation de code tiers est une pratique courante...

Les développeurs de la plate-forme améliorent systématiquement le système de classement des modules logiciels par fonctionnalité, et vous et vos bibliothèques allez dans la direction opposée et voulez à nouveau tout dépersonnaliser...))
 
Ivan Negreshniy:
Les développeurs de la plate-forme améliorent systématiquement le système de classement des modules logiciels par fonctionnalité, et vous et vos bibliothèques allez dans la direction opposée et voulez à nouveau tout dépersonnaliser...))

Pour diviser en modules, vous avez besoin d'un système de gestion des dépendances. Aujourd'hui, il n'existe pas de système de ce type pour les MQL et il est peu probable qu'il en existe un.

Dans un développement normal, il n'y a pas de division claire entre conseiller expert, bibliothèques, indicateurs et scripts - tout est lié. Dans MQ, ils ont décidé de les séparer. Cette division est adaptée aux petits projets qui inondent CodeBase.

La principale raison de l'absence de cette bibliothèque dans CodeBase est l'impossibilité de publier tous les fichiers dans une archive ou par le biais d'un système de contrôle de version. Maintenant, vous devez ajouter chaque fichier individuellement à la base de données - mais c'est un non-sens... Il ne peut donc pas y avoir de moyens et grands projets dans CodeBase à cause de ces limitations.

 
Bonjour, pouvez-vous coder l'utilisation de la bibliothèque pour le journal(Log4MQL.mqh etLog4MQL_tofile.mqh+ module pourLogMX) comment écrire dans le journal.
 
Dossiers :
 

Bibliothèque Roffild

Je suis connu de la communauté des programmeurs MQL5 sous le nom de Roffild et il s'agit de ma bibliothèque open-source pour MQL5. Il s'agit d'une tentative d'implémenter dans MQL5 des fonctionnalités qui sont devenues un standard pour les langages de programmation populaires il y a longtemps. Une idée est mise en œuvre dans chaque fichier. La bibliothèque est réapprovisionnée au fur et à mesure que de nouvelles fonctionnalités sont nécessaires.

Quelques personnes ont essayé de poster le projet sur Github. Il n'existe pas de norme unifiée. MetaQuotes ne prend pas en compte l'utilisation d'un système de contrôle de version lors de la création d'un projet. Pour une raison quelconque, les programmeurs de MetaQuotes pensent qu'un projet doit être d'un seul type. Pour les petits projets, qui sont publiés en CodeBase sur MQL5.com, cette division est raisonnable. Pour les projets de moyenne et grande envergure, il est impossible de sélectionner un seul type de projet.

J'ai expérimenté différentes structures de construction de projets. J'ai dû déplacer les fichiers en dehors de la structure de dossiers standard de MetaQuotes afin d'utiliser Git. La meilleure solution consiste à créer un lien vers un dossier intermédiaire (dans cette bibliothèque, le dossier "Roffild").

MetaEditor peut enregistrer le code en UTF-16, mais l'encodage UTF-8 avec BOM est également supporté. Pour convertir le fichier de code source, vous devez utiliser un éditeur tiers (je recommande Notepad++).

La bibliothèque peut être subdivisée en centres d'intérêt :

  • tâches courantes (ArrayList, Log4MQL, ToIndicator, etc.) ;
  • des expériences avec AlgLib dans l'apprentissage automatique ;
  • l'utilisation d'Apache Spark avec Amazon Web Services (EC2 et EMR), lorsque les fonctionnalités d'AlgLib ne sont pas suffisantes.

Documentation

MQL5
Java

Références

Roffild.com
Github
MQL5.com : sujet de discussion en anglais
MQL5.com : sujet de discussion en russe


Installation de

(facultatif)

mklink /j link where - ne nécessite pas de droits d'administrateur.

Il est judicieux de placer le dossier %APPDATA%\MetaQuotes à la racine d'une partition ou sur une partition plus grande. Windows a une limite de 255 caractères pour les chemins de fichiers. J'ai un chemin complet vers le dossier MQL5 contenant 88 caractères. Lors des tests, le terminal copie l'historique par le nombre d'agents locaux, ce qui augmente la taille de ce dossier de plusieurs Gbytes.

  1. Déplacez le dossier %APPDATA%\MetaQuotes vers D:\MQLProjects
  2. mklink /j %APPDATA%\MetaQuotes D:\MQLProjects
  3. mklink /j D:\MQLProjects\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\ D:\MQLProjects\MQL5

(Important)

Exécutez create_links.bat à partir du dossier MQL5\MyProjects\RoffildLibrary après avoir cloné le projet.

Style de code

Google Java Style

Tabulation = 3 espaces

Limite de la colonne = 110

Licence

Licence Apache 2.0

 
Библиотека Roffild’a
Библиотека Roffild’a
  • roffild.com
Я известен сообществу программистов на MQL5 под ником Roffild и это моя библиотека с открытым кодом для MQL5. Попытка реализовать возможности на MQL5, которые уже давно стали стандартом для популярных языков программирования. В каждом файле реализована одна идея. Библиотека пополняется по мере необходимости в новых возможностях. Мало кто...
 
Il y a"Write data to MySQL format file", pourquoi n'y a-t-il pas de lecture de ce format ?
 
Aleksey Vyazmikin:
Il y a"Write data to MySQL file format", mais pourquoi pas de lecture à partir de ce format ?
Parce qu'il est facile d'écrire dans un format texte, mais pour lire à partir de ce format, vous devez utiliser un analyseur syntaxique. 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:
En effet, il est facile d'écrire dans un format texte, mais il faut utiliser un analyseur syntaxique pour lire ce format. https://en.wikipedia.org/wiki/Parsing

Par exemple, créer 1000 colonnes en utilisant MQL n'est pas du tout facile...

 
Aleksey Vyazmikin:

Qui peut et qui ne peut pas, par exemple créer 1000 colonnes en utilisant MQL n'est pas du tout facile...

Hum... MQL n'a pas de colonnes du tout. Et MQL != SQL sont des langages complètement différents.

Il est plus facile pour ceux qui connaissent SQL de trier les meilleures passes après optimisation lorsque leur nombre dépasse 5000 passes. Mis en œuvre dans TesterSql.mqh