Erros, bugs, perguntas - página 2280

 
void f( int = 0, ) {}

É correcto que compila sem erros?

 
Ilyas:

Deparou-se com uma funcionalidade de memória no Windows

Logo após o ArrayResize adicionar

Isto inicia a alocação real da memória física para que isto não aconteça durante o teste.


Aqui estão os resultados do meu computador

Sim, de facto, funciona.
Obrigado.
Muito interessante. No entanto, não é claro.
Devo saber que para trabalhar rapidamente com a memória após o ArrayResize é necessário fazer uma inicialização completa com ArrayInitialize ou ArrayFill (funciona nos dois sentidos). ArrayInitialize é mais simples.

Tentei inicializar cada 4096 itens de matriz. Mas isso não afecta a melhoria do desempenho do ArrayFill.

for (int i=0;i<size;i+=4096) arr[i]=0;
 
Nikolai Semko:

Saiba que para um manuseamento rápido da memória após o ArrayResize deve fazer a inicialização total do array com ArrayInitialize ou ArrayFill (funciona nos dois sentidos). Com ArrayInitialize é mais fácil.

Deve ter tirado uma conclusão errada. Tudo funciona rápido em qualquer caso. É que na variante "lenta" estava a medir para além de preencher também a alocação real de memória, porque o ArrayResize é uma intenção de alocar memória, não a alocação em si.

 
fxsaber:

Retirou a conclusão errada. Tudo funciona rápido como está. É que na versão "lenta" estava a medir a alocação real de memória para além do preenchimento, porque o ArrayResize é uma intenção de alocar memória, não a alocação em si.

Sim, tem razão.

Obrigado!
E também estava errado, quando disse que a ligação ArrayInitialize + ArrayCopy funcionava mais rapidamente, porque preenchi o array com os mesmos valores que tinha preenchido antes com ArrayFill. O compilador é apenas inteligente e não faz o mesmo trabalho duas vezes.
Se preenchermos a matriz com outros valores, o resultado será diferente:

2018.09.06 12:10:36.602 TestArrayFill (EURUSD,H1)       Время заполнения через ArrayFill первая попытка= 299
2018.09.06 12:10:36.602 TestArrayFill (EURUSD,H1)       Время заполнения через ArrayInitialize + ArrayCopy = 425
2018.09.06 12:10:36.602 TestArrayFill (EURUSD,H1)       Время заполнения через ArrayFill вторая попытка = 78

Por isso, fiz asneira. Desculpe.
Vamos continuar a utilizar o ArrayFill em condições de funcionamento.

Arquivos anexados:
 

Porque é que o meu país de residência mudou no meu perfil?
Durante os últimos três anos, foi o Canadá. Não o mudei. E agora não o posso mudar.

Isto é, o país de residência inicial no momento do registo é para sempre. Mesmo que não viva na Rússia e se tenha tornado um residente ou cidadão de outro país?

 
Diga-me, vai ou não abordar este problema?

Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial

Insectos, insectos, perguntas

fxsaber, 2018.09.06 09:31

Porque é que isto por vezes acontece? O testador fecha posições não no último tick, mas no penúltimo tick. A situação está em alguns símbolos personalizados.

Se for necessária uma repetição, pronto a fornecer.


Porque é importante? Nos símbolos personalizados com execução de câmbio, os mercados são executados ao Last Price. Para símbolos personalizados, o histórico do tick é bid/ask, sem último. Portanto, em tais símbolos, o testador fecha as posições actuais no último tick por último por zero. A solução é forçar a última = (lance + perguntar) / 2 no último tick. Contudo, há situações em que o Testador, por alguma razão, fecha tudo, não no último, mas no penúltimo tique, onde o último é zero. Como resultado, temos o seguinte quadro


Olhamos para os resultados da optimização e vemos uma enorme quantidade de lucro/perda. Só se aperceberá que é um insecto quando fizer um único teste e olhar para o fim do histórico comercial.

 
Nikolai Semko:

Porque é que o meu país de residência mudou no meu perfil?
Durante os últimos três anos, foi o Canadá. Não o mudei. E agora não o posso mudar.

Isto é, o país de residência inicial no momento do registo é para sempre. Mesmo que não viva na Rússia e se tenha tornado um residente ou cidadão de outro país?

Está registado como vendedor da Rússia. Se desejar fazer alterações aos dados de registo do vendedor, seja bem-vindo

 
 
fxsaber:
Diga-me se vai ou não lidar com este problema?
Iremos analisar o assunto
 
Marsel:

Está registado como vendedor da Rússia. Se desejar fazer alterações aos dados de registo do vendedor, seja bem-vindo

Diga-me onde estas definições estão escondidas? Não consigo encontrá-los. Também não existe tal opção no SD.