Discussão do artigo "Como acessar o banco de dados MySQL a partir do MQL5 (MQL4)" - página 5
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
Olá, senhor ,meu MT4 mostra :Falha na conexão! Erro: Máximo de conexões excedido. - Como posso lidar com esse problema? - Acho que o máximo de conexões é 32, como posso aumentar as conexões para 64?
Obrigado pela ajuda, senhor.
Olá, senhor ,meu MT4 mostra :Falha na conexão! Erro: Máximo de conexões excedido. - Como posso lidar com esse problema? - Acho que o máximo de conexões é 32, como posso aumentar as conexões para 64?
Obrigado pela ajuda, senhor.
Olá,
Sim, o número máximo de conexões é 32
Você está tentando usar o programa MQL baseado no MQLMySQL.dll em mais de 32 gráficos simultaneamente?
Ou você simplesmente se esqueceu de fechar a conexão em seu programa?
Para alterar a conexão máxima de 32 para outra, você precisa reconstruir a MQLMySQL.DLL. Os códigos-fonte estão anexados ao artigo, você precisa:
1. Descompactar os códigos-fonte de "MQLMySQL DLL Project MSVS-2010.zip"
2. Carregar o projeto no MS Visual Studio 2010 ou superior
3. Abra o arquivo "MQLMySQL.h"
4. Encontre a string:
e substitua o valor 32 por 64 ou o que você quiser
5. Reconstrua o projeto
6. Substitua uma DLL antiga em sua pasta de dados do Metatrader pela nova compilada.
Atenciosamente,
Eugênio
elugovoy:
Você explicou de forma muito clara: como uso muitos dados estranhos no meu índice, as conexões se tornam muito grandes e, quando ultrapassam 32, o MT4 aponta um "erro" e não mostra nada nas janelas de índice.
Olá,
Sim, o número máximo de conexões é 32
Você está tentando usar o seu programa MQL baseado no MQLMySQL.dll em mais de 32 gráficos simultaneamente?
Ou você simplesmente se esqueceu de fechar a conexão em seu programa?
Para alterar a conexão máxima de 32 para outra, você precisa reconstruir a MQLMySQL.DLL. Os códigos-fonte estão anexados ao artigo, você precisa:
1. Descompactar os códigos-fonte de "MQLMySQL DLL Project MSVS-2010.zip"
2. Carregar o projeto no MS Visual Studio 2010 ou superior
3. Abra o arquivo "MQLMySQL.h"
4. Encontre a string:
e substitua o valor 32 por 64 ou o que você quiser
5. Reconstrua o projeto
6. Substitua uma DLL antiga em sua pasta de dados do Metatrader pela nova compilada.
Atenciosamente,
Eugênio
Primeiramente, obrigado pela biblioteca, é de longe a melhor solução disponível e a mais documentada.
Gostaria de saber se há alguma maneira de obter as linhas afetadas após uma instrução de atualização, a fim de executar uma inserção se os registros atualizados forem 0 (a atualização é bem-sucedida, mas não atualiza nenhum registro porque as condições do filtro "where").
Não quero usar um "insert on duplicate key update" porque 99,9% das vezes a instrução de atualização atualizará efetivamente um registro (já existente) e, portanto, não há necessidade de executar a inserção. Acho que há um impacto no desempenho ao tentar inserir sempre sem necessidade.
Desde já, obrigado!
Primeiramente, obrigado pela biblioteca, é de longe a melhor solução disponível e a mais documentada.
Gostaria de saber se há alguma maneira de obter as linhas afetadas após uma instrução de atualização, a fim de executar uma inserção se os registros atualizados forem 0 (a atualização é bem-sucedida, mas não atualiza nenhum registro porque as condições do filtro "where").
Não quero usar um "insert on duplicate key update" porque 99,9% das vezes a instrução de atualização atualizará efetivamente um registro (já existente) e, portanto, não há necessidade de executar a inserção. Acho que há um impacto no desempenho ao tentar inserir sempre sem necessidade.
Desde já, obrigado!
Olá, caro amigo,
Se você tiver o MSVC 2010, poderá baixar os códigos-fonte da MQLMySQL.DLL e adicionar a função de que precisa; a API C++ do MySQL tem essa função (http://dev.mysql.com/doc/refman/5.0/en/mysql-affected-rows.html)
Ou posso fazer isso para você, mas no momento não tenho tempo para isso, posso fazer no fim de semana (7 e 8 de março de 2015), tudo bem para você?
Atenciosamente,
Eugênio
Olá, caro amigo,
Se você tiver o MSVC 2010, poderá baixar os códigos-fonte da MQLMySQL.DLL e adicionar a função de que precisa; a API MySQL C++ tem essa função(http://dev.mysql.com/doc/refman/5.0/en/mysql-affected-rows.html)
Ou posso fazer isso para você, mas no momento não tenho tempo para isso, posso fazer no fim de semana (7 e 8 de março de 2015), tudo bem para você?
Atenciosamente,
Eugene
É claro que funciona para mim !!!
Muito obrigado.
Josep M.
Olá, Eugeniy,
Você teve a oportunidade de dar uma olhada no recurso "linhas afetadas"?
Saudações,
Josep M.
Olá, Eugeniy,
Você teve a oportunidade de dar uma olhada no recurso "linhas afetadas"?
Saudações,
Josep M.
Olá, Josep,
Respondi em uma mensagem privada.
De qualquer forma, estou postando aqui a versão 2.2. Testada no MT4. Se você tiver problemas com o MT5 (x32/x64), é só me avisar.
Bom trabalho!
Para plataformas x64, use a seguinte biblioteca (com discussão)
Olá, qual versão do terminal MT5 você está usando?
Qual versão do terminal MT5 você está usando?
Tente a atualização mais recente das bibliotecas MQLMySQL, anexada aqui.