Discussione sull’articolo "Come accedere al database MySQL da MQL5 (MQL4)" - pagina 2
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Grazie per questo nuovo approccio! Ho provato diverse soluzioni, ma questa sembra la migliore finora. Ho fatto una piccola aggiunta alla vostra libreria in cui restituisco il numero di campi per una query SELECT, usando mysql_num_fields, in modo da sapere quanti campi devo elaborare e restituire nel lato MQL. Grazie ancora per aver messo insieme tutto questo, mi ha davvero aiutato!!!
Codice MQL:
Grazie per questo nuovo approccio! Ho provato diverse soluzioni, ma questa sembra la migliore finora. Ho fatto una piccola aggiunta alla vostra libreria in cui restituisco il numero di campi per una query SELECT, usando mysql_num_fields, in modo da sapere quanti campi devo elaborare e restituire nel lato MQL. Grazie ancora per aver messo insieme tutto questo, mi ha davvero aiutato!!!
Grazie per le gentili parole. È una soluzione di base e mantiene la funzionalità generale che sto usando in realtà.
Durante lo sviluppo di questa soluzione ho utilizzato le seguenti regole: robustezza, facilità di studio, semplicità di utilizzo e supporto minimo.
Certo, potete modificare questo progetto e aggiungere qualsiasi funzione in base alle vostre esigenze.
Buona fortuna,
Eugene
Ciao amici,
Se vi piace questa soluzione e la provate per progetti reali (non solo per divertimento), ho un aggiornamento.
Sto iniziando a scrivere un nuovo articolo su come lavorare con diversi database, come MS SQL Server, MS Access, Oracle, IBM DB/2, PostgreSQL.
La decisione sarebbe robusta e facile da usare come questa, ma non ho tempo per completarla.
Quindi, se volete sostenere questo progetto potete inviare qualche dollaro su paypal per me: e.a.lugovoy@gmail.com
L'ammontare della somma non è importante, vorrei solo sapere se questa decisione deve essere completata.
Grazie a tutti,
Eugene
ciao,EugeniyLugovoy~
Vorrei sapere perché ' MySqlGetFieldAsDouble(Cursore, 3);' non riesce a scrivere il suo valore in data[i]?
Print("data[i]",data[3]);--sempre displa 0.0. cosa c'è che non va ? grazie signore!
for (i=0; i<Rows; i++)
if (MySqlCursorFetchRow(Cursor))
{
double data[] ;
ArrayResize(data,Rows);
dati[i]= MySqlGetFieldAsDouble(Cursore, 3);
Print("data[i]",data[3]);
}
Ciao amici,
Se vi piace questa soluzione e la provate per progetti reali (non solo per divertimento), ho un aggiornamento.
Sto iniziando a scrivere un nuovo articolo su come lavorare con diversi database, come MS SQL Server, MS Access, Oracle, IBM DB/2, PostgreSQL.
La decisione sarebbe robusta e facile da usare come questa, ma non ho tempo per completarla.
Quindi, se volete sostenere questo progetto potete inviare qualche dollaro su paypal per me: e.a.lugovoy@gmail.com
L'importo della somma non è importante, vorrei solo sapere se questa decisione deve essere completata.
Grazie a tutti,
Eugene
ciao,EugeniyLugovoy~
Vorrei sapere perché ' MySqlGetFieldAsDouble(Cursore, 3);' non riesce a scrivere il suo valore in data[i]?
Print("data[i]",data[3]);--sempre displa 0.0. cosa c'è che non va ? grazie signore!
per (i=0; i<Rows; i++)
if (MySqlCursorFetchRow(Cursore))
{
double data[] ;
ArrayResize(data,Rows);
dati[i]= MySqlGetFieldAsDouble(Cursore, 3);
Print("data[i]",data[3]);
}
Si sta cercando di definire l'array ogni volta nel ciclo e di stampare un elemento vuoto dell'array.
Provate questo:
Quindi, dovete definire l'array una volta prima del ciclo di acquisizione, poi ridimensionarlo e quindi scrivere la routine per ottenere i dati.
A proposito, il numero 3 in MySqlGetFieldAsDouble(Cursor, 3); significa la quarta colonna nell'elenco SELECT, perché la numerazione inizia con 0, cioè SELECT Open, High, Low, Close FROM ... significa 0 - Open, 1 - High, 2 - Low e 3 - Close.
Spero che questo possa essere d'aiuto.
Saluti,
Eugene
Si sta cercando di definire l'array ogni volta nel ciclo e di stampare un elemento dell'array vuoto.
Provate questo:
Quindi, dovete definire l'array una volta prima del ciclo di recupero, poi ridimensionarlo e quindi scrivere la routine per ottenere i dati.
A proposito, il numero 3 in MySqlGetFieldAsDouble(Cursor, 3); significa la quarta colonna nell'elenco SELECT, perché la numerazione inizia con 0, cioè SELECT Open, High, Low, Close FROM ... significa 0 - Open, 1 - High, 2 - Low e 3 - Close.
Spero che questo possa essere d'aiuto.
Saluti,
Eugene
Grazie per aiuto signore ,ho risolto i miei problemi sull'array。Hai fatto un buon lavoro su mysql-mql davvero~!
Ciao elugovoy
Ottimo articolo e ottime librerie.
Sto cercando di utilizzare i tuoi esempi con MT5 ma ricevo questo errore:
2014.12.15:44:16.387 MySQL-001 'C:\Users\....\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\libraries\MQLMySQL.dll' non è la versione a 64 bit.
Stai eseguendo MT5 sotto un'applicazione a 32 bit?
Potresti aiutarmi per favore?
Grazie mille!
Carmine Marrone.
Ciao elugovoy
Ottimo articolo e ottime librerie.
Sto cercando di utilizzare i tuoi esempi con MT5 ma ricevo questo errore:
2014.12.15:44:16.387 MySQL-001 'C:\Users\....\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\libraries\MQLMySQL.dll' non è la versione a 64 bit.
Stai eseguendo MT5 sotto un'applicazione a 32 bit?
Potresti aiutarmi per favore?
Grazie mille!
Carmine Marrone.
Ciao Carmine
Per quanto sopra in discussione ho allegato il progetto per x64, dai un'occhiata e/o scaricalo da questo post.
Spero ti sia d'aiuto.
Saluti,
Eugenio