Diskussion zum Artikel "Wie man auf die MySQL-Datenbank von MQL5 (MQL4) aus zugreift" - Seite 2
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
Vielen Dank für diesen neuen Ansatz! Ich habe verschiedene Lösungen ausprobiert, aber diese scheint bisher die beste zu sein. Ich habe eine kleine Ergänzung zu Ihrer Bibliothek, wo ich die Anzahl der Felder für eine SELECT-Abfrage, mit mysql_num_fields, so dass ich weiß, wie viele Felder muss ich verarbeiten und zurück in die MQL-Seite. Nochmals vielen Dank für die Zusammenstellung, das hat wirklich geholfen!!
MQL-Code:
Vielen Dank für diesen neuen Ansatz! Ich habe verschiedene Lösungen ausprobiert, aber diese scheint bisher die beste zu sein. Ich habe eine kleine Ergänzung zu Ihrer Bibliothek, wo ich die Anzahl der Felder für eine SELECT-Abfrage, mit mysql_num_fields, so dass ich weiß, wie viele Felder, die ich brauchen, um zu verarbeiten und zurück in der MQL-Seite. Nochmals vielen Dank für die Zusammenstellung, das hat wirklich geholfen!!
Danke für die freundlichen Worte. Es ist eine einfache Lösung, die die allgemeine Funktionalität beibehält, die ich in Wirklichkeit verwende.
Bei der Entwicklung dieser Lösung habe ich die folgenden Regeln beachtet: Robustheit, leichte Erlernbarkeit, einfache Anwendung und minimaler Support.
Natürlich können Sie dieses Projekt ändern und zusätzliche Funktionen hinzufügen, die Ihren Projektanforderungen entsprechen.
Viel Glück!
Eugene
Hallo Freunde,
Nun, wenn Ihnen diese Lösung gefällt und Sie sie für reale Projekte ausprobieren möchten (nicht nur zum Spaß), habe ich ein Update.
Ich fange an, einen neuen Artikel über die Arbeit mit verschiedenen Datenbanken zu schreiben, wie MS SQL Server, MS Access, Oracle, IBM DB/2, PostgreSQL.
Die Entscheidung wäre robust und einfach zu benutzen wie dieser, aber ich habe keine Zeit, ihn fertigzustellen.
Also, wenn Sie dieses Projekt unterstützen wollen, können Sie mir ein paar $$ über paypal schicken: e.a.lugovoy@gmail.com
Die Höhe der Summe spielt keine Rolle, ich möchte nur wissen, ob eine solche Entscheidung wirklich fertiggestellt werden muss.
Ich danke Ihnen allen,
Eugene
hello,EugeniyLugovoy~
Ich möchte wissen, warum ' MySqlGetFieldAsDouble(Cursor, 3);' seinen Wert nicht in data[i]?schreiben kann .
Print("data[i]",data[3]);--immer 0.0. was ist falsch ? danke Sir!
for (i=0; i<Rows; i++)
if (MySqlCursorFetchRow(Cursor))
{
double data[] ;
ArrayResize(data,Rows);
data[i]= MySqlGetFieldAsDouble(Cursor, 3);
Print("data[i]",data[3]);
}
Hallo Freunde,
Nun, wenn Ihnen diese Lösung gefällt und Sie sie für reale Projekte ausprobieren möchten (nicht nur zum Spaß), habe ich ein Update.
Ich fange an, einen neuen Artikel über die Arbeit mit verschiedenen Datenbanken zu schreiben, wie MS SQL Server, MS Access, Oracle, IBM DB/2, PostgreSQL.
Die Entscheidung wäre robust und einfach zu benutzen wie dieser, aber ich habe keine Zeit, ihn fertigzustellen.
Also, wenn Sie dieses Projekt unterstützen wollen, können Sie mir ein paar $$ über paypal schicken: e.a.lugovoy@gmail.com
Die Höhe der Summe spielt keine Rolle, ich möchte nur wissen, ob eine solche Entscheidung wirklich fertiggestellt werden muss.
Ich danke Ihnen allen,
Eugene
hello,EugeniyLugovoy~
Ich möchte wissen, warum 'MySqlGetFieldAsDouble(Cursor, 3);' seinen Wert nicht in data[i]? schreiben kann.
Print("data[i]",data[3]);--immer 0.0. was ist falsch ? danke Sir!
for (i=0; i<Rows; i++)
if (MySqlCursorFetchRow(Cursor))
{
double data[] ;
ArrayResize(data,Rows);
data[i]= MySqlGetFieldAsDouble(Cursor, 3);
Print("data[i]",data[3]);
}
Sie versuchen, jedes Mal im Zyklus ein Array zu definieren und ein leeres Array-Element zu drucken.
Versuchen Sie dies:
Sie müssen also das Array einmal vor dem Abholen des Zyklus definieren, dann die Größe ändern und dann die Routine zum Abrufen der Daten schreiben.
Übrigens, die Zahl 3 in MySqlGetFieldAsDouble(Cursor, 3); bedeutet die 4. Spalte in der SELECT-Liste, weil die Nummerierung mit 0 beginnt, d.h. SELECT Open, High, Low, Close FROM ... bedeutet 0 - Open, 1 - High, 2 - Low und 3 - Close.
Ich hoffe, das hilft Ihnen weiter.
Mit freundlichen Grüßen,
Eugene
Sie versuchen, jedes Mal im Zyklus ein Array zu definieren und ein leeres Array-Element zu drucken.
Versuchen Sie dies:
Sie müssen also das Array einmal vor dem Abruf des Zyklus definieren, dann die Größe ändern und dann die Routine für den Datenabruf schreiben.
Übrigens, die Zahl 3 in MySqlGetFieldAsDouble(Cursor, 3); bedeutet die 4. Spalte in der SELECT-Liste, weil die Nummerierung mit 0 beginnt, d.h. SELECT Open, High, Low, Close FROM ... bedeutet 0 - Open, 1 - High, 2 - Low und 3 - Close.
Ich hoffe, das hilft Ihnen weiter.
Mit freundlichen Grüßen,
Eugene
Vielen Dank für Hilfe Sir ,Ich habe meine Probleme über das Array gelöst。Sie haben einen guten Job auf mysql-mql in der Tat~!
Hallo elugovoy
Toller Artikel und tolle Bibliotheken.
Ich versuche deine Beispiele unter MT5 zu verwenden, aber ich bekomme diesen Fehler:
2014.12.15 15:44:16.387 MySQL-001 'C:\Users\....\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\libraries\MQLMySQL.dll' ist keine 64-bit Version
Führen Sie MT5 unter einer 32-Bit-Umgebung aus?
Könnten Sie mir bitte dabei helfen?
Herzlichen Dank!
Carmine Marrone.
Hallo elugovoy
Toller Artikel und tolle Bibliotheken.
Ich versuche deine Beispiele unter MT5 zu verwenden, aber ich bekomme diesen Fehler:
2014.12.15 15:44:16.387 MySQL-001 'C:\Users\....\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\libraries\MQLMySQL.dll' ist keine 64-bit Version
Führen Sie MT5 unter einer 32-Bit-Umgebung aus?
Könnten Sie mir bitte dabei helfen?
Herzlichen Dank!
Carmine Marrone.
Hallo Carmine
Die oben in der Diskussion habe ich Projekt für x64 beigefügt, werfen Sie einen Blick und / oder Download von diesem Beitrag.
Hoffentlich hilft das.
Mit freundlichen Grüßen,
Eugene