Milagres com o provador.

 

Caros Desenvolvedores, tenho um indicador que dá um sinal para a entrada e um sinal para a saída.
Começo um robô comercial com este indicador. Três séries do testador dão-me três resultados diferentes.
Estou a trabalhar com o testador desde a versão 3. Como se todas as nuances fossem tidas em conta: o indicador não volta a desenhar, o sinal não é lido na barra 0.

Faço os testes aos preços de abertura e verifico duas vezes em cada modo de tic-tac. Que informações precisa para compreender porque é que os resultados dos testes parecem mudar com o mesmo indicador e definições da EA ?

 

Tantos detalhes quanto possível e de preferência para servir.

  1. Um par de relatórios sobre os resultados.
  2. Ficheiros de registo.
  3. Servidor.
  4. Que agentes são utilizados
  5. Expert Advisor com o indicador (o código fonte é preferível)
  6. .
  7. As definições no testador de estratégias.
 
1CMaster:

Caros programadores, tenho um indicador que dá um sinal para entrar e um sinal para sair.
Eu dirijo um robô comercial com este indicador. Três séries do testador - três resultados diferentes.
Há muito tempo que trabalho com o testador, desde a versão 3. Eu considerei todas as nuances: o indicador não se sobrepõe e leio o sinal não na barra 0.

Que informações precisa de compreender, porque é que os resultados dos testes parecem mudar com o mesmo indicador e definições da EA?

MT4 MT5?
 
1CMaster:

Caros programadores, tenho um indicador que dá um sinal para entrar e um sinal para sair.
Eu dirijo um robô comercial com este indicador. Três séries do testador - três resultados diferentes.
Há muito tempo que trabalho com o testador, desde a versão 3. Eu considerei todas as nuances: o indicador não se sobrepõe e leio o sinal não na barra 0.

Faço testes a preços abertos e volto a verificá-los em todos os modos de carrapato. De que informações precisa, para compreender por que razão os resultados dos testes mudam com o mesmo indicador e definições da EA?

Por vezes tais milagres acontecem se algumas variáveis (em particular a matriz) se revelarem não inicializadas. // Por engano.

Nestes casos, na variável há um lixo aleatório, e como resultado - como maravilhas em um testador :)

Verifique, talvez um choque em código. Tenho (ufa, ufa) testador não faz um milagre ultimamente.

 
alexvd:

Tantos detalhes quanto possível e de preferência para servir.

  1. Um par de relatórios sobre os resultados.
  2. Ficheiros de registo.
  3. Servidor.
  4. Que agentes são utilizados
  5. Expert Advisor com o indicador (o código fonte é preferível)
  6. .
  7. As definições no testador de estratégias.

Caros Desenvolvedores.

Estou a enviar-vos todas as fontes.

Uma breve instrução:

Abrir EURUSD H1, colocar indicadores SS (sistema de sinal) e FB (barras de fibo) nele. Mostrarão dois sinais - círculo - vender sinal. Todos os parâmetros são rigorosamente prescritos, nada precisa de ser estabelecido.

2. Iniciar o teste para o período 01.01.2012 - 25.02.2012 EURUSD H1. Num sinal de Venda, o testador deve vender, e fechar o negócio num sinal de fecho.

3 Quando vários Tester funcionam, mostra resultados diferentes (+96,80; -156,20; -416,20; -335,20). Correcto é -335,20 - e depois coincide visualmente o testador de sinais com o indicador de sinais SS.

O indicador é especialmente escrito para verificar a correcção do testador. Voltou a verificá-lo várias vezes, deslocando os sinais.

O que se está a passar não é claro. Espero que possa esclarecer a situação. Não posso fazer a optimização devido a resultados diferentes.

IMPORTANTE: Estou a executar a versão portátil do Metatrader (/portável) num servidor com Windows Server 2008 R2 SP1, 2*Xeon 5640 (12 núcleos, 24 fios).

Arquivos anexados:
MQL5.zip  248 kb
 
Onde fica este balcão de atendimento - devo enviar um pedido para lá ?
 
1CMaster:
Onde fica este balcão de atendimento - devo enviar um pedido para lá ?
no seu perfil, perfil no canto superior direito.
 
1CMaster:

Especificidade do MT5: Se o tampão indicador não for zerado de propósito, ao trabalhar através de iCustom(), o terminal pode devolver qualquer lixo da pilha como valor de tampão.

Por conseguinte, parecem existir sinais incompreensíveis.

Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
  • 2010.10.25
  • Nikolay Kositsin
  • www.mql5.com
Статья о традиционных и не совсем традиционных алгоритмах усреднения, упакованных в максимально простые и достаточно однотипные классы. Они задумывались для универсального использования в практических разработках индикаторов. Надеюсь, что предложенные классы в определенных ситуациях могут оказаться достаточно актуальной альтернативой громоздким, в некотором смысле, вызовам пользовательских и технических индикаторов.
 
MoneyJinn:

Especificidade do MT5: Se o buffer indicador não for zerado deliberadamente, ao trabalhar através de iCustom(), o terminal pode devolver qualquer lixo da pilha como valor de buffer.

Por conseguinte, parecem existir sinais incompreensíveis.

Tem uma ligação para o uso correcto do iCustom() tendo em conta estas nuances? Estou cansado de o verificar e de procurar o que se passa.
 
1CMaster:
Existe alguma ligação para o uso correcto do iCustom() tendo em conta estas nuances ??? Porque estou cansado de o verificar e de procurar o que está errado.

O que é que o iCustom() tem a ver com isto? O indicador a ser ligado deve inicializar o tampão (por exemplo, com zeros se for um oscilador) antes de ser utilizado.

Ontem insinuei-vos com bastante precisão sobre a origem do vosso cuspo.

MetaDriver:

Por vezes tais milagres acontecem se alguma variável (uma matriz em particular) se revelar não iniciada. // Por supervisão.

// Ou acredita sagradamente que a culpa é do testador, então porque só você?
 
https://www.mql5.com/ru/docs/array/arrayinitialize

ArrayInitialize

Inicializa uma matriz numérica com o valor especificado.

void  ArrayInitialize(
   double  array[],     // инициализируемый массив
   double  value        // значение, которое будет установлено
   );

Parâmetros

matriz[]

[A matriz numérica a inicializar.

valor

[em] Novo valor a ser definido para todos os elementos da matriz.

Документация по MQL5: Операции с массивами / ArrayInitialize
Документация по MQL5: Операции с массивами / ArrayInitialize
  • www.mql5.com
Операции с массивами / ArrayInitialize - Документация по MQL5