MySQL an MQ4 anbinden

 

Hallo, liebe Experten!

Wenn ich einen Expert Advisor schreibe, vermisse ich die Möglichkeit, auf die Datenbank zuzugreifen!

Bitte sagen Sie mir, wie ich eine Verbindung zur Datenbank herstellen kann.

Da ich mit MySQL bereits vertraut bin, ist es besser, es zu verwenden.

 
 
Eugene1:

Hallo, liebe Experten!
Ich vermisse wirklich die Möglichkeit, beim Schreiben eines Expert Advisors auf die Datenbank zuzugreifen!
Bitte teilen Sie mir mit, wie ich eine Verbindung zur Datenbank herstellen kann.
Da ich mit MySQL bereits vertraut bin, ist es besser, es zu verwenden.


Leider können Sie der Datenbank nur mit MQL Daten hinzufügen.

Aber lesen Sie daraus - nur mit Hilfe Ihrer DLL.

 

Es ist auch möglich, mit der Standard-DLL von MySQL zu lesen.

Es gibt eine Reihe von Komplikationen, die aber alle lösbar sind.

 
HIDDEN:

Es ist auch möglich, mit der Standard-DLL von MySQL zu lesen.

Es gibt eine Reihe von Komplikationen, die aber alle lösbar sind.


Wie wird das Problem gelöst?
habe deinen Thread gesehen https://www.mql5.com/ru/forum/129879
 

Eigentlich arbeitet MKL4 normal mit muscle (empfängt und sendet Daten) über libmySQL.dll. Mit MKL4 gibt es kein Problem, aber mit MKL5 gibt es ein großes Problem wegen des Unicodes. In der Datenbank werden normalerweise Informationen gesendet, aber Hieroglyphen zurückgegeben (wenn Sie die Datenbank in anderen Programmen durchsuchen, werden alle normal angezeigt). In diesem Stadium musste ich einen dll-Konverter für MKL5 schreiben.

//----------------------------------------------------------+
function a2u(var s:pansichar):PWideChar; stdcall;
//----------------------------------------------------------+
var
  w: WideString;
begin
  w := s;
  Result := PWideChar(w);
end;

Der Code ist in Delphi geschrieben. Der Muskel arbeitet mit MT5 auf diese Weise. Ich möchte diese DLL loswerden und wäre dankbar, wenn mir jemand sagen könnte, wie man das macht.

Ich habe eine Klasse, um mit SQLite von MT5 arbeiten, gibt es einen Vorschlag, eine ähnliche Klasse für den Muskel zu schreiben.

Eine weitere lustige Sache an muscle ist, dass libmySQL.dll ständig Fehler aufweist, die das Terminal zum Absturz bringen oder das Programm anhalten. Ich empfehle dringend, zu MariaDB zu wechseln. Es ist voll kompatibel mit Muscle und arbeitet viel stabiler, seit 2 Wochen ist noch kein Fehler aufgetaucht.

 
Graff:

In der Tat arbeitet MKL4 normal mit Muscle (empfängt und sendet Daten) über libmySQL.dll. Es gibt keine Probleme mit MKL4

Wie erhalten Sie die Daten aus dem zurückgegebenen Strukturzeiger?
 
sergeev:
Wie erhalten Sie die Daten aus dem zurückgegebenen Strukturzeiger?


Wenn Sie helfen können, schreiben ansi zu Unicode-Konverter für MKL5, Code von denen in früheren Beitrag gegeben ist. Ich schicke Ihnen den Arbeitscode für MKL4, der auch beim Schreiben der Klasse für MKL5 helfen wird.
 
Graff:

den Ansi-Unicode-Konverter für MKL5, dessen Code im vorherigen Beitrag angegeben ist.

in Delphi nicht so sehr. Ich brauche, um das Problem zu sehen, wie in MQL es auf verschiedene Weise gelöst werden kann. oder über uchar Array oder CharToString etc.

 
sergeev:

Ich brauche, um das Problem zu sehen, weil in MQL es auf verschiedene Weise gelöst werden kann. oder über uchar Array oder CharToString etc.


Fügen Sie mich über Skype oder ICQ hinzu (Kontakte in meinem Profil auf der MKL5-Website). Ich schicke Ihnen den gesamten Quellcode für MKL4 und MKL5 auf einmal, aber ich brauche Hilfe bei der String-Konvertierung.
 
Graff:

Fügen Sie mich über Skype oder ICQ hinzu (Kontakte in meinem Profil auf der MKL5-Website). Ich werde Ihnen den gesamten Quellcode für MKL4 und MKL5 auf einmal schicken, aber ich brauche Hilfe bei der Zeilenumsetzung.

Besser in einer privaten Nachricht.