Erros, bugs, perguntas - página 1065

 
vlad_123:

Mais uma coisa - encontrei um truque 'útil'...

Declarar um conjunto, por exemplo, 'int arrTemp[5];'.

Sob o depurador todos os seus itens são iguais a 0, enquanto que durante os testes não o são.

Passei meio dia a tentar descobrir porque é que a função connect() da biblioteca WinSock portada da MQL4 não funciona.

Em mql5 todas as variáveis devem ser inicializadas explicitamente, por exemplo:

int arrTemp[5] = {0};  // допускается такая сокращённая форма, вместо {0,0,0,0,0}

Não há inicialização por defeito com zeros. Isto é normal, habitue-se a isso.

 
Acontece que tanto no MT4 como no MT5 nos gráficos semanais as barras são datadas a partir de um domingo. É o estilo pró-ocidental? Em caso afirmativo, para que serve se as sessões semanais em todo o mundo abrem na segunda-feira de qualquer maneira?
 
MetaDriver:

Em mql5 todas as variáveis devem ser inicializadas explicitamente.

Não há inicialização por defeito com zeros. Isto é normal, habitue-se a isso.

Não me importo, mas funcionaria da mesma forma. No depurador, a inicialização com zeros é automática.

A propósito, e ninguém se depara com o facto de, durante a optimização da EA, o terminal não poder ligar-se a agentes remotos acessíveis via VPN?

Estou a tentar utilizar os agentes remotos no meu computador de trabalho a partir de casa ligados à rede da empresa através de uma VPN padrão do Windows. Os próprios agentes no meu computador de trabalho estão a lidar bastante bem com tarefas da MQL5 Cloud Network, posso ligar-me ao meu computador de trabalho via terminal RDP a partir de casa e o terminal no meu computador de casa pode usar agentes da MQL5 Cloud.

A única coisa que não posso usar é usar os agentes no meu PC de trabalho a partir do meu PC de casa. Tentei até gerir agentes no porto 443 no PC do escritório para contornar (em teoria) os possíveis filtros/firewalls, mas não funcionou. Os registos do terminal 'de ligação ao agente...' - e é tudo.

Tracert de casa para o trabalho passa. 'netstat -na' em programas de computadores domésticos:

TCP    10.6.XXX.XXX:1744       10.6.YYY.YYY:2000       SYN_SENT

i.e. sem mais SYN_SENT

Распределенные вычисления в сети MQL5 Cloud Network
Распределенные вычисления в сети MQL5 Cloud Network
  • cloud.mql5.com
Заработать деньги, продавая мощности своего компьютера для сети распределенных вычислений MQL5 Cloud Network
 
vlad_123:

A única coisa que não vai funcionar é conseguir agentes no computador do trabalho a partir do computador de casa. Até tentei executar o agente na porta 443 no computador de trabalho para contornar (teoricamente) os possíveis filtros/firewalls, mas não funcionou. Os registos do terminal 'de ligação ao agente...' - e é tudo.

Tracert de casa para o trabalho passa. 'netstat -na' em programas caseiros:

olhar mais profundamente para as configurações de ligação VPN, o brandmauer de barlavento,
 
vlad_123:

Não me importo, mas gostaria que funcionasse de modo uniforme. Caso contrário, o depurador inicializa-se automaticamente com zeros.

E sim, existe uma tal carta. Não sei porquê, mas existe. Às vezes ajuda, às vezes interfere na procura dos bens.
 
micle:
Procure mais profundamente nas configurações de ligação VPN, o Windows Brandmauer,

É uma coisa de xamanismo...

A firewall no computador de casa está totalmente desactivada.

O terminal no computador de trabalho pode utilizar os agentes no computador de casa, mas não o contrário.

Não encontrei nada de errado com a ligação VPN.

 
vlad_123:

É uma coisa de xamanismo...

A firewall no computador de casa está totalmente desactivada.

O terminal no computador de trabalho pode utilizar os agentes no computador de casa, mas não o contrário.

Não consegui encontrar nada de errado com a ligação VPN.

Caso tenha ganho7, adicione uma regra para ligações de entrada/saída. Há ali um feiticeiro, acrescenta. No caso de ganhar EXP, há também uma opção para adicionar uma excepção para um programa ou porto. Há muito tempo que não utilizo XP.
 
micle:
Caso tenha ganho7, adicione uma regra para ligações de entrada/saída. Há ali um feiticeiro, add-ons. No caso de ganhar EXP há também uma opção para adicionar uma excepção para um programa ou porto. Há muito tempo que não utilizo XP.

Aleluia!

Finalmente descobrimos...

A questão é que existem 2 MetaTrader 5 instâncias instaladas em diferentes directórios no meu computador de trabalho (Win7) (onde os agentes que quero utilizar).

Não me lembro da ordem de instalação/remoção dos agentes, mas verificou-se que os agentes são iniciados a partir da instância N1, e a regra de entrada na Firewall do Windows para "MetaTrader 5 Strategy Tester Agent" apontava para a peça EXE da instância N2. Acrescentei uma regra por exemplo N1 - tudo funciona.

Seria útil ao fazer a desinstalação/instalação de agentes no Agent Manager para actualizar a regra no Firewall do Windows.

Há ainda uma questão por resolver. Trata-se do nome do anfitrião -> resolução do endereço IP usando a função getaddrinfo() de WinSock. Alguém pode construir um código de amostra na MQL5?

Não é realmente questionável a utilização de IP em vez do nome do anfitrião ;-). E a utilização do nome de anfitrião é uma obrigação no meu caso.

 
vlad_123:
...

Atenção - pergunta: como na MQL5 obter dados neste endereço?

fazer uma função em dll que vai para este endereço e devolve os dados necessários ))
 
kazakov.v:
Quero fazer uma função em dll que vai para este endereço e devolve os dados necessários ))

Não, não encaixa.

O Expert Advisor foi desenvolvido para o processamento distribuído de informação financeira e não quero incomodar-me com DLL's x86/x64. Isto é, preciso de o implementar utilizando ferramentas MQL5.