Rejoignez notre page de fans
- Vues:
- 59
- Note:
- Publié:
-
Besoin d'un robot ou d'un indicateur basé sur ce code ? Commandez-le sur Freelance Aller sur Freelance
Bibliothèque permettant de travailler avec des fichiers au moyen de WinAPI sans restriction d'emplacement.
Elle n'est actuellement mise en œuvre que pour travailler avec des fichiers constants (en lecture seule) et sera mise à jour au fur et à mesure des corrections de bogues et des ajouts de code.
Les fichiers FileUnlimited.mqh, FileUnlimitedConstants.mqh et StringUtils.mqh doivent être copiés dans le répertoire terminal_data\MQL5\Include\TheXpert, la bibliothèque ConstFileUnlimited.mqh doit être copiée dans le répertoire terminal_data\MQL5\Libraries\TheXpert, et le script FileUnlimitedTest.mq5 dans le répertoire terminal_data\MQL5\Scripts.
J'ai essayé de rendre l'utilisation de la classe aussi simple que possible.
Voici un exemple d'utilisation (duplication du script).
#include <TheXpert/FileUnlimited.mqh> #include <TheXpert/StringUtils.mqh> #define CP_UTF16 1200 void OnStart() { string name = "TheXpert\\Test.txt"; string path = TerminalInfoString(TERMINAL_DATA_PATH) + "\\MQL5\\Files\\" + name; int hFile = FileOpen(name, FILE_WRITE | FILE_TXT, ' ', CP_UTF16); if (hFile == INVALID_HANDLE) { Print("File not opened."); return; } bool writeBool = false, readBool = true; long writeLong = -4369549, readLong = 0; double writeDouble = -4369549.245, readDouble = 0; datetime writeDatetime = 2596824987, readDatetime = 0; color writeColor = Blue, readColor = White; string writeString = "2r4i6bf4wb9tb69vw", readString = ""; FileWrite(hFile, writeBool); FileWrite(hFile, writeLong); FileWrite(hFile, writeDouble); FileWrite(hFile, writeDatetime); FileWrite(hFile, writeColor); FileWrite(hFile, writeString); FileClose(hFile); // --------------------------------------------- // à partir de là, la lib est utilisée pour la lecture. // --------------------------------------------- ConstFile* file = OpenConstFile(path); if (CheckPointer(file) != POINTER_INVALID) { file.Read(readBool); Print("readBool = ", readBool); file.Read(readLong); Print("readLong = ", readLong); file.Read(readDouble); Print("readDouble = ", readDouble); file.Read(readDatetime); Print("readDatetime = ", readDatetime); file.Read(readColor); Print("readColor = ", readColor); file.Read(readString); Print("readString = ", readString); delete file; } else { Print("Failed to open ConstFile at path -- ", path); } }
La bibliothèque ne fonctionne qu'avec les fichiers Unicode, d'où l'introduction de la page de code CP_UTF16 (pour une raison quelconque, elle ne figure pas dans les constantes du langage).
Merci de rapporter tous les bugs dans les commentaires ou dans ce fil de discussion.
Les commentaires, les souhaits, les critiques saines sont les bienvenus.
Faisons ensemble quelque chose qui sera utile à tout le monde !
Traduit du russe par MetaQuotes Ltd.
Code original : https://www.mql5.com/ru/code/386

Le filtre numérique RBCI (Range Bound Channel Index) élimine la tendance basse fréquence formée par les composantes basse fréquence du spectre et le bruit haute fréquence formé par les composantes haute fréquence du spectre.

L'indicateur Trend Equilibrium TrendEQ analyse de manière dynamique les mouvements du marché en combinant le momentum et la volatilité. En mettant à l'échelle le momentum et la volatilité du marché, le TrendEQ fournit une mesure fiable de la force et de la direction de la tendance.

Moyenne mobile avec double lissage adaptatif JMA de la série de prix.

L'indicateur AutoTrendLines dessine automatiquement des lignes de tendance de support et de résistance sur votre graphique MetaTrader 5. Il identifie les niveaux de prix clés en utilisant deux méthodes : Deux Extremum (Type 1) ou Extremum et Delta (Type 2). Les lignes ne sont recalculées que lorsqu'une nouvelle barre se forme, ce qui garantit une performance efficace.