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

 
Alexey Viktorov:

Exactement. Artem, vous l'avez fait avec MQL, mais le sujet concerne SQLite. Même votre bibliothèque serait plus simple et plus "rapide" si elle utilisait les bases de données SQLite. Je ne parlais pas de l'absence ou de l'impossibilité de le faire. Je parlais de la simplicité de la solution.

Il suffit de demander les données nécessaires dans votre programme, et ce pour les deux plates-formes. Mais le sujet n'est vraiment pas là. Laissons donc tomber le flou.

 
Alexey Viktorov:

À partir de l'article, je comprends difficilement l'exemple suivant

Cette requête sélectionne les enregistrements dont la valeur est supérieure à 15000 dans la base de données. Un autre exemple était de sélectionner la somme... Mais moi, par exemple, j'ai besoin de sélectionner la valeur la plus petite/la plus grande de la base de données. Ou la somme des valeurs supérieures/inférieures à zéro. Je pense que cette possibilité existe, mais il n'y a pas assez d'informations dans la documentation de MQL5. Il m'est difficile de m'inspirer d'exemples. Mais si je ne l'ai pas... si nécessaire, j'essaierai de trouver une solution.

Vous devez apprendre le langage des requêtes SQL. Cet article montre comment les utiliser à l'aide de ces fonctions MQL5 et donne quelques exemples de requêtes SQL.

La tâche "faire une aide sur SQL" n'a pas été définie. Il existe de nombreux tutoriels et cours sur ce sujet.

 
Rashid Umarov:

Vous devez apprendre le langage de requête SQL. Cet article montre comment les utiliser à l'aide de ces fonctions MQL5 et donne quelques exemples de requêtes SQL.

La tâche de "faire une aide SQL" n'a pas été définie. Il existe de nombreux tutoriels et cours sur ce sujet.

Oui Rashid, j'ai cherché et trouvé ce qui pouvait être trouvé en russe. Mais je suis d'accord, si vous proposez d'utiliser quelque chose, alors la description devrait être disponible sans recherches supplémentaires. De plus, j'ai déjà dit que la forme de la documentation est plus acceptable pour moi en tant que documentation MQL. Et tout ce que j'ai trouvé dans le réseau sur SQLite est en quelque sorte difficile à comprendre. Mais cela ne me concerne pas.

Plus loin, j'ai exprimé une opinion un peu plus réaliste.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading.

Discussion autour de l'article "SQLite : travail natif avec les bases de données SQL dans MQL5".

Alexey Viktorov, 2020.05.16 10:26 AM

Après une familiarisation plus approfondie, mais toujours superficielle, avec les capacités de SQLite, je suis arrivé à la conclusion que sous cette forme, désolé, ce n'est qu'un hochet.

Pour utiliser les avantages inconditionnels de SQLite, il serait utile d'avoir au moins une base de données historique. Et mieux encore, une base de données des positions actuelles et des ordres en attente. J'espère qu'au niveau du MT, la création de telles bases de données ne prendra pas beaucoup de temps. Surtout si les tables, telles qu'elles sont actuellement, peuvent être formées à partir d'une base de données SQLite. Cette approche simplifiera certainement le travail avec l'historique des ordres et des transactions. Il sera très facile d'obtenir les montants des swaps, des commissions, des bénéfices sur toutes les transactions avec un identifiant de position ou pour une certaine période.

Récemment, j'ai lu dans l'un des sujets que la sélection de l'historique est basée sur l'heure d'ouverture, mais correctement sur l'heure de clôture.... Le fait de disposer d'une base de données SQLite élimine ce genre de questions. Selon quel critère vous voulez l'utiliser et le sélectionner. Mais peu de programmeurs créeront ces bases pour eux-mêmes. IMHO.

Exactement peu de programmeurs écriront du remplissage de base de données pour profiter des nouveaux jouets. Et Artyom s'est immédiatement indigné : "comment se fait-il que ce ne soit pas disponible ?" Il a pris la bibliothèque et l'a utilisée. Mais dans sa bibliothèque, tout est fait par des moyens MQL, et SQLite reste un hochet.

Je me demande s'il est difficile de remplacer l'algorithme existant de remplissage de l'historique et de la liste des positions ouvertes et des ordres en attente par le remplissage de la base de données SQLite, puis de la convertir dans la forme actuelle. Et comment cela affectera la vitesse de MT.

Imaginez à quel point il sera facile de collecter tous les ordres et toutes les transactions par ID de position, qu'ils soient ouverts ou déjà clôturés.....

 
Alexey Viktorov:

Oui, Rashid, j'ai cherché et trouvé ce que je pouvais trouver en russe. Mais je suis d'accord, si vous proposez d'utiliser quelque chose, la description devrait être disponible sans recherches supplémentaires. De plus, j'ai déjà dit que la forme de la documentation est plus acceptable pour moi que la documentation MQL. Et tout ce que j'ai trouvé dans le réseau sur SQLite est en quelque sorte difficile à comprendre. Mais cela ne me concerne pas.

Nous ne sommes pas d'accord.

Les systèmes largement connus disposent d'une documentation abondante. Soyez réalistes.

 
Renat Fatkhullin:

Nous ne sommes pas d'accord.

Les systèmes largement connus disposent d'une documentation abondante. Soyez réalistes.

Je n'insiste pas. Il ne s'agit que de mon opinion subjective, éventuellement erronée.

 
Alexey Viktorov:

Très peu de programmeurs écriront des remplissages de base de données pour tirer parti de ces nouveaux jouets.

Un script pour créer/mettre à jour une table de base de données à partir de l'historique du compte/de l'instrument est écrit en quelques minutes.

Le terminal stocke très probablement tout cela dans les mêmes bases de données, mais il est peu probable que l'on y accède directement. Et il n'y a aucun intérêt à les dupliquer dans une base de données castum "out of the box".

 
Andrey Khatimlianskii:

Un script pour créer/mettre à jour une table de la base de données à partir de l'historique du compte/de l'instrument est écrit en minutes......

Le terminal stocke très probablement tout cela dans les mêmes bases de données, mais il est peu probable qu'il y donne un accès direct. Et il n'y a aucun intérêt à les dupliquer dans une base de données castum "out of the box".

Oui, je n'ai pas pensé à la sécurité. Probablement parce qu'il n'y a pas de pensées frauduleuses :))))))) Je suis d'accord. Je retire ce que j'ai dit.

 
Alexey Viktorov:

@Rashid Umarov Je relis l'article pour la énième fois et à chaque fois je suis frappé par une coquille.

Merci de la corriger et de supprimer ce message.

Je l'ai corrigée à deux endroits - étrange coquille. Je vous remercie de votre attention.

 
Existe-t-il une possibilité d'accès simultané à différentes tables dans une base de données SQLite? Ou au moins comment comprendre si la base de données est verrouillée pour le moment et si le programme doit attendre son tour ?
 

Bonjour !

Lorsque j'exécute le script DatabaseRead.mq5, je ne crée pas de fichier de base de données (company.sqlite).

Il ne génère aucune erreur. Le fichier est là, mais je ne le vois pas !

Pouvez-vous m'aider à comprendre ?