Erros, bugs, perguntas - página 200

 
Ashes:

Não. A habitual perseguição de teste de um dos participantes no campeonato (multimoedas), uma longa troca de história sobre os pares envolvidos e ponto final.

A propósito, estou curioso, como é que o testador determina que pares devem ser trocados? Em geral, é impossível saber com antecedência sem ter começado a testar...

Tanto quanto sei, o primeiro par a ser trocado é o que está a ser testado (é especificado nos parâmetros do testador e acrescentado automaticamente ao seu "Market Watch").

Os outros pares são trocados de acordo com condições diferentes. Pessoalmente, penso que a forma mais correcta é seleccioná-los (preenchendo a "análise do mercado" do testador) no bloco de inicialização, e depois verificar a sincronização dos dados (é útil não só no testador).

É também de notar que o testador sincroniza com o terminal, que por sua vez sincroniza com o servidor...

PS

Se bem entendi, o testador ainda pode carregar os dados por si próprio, mas em condições reais terá de o fazer por si próprio.

sergeev:

Confirmado.

Exportação mais fácil por MA. Após a inicialização, desligar directamente. Mas é instável e de vez em quando.

Terei de ver, mas não parece que tenha tido tais falhas. Embora houvesse um problema com o temporizador (penso que será resolvido na próxima construção)...
 
Após a inicialização, desligar directamente. Mas é instável e acontece em tempos diferentes É
exactamente
isto que
acontece na última construção (355) se o OnTimer em vez do OnTick for utilizado no testador.
 
Erm955:
Isto é exactamente o que acontece na última construção (355) se o OnTimer for utilizado no testador em vez do OnTick.
Felizmente, tenho ambos estes manipuladores. Embora, eu realmente sofra de um bug de temporizador (uma vez que a EA é uma mula). :(
 
Rosh:
Talvez a função de remover o indicador do gráfico por meio de MQL5 apareça.
Oh, isso seria bom.
 

Tentativa de salvar o relatório do testador em formato Open XML. Minutos de espera (Pentium 4, 3.0GHz), aplicação não responde, gestor de tarefas mostra processo terminal.exe (cerca de 50% do CPU) consumindo memória operacional (cerca de 250Mb), Resultado - nada. MT5 só responde, não entram citações (indicador do estado da ligação com círculo cinzento de fiação). Uma segunda tentativa, é a mesma. A janela "Ferramentas" tem 2 entradas no diário "MemoryException 107878464 bytes não disponíveis", o tempo correspondente à tentativa de receber um relatório no OpenXML.
O ficheiro HTML foi gerado quase instantaneamente (cerca de 12 Mb). Demora muito tempo a abrir, mas a culpa não é do MT5...

 

O compilador emite um aviso se uma variável não for utilizada em qualquer lugar, e não há problema.

Mas não vê tal disparate (variáveis não utilizadas) nas classes.

 

versão 5 construir 355

Cálculo da diferença de tempo entre barras:

data/hora DefTime;

PrintDate de cordel;

DefTime=Time[0]-Time[i]; //i] pode ser substituído por qualquer número inteiro no nosso caso a partir de 0 e acima ...

PrintDate=TimeToString(DefTime,TIME_DATE|TIME_MINUTES);

Imprimir (PrintDate);

Aqui temos:

!!! 2010.11.22 02:09:24 A-PS (EURUSD,M15) 1970.01.03 04:00
!!! 2010.11.22 02:09:22 A-PS (EURUSD,M15) 1970.01.03 04:45 !
!!! 2010.11.22 02:09:20 A-PS (EURUSD,M15) 1970.01.03 04:30 !
!!! 2010.11.22 02:09:19 A-PS (EURUSD,M15) 1970.01.03 03:15 !
!!! 2010.11.22 02:09:18 A-PS (EURUSD,M15) 1970.01.03 03:00 !
!!! 2010.11.22 02:09:17 A-PS (EURUSD,M15) 1970.01.03 02:45 !
!!! 2010.11.22 02:09:16 A-PS (EURUSD,M15) 1970.01.03 02:30 !
!!! 2010.11.22 02:09:14 A-PS (EURUSD,M15) 1970.01.03 02:15 !
2010.11.22 02:09:13 A-PS (EURUSD,M15) 1970.01.01 02:00
2010.11.22 02:09:12 A-PS (EURUSD,M15) 1970.01.01 01 01:45
2010.11.22 02:09:11 A-PS (EURUSD,M15) 1970.01.01.01:30
2010.11.22 02:09:11 A-PS (EURUSD,M15) 1970.01.01.01:15
2010.11.22 02:09:09 A-PS (EURUSD,M15) 1970.01.01.01:00
2010.11.22 02:09:08 A-PS (EURUSD,M15) 1970.01.01 00:45
2010.11.22 02:09:08 A-PS (EURUSD,M15) 1970.01.01 00:30
2010.11.22 02:09:07 A-PS (EURUSD,M15) 1970.01.01 00:15
2010.11.22 02:08:58 A-PS (EURUSD,M15) 1970.01.01 00:00

De onde vem o 3º número? A mesma situação é observada quando se utiliza o MqlDateTime.

 
KffAlex:

De onde vem o 3º número? A mesma imagem é observada quando se utiliza o MqlDateTime.

Isso mesmo - mostra-se o delta de tempo entre barras em segundos como uma data padrão.

O delta entre as barras de segunda e sexta-feira é exactamente de 3 dias.

 
Sinceramente, não tinha pensado nisso. Esqueço-me sempre do lapso nos bares entre sexta-feira e segunda-feira. Obrigado.
 

Quero fazer durante o consultor de optimização para escolher se ligo ou não o indicador, (por exemplo TRIX) se TRIX=0 - então o indicador não será usado, se TRIX = 1 ou mais, o indicador será incluído e o número que é usado no valor - este é um parâmetro do indicador.

Mas o problema é que muitos indicadores têm mais do que um parâmetro - mas se TRIX_1 = 0, TRIX_2 = 4 por exemplo definidos durante a optimização, os parâmetros vão contradizer-se, este problema foi resolvido desta forma: no Expert Advisor passa pelos valores de TRIX_1 e TRIX_2 possíveis.ou seja, TRIX=0 é TRIX_1=0 e TRIX_2=0 na EA; TRIX=1 é TRIX_1=1 e TRIX_2=1; TRIX=2 é TRIX_1=1 e TRIX_2=2, etc. Mas coloca-se a questão

o algoritmo genético funcionará correctamente no testador, se todos os parâmetros indicadores já tiverem sido enumerados na própria EA e apenas um valor TRIX, que armazena as variações dos parâmetros, tiver sido colocado na entrada?

Razão: