- DatabaseOpen
- DatabaseClose
- DatabaseImport
- DatabaseExport
- DatabasePrint
- DatabaseTableExists
- DatabaseExecute
- DatabasePrepare
- DatabaseReset
- DatabaseBind
- DatabaseBindArray
- DatabaseRead
- DatabaseReadBind
- DatabaseFinalize
- DatabaseTransactionBegin
- DatabaseTransactionCommit
- DatabaseTransactionRollback
- DatabaseColumnsCount
- DatabaseColumnName
- DatabaseColumnType
- DatabaseColumnSize
- DatabaseColumnText
- DatabaseColumnInteger
- DatabaseColumnLong
- DatabaseColumnDouble
- DatabaseColumnBlob
Utilisation des bases de données
Les fonctions permettant l'utilisation des bases de données sont basées sur le moteur populaire et facile à utiliser SQLite. La fonctionnalité pratique de ce moteur est que la base de données entière se trouve dans un seul fichier sur le disque dur du PC de l'utilisateur.
Les fonctions permettent de créer facilement des tables, d'y ajouter des données, d'effectuer des modifications et d'échantillonner à l'aide de requêtes SQL simples :
- recevoir l'historique des transactions et les cotations de tous les formats,
- sauvegarde des résultats d'optimisation et de test,
- préparer et échanger des données avec d'autres progiciels d'analyse,
- stockage des paramètres et de l'état de l'application MQL5.
Les requêtes permettent d'utiliser les fonctions statistiques et mathématiques.
Les fonctions de travail avec les bases de données vous permettent de remplacer les opérations de gestion des tableaux de données volumineuses les plus répétitives par des requêtes SQL, de sorte qu'il est souvent possible d'utiliser des appels à DatabaseExecute /DatabasePrepare au lieu de programmer des boucles et des comparaisons complexes. Utilisez la fonction DatabaseReadBind pour obtenir facilement les résultats de la requête dans une structure prête à l'emploi. La fonction permet de lire tous les champs d'enregistrement à la fois dans un seul appel.
Pour accélérer la lecture, l'écriture et la modification, une base de données peut être ouverte/créée en RAM avec l'indicateur DATABASE_OPEN_MEMORY, bien qu'une telle base de données ne soit disponible que pour une application spécifique et ne soit pas partagée. Lorsque vous travaillez avec des bases de données situées sur le disque dur, les insertions/modifications de données en masse doivent être encapsulées dans des transactions à l'aide de DatabaseTransactionBegin/DatabaseTransactionCommit/DatabaseTransactionRollback. Cela accélère le processus des centaines de fois.
Pour commencer à travailler avec les fonctions, lisez l'article SQLite: Native handling of SQL databases in MQL5.
Fonction |
Action |
---|---|
Ouvre ou crée une base de données dans le fichier spécifié |
|
Ferme une base de données |
|
Imports data from a file into a table |
|
Exports a table or an SQL request execution result to a CSV file |
|
Prints a table or an SQL request execution result in the Experts journal |
|
Vérifie la présence d'une table dans la base de données |
|
Exécute une requête dans la base de données spécifiée |
|
Crée le handle d'une requête, qui peut être ensuite exécutée avec DatabaseRead() |
|
Réinitialise une requête, comme après avoir appelé DatabasePrepare() |
|
Définit la valeur d'un paramètre dans une requête |
|
Définit un tableau comme valeur de paramètre |
|
Se déplace sur l'enregistrement suivant des résultats de la requête |
|
Moves to the next record and reads data into the structure from it |
|
Supprime une requête créée avec DatabasePrepare() |
|
Démarre l'exécution d'une transaction |
|
Termine l'exécution d'une transaction |
|
Annule une transaction |
|
Retourne le nombre de colonnes dans une requête |
|
Retourne le nom d'une colonne par son numéro |
|
Retourne le type d'une colonne par son numéro |
|
Retourne la taille d'une colonne en octets |
|
Retourne la valeur d'une colonne de type string de l'enregistrement courant |
|
Retourne la valeur d'une colonne de type int de l'enregistrement courant |
|
Retourne la valeur d'une colonne de type long de l'enregistrement courant |
|
Retourne la valeur d'une colonne de type double de l'enregistrement courant |
|
Retourne le tableau de caractères d'une colonne de type BLOB de l'enregistrement courant |
- mode mode
- médiane médiane (50e percentile)
- centile_25 25e percentile
- percentile_75
- percentile_90
- percentile_95
- percentile_99
- stddev ou stddev_samp exemple d'écart type
- stddev_pop écart type de la population
- variance ou var_samp variance de l'échantillon
- var_pop variance de la population
- acos(X) arc-cosinus en radians
- acosh(X) arc-cosinus hyperbolique
- asin(X) arc-sinus en radians
- asinh(X) arc-sinus hyperbolique
- atan(X) arc-tangente en radians
- atan2(X,Y) arc-tangente en radians du rapport X/Y
- atanh(X) arc-tangente hyperbolique
- ceil(X) arrondi à l'entier supérieur
- ceiling(X) arrondi à l'entier supérieur
- cos(X) cosinus angulaire en radians
- cosh(X) cosinus hyperbolique
- degrees(X) convertir les radians en angle
- exp(X) exposant
- floor(X) arrondi à l'entier inférieur
- ln(X) logarithme naturel
- log(B,X) logarithme à la base indiquée
- log(X) logarithme décimal
- log10(X) logarithme décimal
- log2(X) logarithme en base 2
- mod(X,Y) reste de la division
- pi() Pi approximatif
- pow(X,Y) puissance par la base indiquée
- power(X,Y) puissance par la base indiquée
- radians(X) convertir l'angle en radians
- sin(X) angle sinusoïdal en radians
- sinh(X) sinus hyperbolique
- sqrt(X) racine carrée
- tan(X) angle tangent en radians
- tanh(X) tangente hyperbolique
- trunc(X) tronquer à l'entier le plus proche de 0
Exemple :
select
|