voracidade da memória MT5 RAM, problemas com a leitura/escrita de arquivos grandes - 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
portanto, é uma matriz bidimensional, uma matriz. Escreva-o.
Você pode me mostrar um exemplo de como escrever e ler arrays multidimensionais? É claro em teoria, mas a implementação não é clara.
Você pode me mostrar um exemplo de como escrever e ler arrays multidimensionais? É claro em teoria, mas a implementação não é clara.
Assim como as matrizes unidimensionais, com WriteArray()
Estou confortável em usar a classe, já a uso há 3 anos, desde o MT4 - é útil, mas caramba, é lento.
É fácil ler um fio, mas transformar tudo isso em uma estrutura de célula de trabalho é muito mais difícil.
O que você quer dizer com "não posso usar aulas"? E, além disso, o funcionário da metaquota escreveu a classe. E então, eu realmente contratei uma pessoa, paguei e esperava obter um produto acabado, mas me disseram que não há problema em ser lento... Eu acreditei neles, mas agora também tenho a memória exagerada - estou indignado.
A classe é projetada para arquivos pequenos. Não importa em nada quem criou a classe. Agora precisamos de uma abordagem diferente para ler um arquivo, para que a classe lide mal com esse arquivo.
A classe é projetada para arquivos pequenos. Não importa em nada quem criou a classe. Agora você precisa de uma abordagem diferente para ler um arquivo, para que a classe não lide bem com esse arquivo.
Vou perpetuá-la. Fodido, obrigado.
assim como as unidimensionais, através da WriteArray()
Encontrei um exemplo, vou ter que experimentá-lo, vou ter que escrever dois arquivos - para compreensão geral e provavelmente para acelerar o processamento.
Obrigado.
Acrescentei: entendo que você pode escrever apenas 1 array de cada vez, o que, naturalmente, não é muito conveniente.A classe é projetada para arquivos pequenos. Não importa em nada quem criou a classe. Agora você precisa de uma abordagem diferente para ler um arquivo, para que a classe não lide bem com esse arquivo.
Se a memória me serve corretamente, eu disse imediatamente que precisamos trabalhar com arquivos grandes, e por exemplo, um arquivo grande foi dado - dezenas de megabytes, se não cem (precisamos observar a correspondência, e no formato atual não é conveniente fazê-lo).
Encontrei um exemplo, tenho que experimentá-lo, terei que escrever dois arquivos - para compreensão geral, e provavelmente para acelerar o processamento.
Obrigado.
Acrescentei: entendo que você pode escrever apenas 1 array de cada vez, o que, naturalmente, não é muito conveniente.Muito conveniente :)
muito útil :)
Não é conveniente porque é necessário criar um arquivo separado para diferentes tipos de dados.
Não é conveniente, pois é preciso criar um arquivo separado para diferentes tipos de dados.
Bem, você pode colocá-lo no mesmo diretório para que ele não fique disperso. Você não terá nenhum problema. É o que eu sempre faço para os especialistas. Eu crio imediatamente um diretório chamado nome do programa/número da conta e eu coloco todos os arquivos nele.
Recomendo fazer uma mudança mínima primeiro, para que a realocação de memória seja feita com menos freqüência. Duas linhas
m_total_linhas++;
ArrayResize(m_células,m_total_linhas*m_total_colunas,10000);
em bool CSVReader::AdicionarData(string data_str,bool header) substituir por
m_total_linhas++;
if (m_total_linhas*m_total_colunas>ArraySize(m_cells)) ArrayResize(m_células,2*m_total_linhas*m_total_colunas);
O número de realocações de memória com cópia deve se tornar O(log(n,2)) em vez de O(n). 20 ao invés de 600 mil. Talvez isso seja suficiente para você agora.