Discussion de l'article "Comment accéder à la base de données MySQL à partir de MQL5 (MQL4)" - page 2
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Merci pour cette nouvelle approche ! J'ai essayé différentes solutions, mais celle-ci me semble la meilleure jusqu'à présent. J'ai fait un ajout mineur à votre bibliothèque où je retourne le nombre de champs pour une requête SELECT, en utilisant mysql_num_fields, de sorte que je sache combien de champs je dois traiter et retourner dans le côté MQL. Merci beaucoup encore d'avoir mis cela au point, cela m'a vraiment aidé !
Code MQL :
Merci pour cette nouvelle approche ! J'ai essayé différentes solutions, mais celle-ci me semble la meilleure jusqu'à présent. J'ai fait un ajout mineur à votre bibliothèque où je retourne le nombre de champs pour une requête SELECT, en utilisant mysql_num_fields, de sorte que je sache combien de champs je dois traiter et retourner dans le côté MQL. Merci beaucoup encore d'avoir mis tout cela au point, cela m'a vraiment aidé !
Merci pour vos bons mots. Il s'agit d'une solution de base qui conserve la fonctionnalité générale que j'utilise en réalité.
J'ai utilisé les règles suivantes pendant le développement de cette solution : robustesse, facilité d'étude, simplicité d'utilisation et support minimal.
Bien sûr, vous pouvez modifier ce projet et ajouter des fonctions supplémentaires en fonction des besoins de votre projet.
Je vous souhaite bonne chance,
Eugène
Bonjour les amis,
Si vous aimez cette solution et que vous l'essayez pour des projets réels (pas seulement pour le plaisir), j'ai une mise à jour.
Je commence à écrire un nouvel article sur le travail avec différentes bases de données, telles que MS SQL Server, MS Access, Oracle, IBM DB/2, PostgreSQL.
La décision serait robuste et facile à utiliser comme celle-ci, mais je n'ai pas le temps de la terminer.
Donc, si vous voulez soutenir ce projet, vous pouvez m'envoyer quelques $$ par paypal : e.a.lugovoy@gmail.com
Le montant de la somme n'a pas d'importance, j'aimerais juste savoir si une telle décision a vraiment besoin d'être complétée.
Merci à tous,
Eugène
Bonjour,EugeniyLugovoy~
Je voudrais savoir pourquoi ' MySqlGetFieldAsDouble(Cursor, 3);' ne peut pas écrire sa valeur dans data[i]?
Print("data[i]",data[3]);--Toujours 0.0. Qu'est ce qui ne va pas ? merci monsieur!
for (i=0 ; i<Rows ; i++)
if (MySqlCursorFetchRow(Cursor))
{
double data[] ;
ArrayResize(data,Rows) ;
data[i]= MySqlGetFieldAsDouble(Cursor, 3) ;
Print("data[i]",data[3]) ;
}
Bonjour les amis,
Si vous aimez cette solution et que vous l'essayez pour des projets réels (pas seulement pour le plaisir), j'ai une mise à jour.
Je commence à écrire un nouvel article sur le travail avec différentes bases de données, telles que MS SQL Server, MS Access, Oracle, IBM DB/2, PostgreSQL.
La décision serait robuste et facile à utiliser comme celle-ci, mais je n'ai pas le temps de la terminer.
Donc, si vous voulez soutenir ce projet, vous pouvez m'envoyer quelques $$ par paypal : e.a.lugovoy@gmail.com
Le montant de la somme n'a pas d'importance, j'aimerais juste savoir si une telle décision a vraiment besoin d'être complétée.
Merci à tous,
Eugène
Bonjour,EugeniyLugovoy~
Je voudrais savoir pourquoi ' MySqlGetFieldAsDouble(Cursor, 3);' ne peut pas écrire sa valeur dans data[i]?
Print("data[i]",data[3]);--Toujours 0.0. Qu'est ce qui ne va pas ? merci monsieur!
for (i=0 ; i<Rows ; i++)
if (MySqlCursorFetchRow(Cursor))
{
double data[] ;
ArrayResize(data,Rows) ;
data[i]= MySqlGetFieldAsDouble(Cursor, 3) ;
Print("data[i]",data[3]) ;
}
Vous essayez de définir un tableau à chaque fois dans le cycle et d'imprimer un élément de tableau vide.
Essayez ceci :
Vous devez donc définir le tableau une fois avant de récupérer le cycle, puis le redimensionner, et enfin écrire la routine pour récupérer les données.
À propos, le chiffre 3 dans MySqlGetFieldAsDouble(Cursor, 3) ; signifie la quatrième colonne dans la liste SELECT, car la numération commence par 0, c'est-à-dire que SELECT Open, High, Low, Close FROM ... signifie 0 - Open, 1 - High, 2 - Low et 3 - Close.
J'espère que cela vous aidera.
Je vous prie d'agréer, Monsieur, l'expression de mes salutations distinguées,
Eugène
Vous essayez de définir un tableau à chaque fois dans le cycle et d'imprimer un élément de tableau vide.
Essayez ceci :
Vous devez donc définir le tableau une fois avant le cycle de récupération, puis le redimensionner et enfin écrire une routine pour récupérer les données.
Au fait, le chiffre 3 dans MySqlGetFieldAsDouble(Cursor, 3) ; signifie la quatrième colonne dans la liste SELECT, car la numération commence par 0, c'est-à-dire que SELECT Open, High, Low, Close FROM ... signifie 0 - Open, 1 - High, 2 - Low et 3 - Close.
J'espère que cela vous aidera.
Je vous prie d'agréer, Monsieur, l'expression de mes salutations distinguées,
Eugène
Merci pour avoir aidé monsieur ,J'ai résolu mes problèmes à propos du tableau。Vous avez fait un bon travail sur mysql-mql en effet~!
Bonjour elugovoy
Superbe article et superbes librairies.
J'essaie d'utiliser vos exemples sous MT5 mais j'obtiens cette erreur :
2014.12.15 15:44:16.387 MySQL-001 'C:\Users\....\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\libraries\MQLMySQL.dll' n'est pas une version 64 bits.
Est-ce que vous utilisez MT5 sous un environnement 32-bit ?
Pourriez-vous m'aider ?
Merci beaucoup !
Carmine Marrone.
Bonjour elugovoy
Superbe article et superbes librairies.
J'essaie d'utiliser vos exemples sous MT5 mais j'obtiens cette erreur :
2014.12.15 15:44:16.387 MySQL-001 'C:\Users\....\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\libraries\MQLMySQL.dll' n'est pas une version 64 bits.
Est-ce que vous utilisez MT5 sous un environnement 32-bit ?
Pourriez-vous m'aider ?
Merci beaucoup !
Carmine Marrone.
Bonjour Carmine
J'ai joint le projet pour x64 à la discussion ci-dessus, jetez-y un coup d'œil et/ou téléchargez-le à partir de ce message.
J'espère que cela vous aidera.
Je vous prie d'agréer, Monsieur, mes salutations distinguées,
Eugène