Discussão do artigo "Como acessar o banco de dados MySQL a partir do MQL5 (MQL4)" - página 4

 
ingvar_e:

A instalação do M5 de 32 bits funcionou bem e a compilação funcionou bem, mas não consegui obter o valor do tick por

SymbolInfoDouble(pair,SYMBOL_TRADE_TICK_VALUE)

retorna 0;

Talvez não seja uma boa ideia executar um MT5 de 32 bits em uma máquina Windows de 64 bits. Também há outras indicações de mau funcionamento. A próxima tentativa será instalar um Windows 32 em meu computador de 64 bits.

Esses longos desvios sempre o afastam muito de sua rota principal :-(

Parece que vou ter que desistir dessa ferramenta e voltar ao básico com o MySQL. É muito incômodo instalar um novo Windows XP e não ter a chave do W7

Estou trabalhando nesse problema com o service desk, espero receber boas notícias em breve.

Com relação ao TICK_VALUE, também tive os mesmos problemas, mesmo no MT4. Aqui está a solução que estou usando:

tick_value = 0;
while (tick_value<=0) { tick_value = SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_VALUE);}

ou

tick_value = SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_VALUE);
while (!MathIsValidNumber(tick_value))
      {
       Sleep(50);
       tick_value = SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_VALUE); 
      }
 
elugovoy:

Estou trabalhando nesse problema com a central de serviços, espero receber boas notícias em breve.

Com relação ao TICK_VALUE, também tive os mesmos problemas, mesmo no MT4. Aqui está a solução que estou usando:

ou

Vou tentar :-)

Não funcionou. Ficou preso em um loop.

 

Tive uma ideia sobre o problema do valor do tick. Estou executando um EA de várias moedas e começo obtendo muitas informações para cada par. Por isso, parece que estou "martelando". Vou mudar isso para que

que o valor do tick seja solicitado somente quando necessário. (e salvo)

- Atualizado --

Não está completamente verde. Fiz a alteração acima. A otimização ainda funciona. Não há mensagens de erro ao iniciar o EA. O OK será quando o EA tiver feito uma negociação ok. É preciso esperar.

Isso está executando uma versão de 32 bits do EA em um ambiente de 64 bits do Windows 7. Isso resolverá o problema, pelo menos temporariamente, se funcionar.

Eu só busco o Tickvalue quando a primeira ordem está a caminho e o salvo.

 

OK, executar uma instalação da versão 32 anexando "/32" ao instalador do MT5 funciona bem em um computador Windows 7 de 64 bits e a ferramenta mysql também funciona bem.

Voltamos aos problemas básicos de design e aos testes com o EA,

 
mat.twg:

Obrigado pelo artigo! Quantas soluções não tentaram em todos os lugares a mesma coisa, se você não se incomodar, por favor, dê uma olhada no log, não consigo entender nada....

Servidor MySQL:

  • Servidor: localhost via TCP/IP
  • Versão do servidor: 5.6.10
  • Versão do protocolo: 10
  • Usuário: root@localhost
  • Codificação do MySQL: UTF-8 Unicode (utf8 )
  • Banco de dados InnoDB, UTF8-General-Ci

MT5 build 1035

Sistema operacional: Win8.1 x64

Este é um erro do MT5 build 1035, x64. O Service Desk foi notificado e garante uma correção na próxima compilação.

O problema está no fato de o programa MQL aceitar valores de cadeia de caracteres de uma biblioteca dinâmica.

No MT5 build 1035 x32, ele funciona sem esse erro.

 
ingvar_e:

OK, executar uma instalação da versão 32 anexando "/32" ao instalador do MT5 funciona bem em um computador Windows 7 de 64 bits e a ferramenta mysql também funciona bem.

Voltamos aos problemas básicos de design e aos testes com o EA,

Olá, Ingvar,

A central de serviços da MetaQuotes prometeu corrigir o problema na próxima versão do MT5.

Portanto, só temos que esperar o lançamento da próxima versão do MT5.

Muito obrigado

 
elugovoy:

Olá, Ingvar,

A central de serviços da MetaQuotes prometeu corrigir o problema na próxima versão do MT5.

Portanto, só temos que esperar o lançamento da próxima versão do MT5.

Agradecimentos

Obrigado pela informação, Elugovoy. Enquanto isso, estou executando uma versão de 32 bits. A instalação com a opção /32 funciona bem.

Belo componente de software. Armazenar parâmetros de negociação com um script de arquivo e recuperá-los no EA. O MySQL é executado em meu servidor para que eu

posso recuperar parâmetros tanto no EA em execução em outro servidor quanto nos computadores locais em desenvolvimento.

 

Olá novamente.

Saiu a nova versão 1060. Você já testou se o problema foi corrigido?

 
ingvar_e:

Olá novamente.

Saiu a nova versão 1060. Você testou se o problema foi corrigido?

Sim, está funcionando bem agora (testei a versão 1062)
 

OK, testei o 1060 agora e ele também funciona bem

Ótimo, simplifica meus testes. Livre-se dos 32 bits