Discussion de l'article "SQLite Gestion native des bases de données SQL dans MQL5" - page 11

 
Fernando Carreiro #:

Mais n'est-ce pas exactement là où je vous ai dit que vous le trouveriez ?

Alors vous le trouverez dans "%APPDATA%\MetaQuotes\Terminal\Common\Files".

Vous aviez raison, mais je ne l'y ai pas trouvé hier, il n'y a qu'une structure dans le fichier "signals.sqlite" et je soupçonne qu'il y a des données dans le fichier signals.dat.

mais c'est dans la documentation
parameters

filename

[in] File name relative to the "MQL5\Files" folder.

[Supprimé]  
Zbigniew Mirowski #:
Vous aviez raison, mais je ne l'ai pas trouvé hier, il n'y a que de la structure dans le fichier "signals.sqlite" et je soupçonne qu'il y a des données dans le fichier signals.dat.

Non ! Je vous ai déjà dit que le fichier"signals.dat" est un fichier de données interne à MetaTrader et qu'il n'a rien à voir avec SQLite.

Le fichier"signals.dat" est l'endroit où MetaTrader stocke les informations sur les signaux qui peuvent être récupérés avec la fonctionnalité Trade Signals...

Base de code

Lister toutes les propriétés des signaux MT5 dans un fichier CSV

Fernando Carreiro, 2022.04.21 15:14

Ce code de script simple et rapide produira un fichier CSV de toutes les propriétés des signaux telles qu'elles sont rapportées par la fonctionnalité Signaux de transaction de MQL5.

Documentation on MQL5: Trade Signals
Documentation on MQL5: Trade Signals
  • www.mql5.com
Trade Signals - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5
[Supprimé]  
Zbigniew Mirowski #: mais c'est dans la documentation. parameters, filename, [in] Nom de fichier relatif au dossier "MQL5\Files".

Mais vous avez utilisé l'option"DATABASE_OPEN_COMMON" qui modifie l'emplacement. N'utilisez donc pas ce drapeau si vous ne voulez pas que le fichier se trouve dans le dossier commun.

DATABASE_OPEN_COMMON

Le fichier se trouve dans le dossier commun de tous les terminaux.

 
Fernando Carreiro #:

Mais vous avez utilisé l'option"DATABASE_OPEN_COMMON" qui modifie l'emplacement. N'utilisez donc pas ce drapeau si vous ne voulez pas qu'il se trouve dans le dossier commun.

DATABASE_OPEN_COMMON

Le fichier se trouve dans le dossier commun de tous les terminaux.

ok, je comprends et je trouve les données dans signals.sqlite-wal :))

Merci pour votre aide)

[Supprimé]  
Zbigniew Mirowski #: Ok, je comprends Mais où sont les données ? J'ai téléchargé et reçu la confirmation signaux.sqlite ouvert

CS 0 12:43:16.106 SignalsBasa (EURUSD,H1) DB : succesfull
Le document après le chargement des données est encore de 8 kb et je ne peux pas charger les données et recevoir
2022.11.30 12:55:49.103 CreateDB (EURUSD,H1) DB : signals.sqlite opened
2022.11.30 12:55:49.103 CreateDB (EURUSD,H1) 0 : 0,0,0.0,0.0

Mais vous avez déjà dit que vous aviez trouvé le fichier ...

"Wow, j'ai trouvé le fichier "signals.sqlite" C:``Users\NAppData\NRoaming\NMetaQuotes\NTerminal\NCommon\NFiles"

Quel est donc le problème ?

Le fichier"signals.sqlite" contient une structure et des données en un seul fichier. Ouvrez-le via MetaEditor et voyez les données par vous-même - Travailler avec des bases de données SQL - Aide MetaEditor

[Supprimé]  
Zbigniew Mirowski #: Je comprends et je trouve les données dans signals.sqlite-wal :)) Merci pour votre aide)

Vous êtes le bienvenu !

 

Dans MetaEditor, le nombre maximum de colonnes des tables de base de données à afficher n'est que de 23.

Est-il possible de supprimer cette limitation ?

 
Anatoli Kazharski #:

Dans MetaEditor, le nombre maximum de colonnes de la table de base de données à afficher n'est que de 23.

Est-il possible de supprimer cette limitation ?

Corrigé dans la version bêta 3531 en augmentant le nombre de colonnes à 64.
 
À un moment donné, il y a eu une réponse à propos des guillemets simples et doubles. Pas textuellement, mais proche du texte - "a travaillé pendant longtemps avec des guillemets doubles". Actuellement, pour en revenir à l'utilisation des tableaux, une tentative d'écrire du texte entre guillemets doubles dans un tableau échoue. Cependant, en plaçant le texte entre guillemets simples puis doubles, l'écriture s'effectue avec succès. Quelle est la bonne règle entre guillemets simples et doubles pour écrire du texte dans un tableau ?
Options et résultats :
réussi -
         AddTable_TstDate(i,
                          iTime(Symbol(),PERIOD_CURRENT,i),
                          iHigh(Symbol(),PERIOD_CURRENT,i),
                          iTime(Symbol(),PERIOD_CURRENT,i),
                          iLow(Symbol(),PERIOD_CURRENT,i),
                          IntegerToString(iTime(Symbol(),PERIOD_CURRENT,i)),
                          1121,
                          "'string_no_error'");

pas réussi -

         AddTable_TstDate(i,
                          iTime(Symbol(),PERIOD_CURRENT,i),
                          iHigh(Symbol(),PERIOD_CURRENT,i),
                          iTime(Symbol(),PERIOD_CURRENT,i),
                          iLow(Symbol(),PERIOD_CURRENT,i),
                          IntegerToString(iTime(Symbol(),PERIOD_CURRENT,i)),
                          1121,
                          "string_error");

Je tiens à souligner que la conversion d'un entier en chaîne de caractères ne produit pas d'erreur lors de l'écriture dans un tableau.

 

Chers développeurs, pourquoi n'est-il pas possible d'attacher une base de données existante à partir d'un fichier (ATTACH DATABASE) ?

Ensuite, comment est-il possible d'attacher une base à partir de la RAM...?

J'ai joint le code.

Le script create_databases.mq5 crée une base de données. Le script attach_mem_db.mq5 attache la base de données à partir de la RAM. Mais le script attach_other_db.mq5 ne parvient pas à attacher une base de données existante.

Dossiers :