Erros, bugs, perguntas - página 2586

 
Slava:

Comece por ler o artigo https://www.mql5.com/ru/articles/239

Leia-o. Mas não vi qualquer resposta, porquê CopyTime(_Symbol,PERIOD_M15,D'2015.01.01',100000,tempo); lê 30k barras em vez de 100k barras no testador. Ao mesmo tempo, no terminal, lê tudo correctamente.
 
elibrarius:
Ler. No entanto, não recebi resposta, porque é que o testador do CopyTime calculou 30 barras em vez de 100 000 barras. Ao mesmo tempo, no terminal, lê tudo correctamente.

O histórico dos instrumentos usados é descarregado automaticamente pelo testador a partir do terminal do cliente (e não do servidor de negociação!) ao aceder a este instrumento pela primeira vez.

O agente de testes descarrega apenas o histórico em falta com uma pequena margem, a fim de fornecer os dados necessários sobre o histórico para calcular os indicadores no momento dos testes. A quantidade mínima de história a ser descarregada do servidor comercial por períodos de tempo D1 e menos é de um ano. Assim, se iniciar os testes no intervalo 2010.11.01-2010.12.01 (testes no intervalo de um mês) com o período M15 (cada barra tem 15 minutos), o terminal solicitará o histórico para todo o ano de 2010. Para o Semanário, solicitaremos a história de 100 bares, que é de cerca de dois anos (há 52 semanas num ano). Para testes no período mensal, o agente solicitará o histórico durante 8 anos (12 meses * 8 anos = 96 meses).


Resumo

Nas definições de teste definir o período de tempo mensal

 
Slava:

O histórico dos símbolos utilizados é descarregado automaticamente pelo testador a partir do terminal do cliente (não a partir do servidor comercial!) na primeira vez que acede a este símbolo.

O agente de testes descarrega apenas o histórico em falta com uma pequena margem, a fim de fornecer os dados necessários sobre o histórico para calcular os indicadores no momento dos testes. A quantidade mínima de história a ser descarregada do servidor comercial por períodos de tempo D1 e menos é de um ano. Assim, se iniciar os testes no intervalo 2010.11.01-2010.12.01 (testes no intervalo de um mês) com o período M15 (cada barra tem 15 minutos), o terminal solicitará o histórico da ferramenta para todo o ano de 2010. Para o Semanário, solicitaremos a história de 100 bares, que é de cerca de dois anos (há 52 semanas num ano). Para testes no período mensal, o agente solicitará o histórico durante 8 anos (12 meses * 8 anos = 96 meses).


Resumo

Nas definições de teste definir o período de tempo mensal

É claro - poupa recursos.

E se eu quiser testar na M15, mas precisar de vários anos de dados (para treinar uma rede neural)? Devemos guardar as barras nos nossos próprios ficheiros?

 
Roman:

memcpia usada como mostra oartigo de exemplo deRenate.
A utilização de outras funções de cópia causa os mesmos problemas.
O comportamento com estas funções é descrito neste posto e neste
Todas as funções de cópia possíveis foram experimentadas.

O que sabe sobre a partilha de dados de múltiplos fios?

 
Ilyas:

O que sabe sobre a partilha de dados multi-tarefa?

O código utiliza lock_guard
mas se for comentado, não há alteração
.

recursive_mutex mtx;
const wchar_t* data;
bool success ;
                
while (condition)
{
        
   if (DataAvailable())
   {
      lock_guard<recursive_mutex> locker(mtx);
      success = ReadData();
   }
        
   if (success)
   {
      lock_guard<recursive_mutex> locker(mtx);
      data = getData();
                
      memcpy(out, data, wcslen(data) * (sizeof(char)*3));
   }
        
   Sleep(1);
}
Ainda começou a vazar, mas é compreensível que, devido ao tamanho errado do
Arquivos anexados:
222.PNG  13 kb
 
elibrarius:

Estou a ver - poupar recursos.

Mas e se precisar de testar na M15, mas precisar de vários anos de dados (para treinar uma rede neural)? Precisa de guardar as barras nos seus ficheiros?

Só precisamos de esperar:

input int InpBars = 100000;

void OnTick()
{  int bars = Bars(_Symbol, _Period);
   if(bars < InpBars) return;

}
 
elibrarius:

Estou a ver - poupar recursos.

Mas o que fazer se eu precisar de testar na M15, mas preciso de dados durante vários anos (para treinar uma rede neural)? Devemos guardar os bares nos nossos próprios ficheiros?

Qual é o problema? É possível aceder a dados a partir de qualquer período de tempo.
 
Slava:
Qual é o problema? É possível aceder a dados a partir de qualquer período de tempo.

Se eu fizer o teste em M15, porque a troca no testador será em M15, não poderei contar 100000 barras da história. Mas precisamos de testar o comércio na M15.

Se eu o gerir em Мonthew para ter uma história durante 8 anos, não poderei negociar mais do que uma vez por mês.

 
elibrarius:

Se eu fizer o teste em M15, porque o comércio no testador será em M15, não poderei contar 100.000 barras da história. E eu preciso de testar o comércio em M15.

Se eu o gerir em Мonthew para ter uma história durante 8 anos, então não poderei negociar mais do que uma vez por mês.

Porque não?

 
Alexey Viktorov:

Porquê?

Os preços de abertura estão a ser testados. O tique virá uma vez por mês.
Se correr com todas as carraças reais, pode com um forte redesenho e complicação de código. Irá também desperdiçar recursos. Penso que seria mais fácil ler barras a partir de ficheiros.