MetaTrader 4 Build 529 beta lançado com novo compilador - página 105
![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
Colegas, uma mensagem de aviso aparece na compilação:
possível uso da variável não-inicializada 'PipStep'.
para um pedaço como este:
Todas as variáveis são inicializadas como duplas, o que há de errado com isso?
você declarou variáveis de tipo duplo, a inicialização está atribuindo valores às variáveis declaradas
duplo PipStep=0 ; fazer
Eu não entendo, sou o único que não pode testar as demonstrações do indicador na construção 555, ou esta não é uma questão importante para a estréia no mercado?
eles são testados em 5?
ArrayCopyRates() также изменила свое поведение, раньше она производила виртуальное копирование в массив double[][6], теперь же производится виртуальное копирование в массив MqlRates[]. Для совместимости осталось копирование в массив double[][6], но это копирование не виртуальное, а реальное.
https://www.mql5.com/ru/forum/148325
Estrutura para armazenamento de preço, volume e divulgação de informações.
https://www.mql5.com/ru/docs/constants/structures/mqlrates
A MqlRates no MetaTrader 4 constrói 555 uma matriz ou uma estrutura?
Este exemplo de ajuda (MetaTrader 4 build 555) não funciona, pois não há função CopyRates
Eles testam em 5?
Algumas pessoas também não testam em 5?
você declara variáveis de tipo duplo, a inicialização é a atribuição de valores às variáveis declaradas
duplo PipStep=0 ; fazer
Funcionou!!!
Viva e aprenda!
Muito obrigado!
A MqlRates no MetaTrader 4 constrói 555 uma matriz ou uma estrutura?
Este exemplo de ajuda (MetaTrader 4 build 555) não funciona, pois não há função CopyRates
Isto também não funciona, podemos ver um exemplo de trabalho no MetaTrader 4 construir 555 com MqlRates ?MqlRates - estrutura
MqlRates[] - conjunto de estruturas
Para ver um exemplo de trabalho com a estrutura MqlRates veja script period_converter_new
Um exemplo de operação do ArrayCopyRates (a documentação será atualizada)
Mudanças na MQL4
Tenho um número significativo de Expert Advisors que utilizam DLLs e que foram passados aos clientes há muito tempo. Usamos arrays double[][6] para passar parâmetros para a DLL , que foram praticamente copiados pela ArrayCopyRates() durante a inicialização .E então, ao chamar funções a partir de DLL, estas matrizes e seu tamanho atual foram passados por referência como parâmetros.
Acontece que todos estes EAs deixarão de funcionar quando o terminal for atualizado para uma nova versão. Isto é uma infelicidade.
Entendo corretamente que para mantê-los funcionando sem alterar o código DLL, devemos chamar a ArrayCopyRates() antes de cada chamada de uma função da DLL?
Tenho um número significativo de EAs usando DLLs, que foram entregues aos clientes há muito tempo. Para passar parâmetros para DLL utilizamos arrays double[][6], para os quais durante a inicialização a função ArrayCopyRates() fez uma cópia virtual das séries de tempos. E então, ao chamar funções a partir de DLL, estas matrizes e seu tamanho atual foram passados por referência como parâmetros.
Acontece que todos estes EAs deixarão de funcionar quando o terminal for atualizado para uma nova versão. Isto é uma infelicidade.
Entendo corretamente que, para mantê-los funcionando sem alterar o código DLL, devemos chamar a ArrayCopyRates() antes de cada chamada de uma função da DLL?
É um pouco mais complicado do que isso. A estrutura que a dll toma também mudou.
Portanto, você precisa reescrever o ArrayCopyRates na matriz de estrutura MqlRates. Também em sua dll você precisa substituir a descrição da estrutura correspondente