Erros, bugs, perguntas - página 2244
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Não importa que dados estejam contidos numa matriz não inicializada, em qualquer momento, os dados podem mudar, ninguém garante o seu valor.
É por isso que a utilização de variáveis não inicializadas (ler memória) leva por vezes a situações, com uma longa procura da causa:
Só posso dar alguns conselhos.
Deve adquirir o hábito de inicializar sempre os dados, para que no futuro não perca muito tempo na procura de erros relacionados com a falta de inicialização.
Obrigado pelos esclarecimentos e conselhos.
O ArrayResize não limpa a memória, pelo que contém lixo do "consumidor" anterior.
Isto é feito por velocidade, porque depois de a memória ser atribuída a uma matriz, em 99,99(9)% dos casos, o utilizador irá "preenchê-la" com os seus dados.
Esta não é a explicação correcta, o que pode causar problemas aos novatos; o ficheiro de ajuda ArrayResize tem a explicação correcta.
Em essência, os novatos precisam primeiro de compreender o que é uma matriz e como é armazenada na memória, como é criada e como a memória é atribuída a ela, depois não terão quaisquer problemas.
ps. em geral, a implementação de matrizes em MQL5 é pior do que em C++, bem como as estruturas.
Em programas simples a implementação de matrizes é bem sucedida, em programas complexos torna-se um problema
O que quer dizer com "não"? Ninguém tira o stick de memória da ranhura da placa-mãe. Assim que a memória estiver presente e libertada (não inicializada com um valor, mas libertada), será utilizada para outras necessidades do programa.
Memória, é a informação armazenada, não o meio de armazenamento, que é a barra de RAM.
Não sabia que a memória não é zerada, mas apenas libertada/alocada endereços para a guardar e é preciso ser o próprio a organizar a autorização.
Obrigado.Reparei durante muito tempo que a procura de corretores/servidores de negociação não funciona correctamente quando se abre uma conta de demonstração via Terminal.
Introduzo o nome do corretor e não recebo nada
Se eu introduzir o nome completo do servidor comercial obtenho o resultado desejado
Instalação de MT5 1882, ficheiro descarregado do website (https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe?utm_source=www.mql5.com&utm_campaign=download).
UAC activado, o erro ocorre antes da concessão de direitos de administrador.
Correr como administrador não resolve o problema, apenas esconde a caixa de mensagens de erro.
Algum conselho? construir 1881 mt5. Estou a executar uma optimização normal. O resultado é que a optimização é executada de novo, mas os agentes locais não começam - apenas ligam e desligam. Nada nos registos dos agentes.
Só o reinício do mt ajuda.
Na mesma construção, encontrei um problema. Mt não quer anexar ao fim do ficheiro como era antes - esfrega-o sempre em
int f = FileOpen(file,FILE_COMMON|FILE_READ|FILE_WRITE|FILE_TXT);
2018.07.26 19:23:56.269 Core 01 erro de autorização do agente testador
Como é ))) ? e o que fazer?
2018.07.26 19:23:56.269 Core 01 erro de autorização do agente testador
Como é ))) ? e o que fazer?
Na melhor das hipóteses, a janela do renderizador não está fechada. Na pior das hipóteses, um antigo problema conhecido.
Na mesma construção, encontrei um problema. Mt não quer anexar ao fim do ficheiro como era antes - esfrega-o sempre em
int f = FileOpen(file,FILE_COMMON|FILE_READ|FILE_WRITE|FILE_TXT);
Realiza uma FileSeek no final do ficheiro antes de escrever o ficheiro?