Cześć Green,
Dziękuję Ci za zainteresowanie tematem!
Tak, serwerem jest mój komp. Libmysql wrzuciłem do odpowiedniego folderu (wcześniej kompilator zgłaszał błąd, więc skopiowałem tam gdzie trzeba - błąd zniknął więc myślę, że akurat to jest OK).
Masz jakieś inne sugestie?
EDIT:
Pozmieniałem trochę kod. Teraz wygląda tak:
Kod: Zaznacz cały
//+------------------------------------------------------------------+
//| TicksInMySQL.mq4 |
//| Copyright © 2006, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
#import "libmysql.dll"
int mysql_init(int db);
int mysql_errno(int TMYSQL);
int mysql_real_connect(int TMYSQL, string host, string user, string password,
string DB,int port,int socket,int clientflag);
int mysql_real_query(int TMSQL, string query, int length);
void mysql_close(int TMSQL);
#import
int mysql;
#include <mql4-mysql.mqh>
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
mysql = mysql_init(mysql);
if(mysql != 0)
Print("allocated");
string host = "localhost";
string user = "root";
string password = "balecik";
string DB = "my_database";
int clientflag = 0;
int port = 3306;
string socket = "";
int res = init_MySQL(mysql,host,user,password,DB,port,socket,clientflag);
int err = GetLastError();
if(res == mysql)
Print("connected");
else
Print("error=", mysql, " ", mysql_errno(mysql), " ");
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
mysql_close(mysql);
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
string query = "";
int length = 0;
query = StringConcatenate("insert into EURUSD(margin,freemargin,date,ask,bid,symbol,equity) values(",
AccountMargin(), ",", AccountFreeMargin(), ",\"",
TimeToStr(CurTime(), TIME_DATE|TIME_SECONDS), "\",",
NormalizeDouble(Ask, 4), ",", NormalizeDouble(Bid, 4),
",\"", Symbol(), "\",", AccountEquity(), ");");
Print("po insert");
length = StringLen(query);
Print("po string lenght");
mysql_real_query(mysql, query, length);
Print("po strin real query");
int myerr = mysql_errno(mysql);
if(myerr > 0)
Print("error=",myerr);
}
//+------------------------------------------------------------------+
a błąd jaki teraz otrzymuję to:
0 00:23:34.504 Expert TicksInMySQL GBPUSD,H1: loaded successfully
0 00:23:34.598 TicksInMySQL EURUSD,H4: allocated
0 00:23:34.598 TicksInMySQL EURUSD,H4: error=157092472 0
0 00:23:34.598 TicksInMySQL EURUSD,H4: initialized
0 00:23:34.598 TicksInMySQL EURUSD,H4: error=1064
PS plik mql4-mysql.mqh w załączeniu.
Dzięki!
Kamik
-- Dodano: czw 28-04-2016, 8:59 --
Ps źródło pliku mql4-mysql
https://www.mql5.com/en/code/11114
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.