Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Hallo Alexander,
vielen Dank für die Bereitstellung dieser Bibliotheken. Irgendwie habe ich versucht, sie zu installieren und einige deiner Beispiele zum Laufen zu bringen, aber ich stoße immer wieder auf das gleiche Problem. Wenn ich versuche, eines der Skripte auszuführen, erhalte ich die Fehlermeldung:
2011.03.11 09:06:22 1 Inserting a record (GBPUSD,H1) Cannot open 'C:\Program Files\MetaTrader 5\MQL5\Libraries\AdoSuite.dll' (14001)
Die AdoSuite.dll befindet sich im richtigen Verzeichnis, das .NET 2.0-Framework ist installiert, ich habe alle Ihre Anweisungen befolgt, aber dennoch treffe ich immer wieder auf diesen Fehler, selbst bei dem einfachsten Skript, bei dem ich nur eine Einbindung Ihrer Bibliothek vornehme.
Irgendeine Idee, woher das kommen könnte? (übrigens liegt das Problem nicht daran, dass ADOSuite.dll nicht im Verzeichnis ist: wenn ich die dll aus dem Verzeichnis entferne, ist der Fehler ein anderer: "Cannot open AdoSuite.dll'(126)")
Neil.
PS: Sogar ein so einfaches Skript wie das unten stehende schlägt mit demselben Fehler 14001 fehl. Könnte es sein, dass Ihre DLL andere DLLs "sehen" muss?
//+------------------------------------------------------------------+
//| 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");
}
//+------------------------------------------------------------------+
Hallo,
Sie haben es wahrscheinlich mit einem Problem zu tun, das mit dem Datenverzeichnis Ihres Terminals zusammenhängt. Es gibt 3 Verzeichnisse, die MT5 verwendet:
Hallo Alexander,
ich habe alle Dateien richtig kopiert, bekomme aber den Fehler:
'CAdoRecord::Values' - cannot call protected member function DbDataAdapter.mqh 108 23
wenn ich eines der folgenden Includes einbinde:
#include <Ado\Providers\OleDb.mqh>
#include <Ado\Providers\Odbc.mqh>
#include <Indicators\BsvSqlServer.mqh>
Wenn ich 'CAdoRecord::Values public' mache, bekomme ich die Initialisierung nicht, wenn ich mein EA-Skript ausführe.
Können Sie mir helfen?
Danke
Ok, ich habe es gelöst. Copmilation mith 64bot und es startet ohne Fehler.
Können Sie mir sagen, was das Problem sein könnte?
Beim Kompilieren wird eine Warnung erzeugt:
differed by const qualifier, function CAdoRecord::Compare overrides CObject::Compare AdoRecord.mqh 61 54
und den Fehler:
'=' - cannot convert from const pointer to non-const pointer AdoRecord.mqh 80 19
Können Sie mir sagen, was das Problem sein könnte?
Beim Kompilieren wird eine Warnung erzeugt:
differed by const qualifier, function CAdoRecord::Compare overrides CObject::Compare AdoRecord.mqh 61 54
und den Fehler:
'=' - cannot convert from const pointer to non-const pointer AdoRecord.mqh 80 19
in den Zeilen 62 und 82 der Datei AdoRecord.mqh sollten Sie "const" aus der Deklaration und Implementierung der Methode CAdoRecord::Compare entfernen.
Die Codes sind aktualisiert worden.Können Sie mir bitte sagen, wie ich das folgende Problem lösen kann: AdoSuite.dll' ist keine 64-Bit-Version. Und will nicht funktionieren....
Vielen Dank im Voraus!
Können Sie mir bitte sagen, wie ich das folgende Problem lösen kann: AdoSuite.dll' ist keine 64-Bit-Version. Und will nicht funktionieren....
Vielen Dank im Voraus!
Kompilieren Sie das Projekt für die 64-Bit-Plattform neu. Aber es gibt noch andere Probleme, beim Starten eines Beispiels wird geschrieben: ungültige EX5-Datei (8)
Nur für den Fall, dass es für jemanden nützlich sein könnte, werde ich den Link hier veröffentlichen:
MT4-ODBC-Brücke
https://github.com/onagano/mt4-odbc-bridge
Dies ist eine Bibliothek für das beliebte Trading-Terminal MetaTrader4 (MT4), die den Zugriff auf eine relationale Datenbank über eine ODBC-Schnittstelle ermöglicht. Die Hauptmerkmale sind wie folgt
MT4 verfügt über eine eigene Programmiersprache, MQL4, für den algorithmischen Handel. Obwohl sie leicht zu erlernen ist, ist ihre Ausdruckskraft sehr begrenzt. Wer anspruchsvollere Algorithmen ausführen möchte, muss dazu neigen, auf Programme außerhalb von MT4 zurückzugreifen, in der Regel auf DLLs. Die native Programmierung von DLLs ist jedoch auf die Windows-Plattform beschränkt, die den Mainstream-Programmierern der jüngsten Open-Source-Bewegung nicht vertraut ist.
MT4-ODBC Bridge (kurz MOB) bietet einen Pufferbereich zu einem RDBMS wie MySQL, PostgreSQL, SQLite, usw. Eine solche Datenbank ist allgemein genug für die meisten Open-Source-Bewegung. Eine solche Datenbank ist allgemein genug für die meisten Open-Source-Programmierer. Sie können über Ihre gewohnte Sprache auf die Datenbank zugreifen, oder vielleicht direkt über SQL.
Dies ist eine hausgemachte Brücke via DLL zwischen MT4-Terminal und ODBC-Treiber einer beliebigen Datenbank. Und die Datenbank kann sogar In-Memory wie H2 sein, was Ihnen erlaubt, Daten zwischen EA und Indikator auszutauschen, Ticks oder andere Daten zu sammeln oder EA oder Indikator zu steuern. Und alles andere.