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
Bonjour Alexander,
Merci d'avoir mis ces bibliothèques à disposition. J'ai essayé de les installer et de faire fonctionner certains de vos échantillons, mais je rencontre toujours le même problème. Lorsque j'essaie d'exécuter l'un des scripts, j'obtiens le message d'erreur suivant :
2011.03.11 09:06:22 1 Inserting a record (GBPUSD,H1) Cannot open 'C:\Program Files\MetaTrader 5\MQL5\Libraries\AdoSuite.dll' (14001)
AdoSuite.dll est dans le bon répertoire, le framework .NET 2.0 est installé, j'ai suivi toutes vos instructions, mais je rencontre toujours cette erreur, même avec le script le plus simple où je ne fais qu'inclure votre bibliothèque.
Une idée de l'origine de cette erreur ? (Par ailleurs, le problème n'est pas dû au fait que ADOSuite.dll n'est pas dans le répertoire : si je supprime la dll du répertoire, l'erreur est différente : "Cannot open AdoSuite.dll'(126)")
Neil.
PS : même un script aussi simple que celui ci-dessous échoue avec la même erreur 14001. Se pourrait-il que votre DLL ait besoin de "voir" d'autres DLL ?
//+------------------------------------------------------------------+
//| TestADO.mq5 |
//| Copyright 2011, MetaQuotes Software Corp. |
//| http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2011, MetaQuotes Software Corp."
#property link "http://www.mql5.com"
#property version "1.00"
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
#include <Ado\Providers\OleDb.mqh>
void OnStart()
{
Comment("Test");
}
//+------------------------------------------------------------------+
Bonjour,
Vous êtes probablement confronté à un problème lié au répertoire de données de votre terminal. MT5 utilise 3 emplacements :
Bonjour Alexander,
J'ai copié tous les fichiers correctement, mais j'obtiens l'erreur :
'CAdoRecord::Values' - cannot call protected member function DbDataAdapter.mqh 108 23
lorsque j'inclus l'un de ces includes :
#include <Ado\Providers\OleDb.mqh>
#include <Ado\Providers\Odbc.mqh>
#include <Indicators\BsvSqlServer.mqh>
Si je rends 'CAdoRecord::Values public, j'obtiens l'échec de l'initialisation lors de l'exécution de mon script EA.
Pouvez-vous m'aider ?
Merci d'avance.
Ok, j'ai résolu le problème. Copmilation avec 64bot et démarrage sans erreur.
Pouvez-vous me dire quel est le problème ?
Lors de la compilation, un avertissement est généré :
differed by const qualifier, function CAdoRecord::Compare overrides CObject::Compare AdoRecord.mqh 61 54
et une erreur :
'=' - cannot convert from const pointer to non-const pointer AdoRecord.mqh 80 19
Pouvez-vous me dire quel est le problème ?
Lors de la compilation, un avertissement est généré :
differed by const qualifier, function CAdoRecord::Compare overrides CObject::Compare AdoRecord.mqh 61 54
et une erreur :
'=' - cannot convert from const pointer to non-const pointer AdoRecord.mqh 80 19
dans les lignes 62 et 82 du fichier AdoRecord.mqh, vous devez supprimer "const" de la déclaration et de l'implémentation de la méthode CAdoRecord::Compare.
Les codes ont été mis à jour.Pourriez-vous me dire comment résoudre le problème suivant : AdoSuite.dll' n'est pas une version 64-bit. Et ne veut pas fonctionner....
Merci d'avance !
Pourriez-vous me dire comment résoudre le problème suivant : AdoSuite.dll' n'est pas une version 64-bit. Et ne veut pas fonctionner....
Merci d'avance !
Recompilez le projet pour la plate-forme 64 bits. Mais il y a d'autres problèmes, lors du lancement d'un exemple il est écrit : invalid EX5 file (8)
Au cas où cela pourrait être utile à quelqu'un, je vais poster le lien ici :
MT4-ODBC Bridge
https://github.com/onagano/mt4-odbc-bridge
Il s'agit d'une bibliothèque pour le terminal de trading populaire, MetaTrader4 (MT4), qui permet d'accéder à une base de données relationnelle par l'intermédiaire de l'interface ODBC. Les principales caractéristiques sont les suivantes
MT4 possède son propre langage de programmation, MQL4, pour le trading algorithmique. Bien qu'il soit facile à apprendre, son expressivité est très limitée. Les personnes qui souhaitent exécuter des algorithmes plus sophistiqués ont tendance à se tourner vers l'extérieur de MT4, généralement en utilisant des DLL. Mais la programmation native des DLL est limitée à la plateforme Windows, qui n'est pas familière aux programmeurs du récent mouvement open source.
Le pont MT4-ODBC (MOB en abrégé) fournit une zone tampon à un SGBDR tel que MySQL, PostgreSQL, SQLite, etc. Une telle base de données est suffisamment générale pour la plupart des programmeurs open source. Vous pouvez accéder à la base de données par votre langage familier, ou peut-être directement par SQL.
Il s'agit d'une passerelle maison via DLL entre le terminal MT4 et le pilote ODBC de n'importe quelle base de données. Et la base de données peut même être en mémoire comme H2, ce qui vous permet d'échanger des données entre l'EA et l'indicateur, de collecter des ticks, d'autres données, ou de contrôler l'EA ou l'indicateur. Et tout le reste.