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
Sim, eu li as descrições das funções até o fim, e em caso de dúvida, eu também vou ruminar pelos fóruns. A noção de rapidez é diferente para todos. A dinâmica é mais lenta por definição, porque há uma redistribuição constante da memória. A segunda desvantagem é a fragmentação - às vezes você comete um erro com a dinâmica e depois a memória não é suficiente para fechar o terminal :))))
Ping não tem nada a ver com isso, após o primeiro download, os ticks já são dados a partir da base, em teoria, é claro :) me ensinaram que o programa deveria ser acelerado pela otimização, mas não pela base de hardware - isto é automático. E que diferença faz, qual é a conexão - hoje é uma, amanhã é outra - não depende do algoritmo.
Tenho meu próprio corretor, é por isso que estou trabalhando com eles há mais de um ano. Minha tarefa agora é dominar a matemática sobre carrapatos, mas não sobre comércio ou freelancer.
Novamente, para os deficientes visuais:
A partir da referência
Функция CopyTicksRange() предназначена для запроса тиков из строго указанного диапазона, например, за конкретный день истории.
De
A função CopyTicksRange() destina-se a solicitar carrapatos de uma faixa estritamente especificada, por exemplo, para um determinado dia da história.
A função CopyTicksRange() não recebe os carrapatos da faixa estritamente especificada "2021.01.29 23:57:00:000, 2021.01.31 23:59:00:000". Devolve carrapatos de uma gama completamente diferente.
Forneça as medidas para esta reivindicação. Eu dou um grande papel às questões de desempenho em conselheiros de combate.
Aqui está um código de exemplo. Eu escrevi com pressa, pode haver erros. Medidas para as seguintes opções:
1) o mais feio, quando a matriz se expande conforme necessário
2) ligeiramente otimizado - quando expandido para a porção pretendida
3) um pouco mais otimizado - expande com margem de várias porções
4) memória estática, que obviamente sempre será zero
É claro que se você alocar dinamicamente uma enorme quantidade de memória para tudo no mundo, a velocidade será como na estática, mas isso raramente acontece
Em arrays de expansão dinâmica, o pior é a fragmentação da memória, que consumirá tudo no processo. Bem, o tempo cada vez maior para a próxima expansão - porque. na memória altamente fragmentada, leva mais tempo para procurar uma peça adequada
resultados em microssegundos. O aumento acentuado no tempo necessário na primeira coluna no final é provavelmente devido ao fato de que o terminal provavelmente aloca memória para arrays em pequenos blocos, otimiza um pouco para nós. Mas quando a matriz se torna maior que o bloco, ela começa estupidamente procurando a primeira peça vazia adequada. Eu torci muito mais longe, fica muito longo lá ... vários segundos. E havia apenas cerca de 1.000.000 de células
Aqui está um código de exemplo. Eu escrevi com pressa, pode haver erros. Medidas para as seguintes opções:
1) o mais feio, quando a matriz se expande conforme necessário
2) ligeiramente otimizado - quando expandido para a porção pretendida
3) um pouco mais otimizado - expande com margem de várias porções
4) memória estática, que obviamente sempre será zero
É claro que se você alocar dinamicamente uma enorme quantidade de memória para tudo no mundo, a velocidade será como na estática, mas isso raramente acontece
Em arrays de expansão dinâmica, o pior é a fragmentação da memória, que consumirá tudo no processo. Bem, o tempo cada vez maior para a próxima expansão - porque. na memória altamente fragmentada, leva mais tempo para procurar uma peça adequada
resultados em microssegundos. O aumento acentuado no tempo necessário na primeira coluna no final é provavelmente devido ao fato de que o terminal provavelmente aloca memória para arrays em pequenos blocos, otimiza um pouco para nós. Mas quando a matriz se torna maior que o bloco, ela começa estupidamente procurando a primeira peça vazia adequada. Eu torci muito mais longe, fica muito longo lá ... vários segundos. E havia apenas cerca de 1.000.000 de células
E é assim que eu consigo
Verdade corrigida um pouco
E se você inicializar arrays
então então
foi testado por dois anos!
Que teimoso! Leia o que eles escreveram acima - CopyTicks falha da mesma forma. Se você gosta de procurar maneiras de fazer uma função de buggy funcionar ou encontrar soluções para o buggy, então não se preocupe - não se trata disso
Em dois anos você poderia ter entendido que se uma função não funciona como você quer e os desenvolvedores sabem disso e não consertam, não é chamado de bug...
Polegares para cima, programadores educados e frios.........
INT_MAX = 2147483647
de fato, você imediatamente arrancou uma peça de memória INT_MAX* de tamanho INT_MAX(duplo) e depois trabalhou como com estática
você poderia ter escrito
duplo d[INT_MAX]; - será o mesmo para você que
a única diferença estará na operação da função ArraySize() enquanto toda a quantidade de memória será desligada de uma só vez
Fixou-o, estará em beta hoje.
Muito obrigado. Vou bombear de alegria :) o trabalho foi muito intensivo em termos de recursos
Fixou-o, estará em beta hoje.