Discussão do artigo "Como acessar o banco de dados MySQL a partir do MQL5 (MQL4)" - página 2
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Obrigado por essa nova abordagem! Tentei soluções diferentes, mas esta parece ser a melhor até agora. Fiz uma pequena adição à sua biblioteca em que retorno o número de campos para uma consulta SELECT, usando mysql_num_fields, para que eu saiba quantos campos preciso processar e retornar no lado MQL. Mais uma vez, muito obrigado por ter elaborado tudo isso, realmente ajudou!
Código MQL:
Obrigado por essa nova abordagem! Tentei soluções diferentes, mas esta parece ser a melhor até agora. Fiz uma pequena adição à sua biblioteca em que retorno o número de campos para uma consulta SELECT, usando mysql_num_fields, para que eu saiba quantos campos preciso processar e retornar no lado MQL. Mais uma vez, muito obrigado por ter organizado tudo isso, realmente ajudou!
Obrigado pelas palavras gentis. É uma solução básica e mantém a funcionalidade geral que estou usando na realidade.
Usei as seguintes regras durante o desenvolvimento desta solução: robustez, facilidade de estudo, simplicidade de uso e suporte mínimo.
É claro que você pode alterar este projeto e adicionar outras funções de acordo com as necessidades do seu projeto.
Boa sorte,
Eugênio
Olá amigos,
Bem, se você gosta dessa solução e está tentando usá-la em projetos reais (não apenas por diversão), tenho uma atualização.
Estou começando a escrever um novo artigo sobre como trabalhar com diferentes bancos de dados, como MS SQL Server, MS Access, Oracle, IBM DB/2, PostgreSQL.
A decisão seria robusta e fácil de usar como esta, mas não tenho tempo para concluí-la.
Portanto, se você quiser apoiar esse projeto, pode enviar alguns dólares por paypal para mim: e.a.lugovoy@gmail.com
O valor da quantia não importa, apenas gostaria de saber se essa decisão realmente precisa ser concluída.
Obrigado a todos,
Eugênio
Olá,EugeniyLugovoy~
Quero saber por que o comando ' MySqlGetFieldAsDouble(Cursor, 3);' não consegue gravar seu valor em data[i]?
Print("data[i]",data[3]);-- sempre exibe 0,0. o que está errado ? obrigado, senhor!
for (i=0; i<Rows; i++)
if (MySqlCursorFetchRow(Cursor))
{
double data[] ;
ArrayResize(data,Rows);
dados[i]= MySqlGetFieldAsDouble(Cursor, 3);
Print("data[i]",data[3]);
}
Olá amigos,
Bem, se você gosta dessa solução e está tentando usá-la em projetos reais (não apenas por diversão), tenho uma atualização.
Estou começando a escrever um novo artigo sobre como trabalhar com diferentes bancos de dados, como MS SQL Server, MS Access, Oracle, IBM DB/2, PostgreSQL.
A decisão seria robusta e fácil de usar como esta, mas não tenho tempo para concluí-la.
Portanto, se você quiser apoiar esse projeto, pode enviar alguns dólares por paypal para mim: e.a.lugovoy@gmail.com
O valor não importa, apenas gostaria de saber se essa decisão realmente precisa ser concluída.
Obrigado a todos,
Eugênio
Olá,EugeniyLugovoy~
Quero saber por que o comando ' MySqlGetFieldAsDouble(Cursor, 3);' não consegue gravar seu valor em data[i]?
Print("data[i]",data[3]);-- sempre exibe 0,0. o que está errado ? obrigado, senhor!
for (i=0; i<Rows; i++)
if (MySqlCursorFetchRow(Cursor))
{
double data[] ;
ArrayResize(data,Rows);
dados[i]= MySqlGetFieldAsDouble(Cursor, 3);
Print("data[i]",data[3]);
}
Você está tentando definir a matriz todas as vezes no ciclo e imprimir um item de matriz vazio.
Tente isso:
Portanto, você precisa definir a matriz uma vez antes de buscar o ciclo, redimensioná-la e, em seguida, escrever a rotina para obter os dados.
A propósito, o número 3 em MySqlGetFieldAsDouble(Cursor, 3); significa a quarta coluna na lista SELECT, porque a numeração começa com 0, ou seja, SELECT Open, High, Low, Close FROM ... significa 0 - Open, 1 - High, 2 - Low e 3 - Close.
Espero que isso possa ajudar.
Atenciosamente,
Eugênio
Você está tentando definir a matriz todas as vezes no ciclo e imprimir um item de matriz vazio.
Tente isso:
Portanto, você precisa definir a matriz uma vez antes de buscar o ciclo, redimensioná-la e, em seguida, escrever a rotina para obter os dados.
A propósito, o número 3 em MySqlGetFieldAsDouble(Cursor, 3); significa a quarta coluna na lista SELECT, porque a numeração começa com 0, ou seja, SELECT Open, High, Low, Close FROM ... significa 0 - Open, 1 - High, 2 - Low e 3 - Close.
Espero que isso possa ajudar.
Atenciosamente,
Eugênio
Obrigado por ajudar o senhor ,Eu resolvi meus problemas sobre a matriz。Você fez um bom trabalho no mysql-mql, de fato~!
Olá elugovoy
Excelente artigo e ótimas bibliotecas.
Estou tentando usar seus exemplos no MT5, mas estou recebendo este erro:
2014.12.15 15:44:16.387 MySQL-001 'C:\Users\....\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\libraries\MQLMySQL.dll' não é uma versão de 64 bits
Você está executando o MT5 em ambiente de 32 bits?
Poderia me ajudar com isso, por favor?
Muito obrigado!
Carmine Marrone.
Olá elugovoy
Excelente artigo e ótimas bibliotecas.
Estou tentando usar seus exemplos no MT5, mas estou recebendo este erro:
2014.12.15 15:44:16.387 MySQL-001 'C:\Users\....\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\libraries\MQLMySQL.dll' não é uma versão de 64 bits
Você está executando o MT5 em ambiente de 32 bits?
Poderia me ajudar com isso, por favor?
Muito obrigado!
Carmine Marrone.
Olá, Carmine
Para a discussão acima, anexei um projeto para x64, dê uma olhada e/ou faça o download nesta postagem.
Espero que isso ajude.
Atenciosamente,
Eugênio