Milagros con el probador.

 

Estimados desarrolladores, tengo un indicador que da una señal de entrada y otra de salida.
Comienzo un robot de comercio con este indicador. Tres pasadas del probador me dan tres resultados diferentes.
Estoy trabajando con el probador desde la versión 3. Como si se tuvieran en cuenta todos los matices: el indicador no se redibuja, la señal no se lee en la barra 0.

Hago las pruebas a los precios de apertura y vuelvo a comprobarlo en cada modo de tick. ¿Qué información necesitas para entender por qué los resultados de las pruebas parecen cambiar en el mismo indicador y configuración del EA?

 

Con el mayor detalle posible y preferiblemente a servicedesk.

  1. Un par de informes sobre los resultados.
  2. Archivos de registro.
  3. Servidor.
  4. Qué agentes se utilizan
  5. Expert Advisor con el indicador (código fuente es preferible)
  6. .
  7. Los ajustes en el probador de estrategias.
 
1CMaster:

Estimados desarrolladores, tengo un indicador que da una señal de entrada y otra de salida.
Yo ejecuto un robot de comercio con este indicador. Tres pasadas del probador - tres resultados diferentes.
Llevo mucho tiempo trabajando con el probador, desde la versión 3. He considerado todos los matices: el indicador no se sobredimensiona y leo la señal no en la barra 0.

¿Qué información necesita para entender, por qué los resultados de la prueba parecen cambiar en el mismo indicador y la configuración de EA?

¿MT4 MT5?
 
1CMaster:

Estimados desarrolladores, tengo un indicador que da una señal de entrada y otra de salida.
Yo ejecuto un robot de comercio con este indicador. Tres pasadas del probador - tres resultados diferentes.
Llevo mucho tiempo trabajando con el probador, desde la versión 3. He considerado todos los matices: el indicador no se sobredimensiona y leo la señal no en la barra 0.

Hago las pruebas a precios abiertos y las vuelvo a comprobar en cada modo de tick. ¿Qué información necesitas para entender por qué los resultados de las pruebas cambian con el mismo indicador y la misma configuración del EA?

A veces estos milagros ocurren si alguna variable (en particular el array) resulta estar sin inicializar. // Por error.

En tales casos, en la variable hay una basura al azar, y como resultado - como-maravillas-en-una-prueba :)

Compruébalo, tal vez un golpe en el código. Tengo (whew, whew) probador no hace un milagro últimamente.

 
alexvd:

Con el mayor detalle posible y preferiblemente a servicedesk.

  1. Un par de informes sobre los resultados.
  2. Archivos de registro.
  3. Servidor.
  4. Qué agentes se utilizan
  5. Expert Advisor con el indicador (código fuente es preferible)
  6. .
  7. Los ajustes en el probador de estrategias.

Estimados desarrolladores.

Te envío todo el código fuente.

Una breve instrucción:

Abra el EURUSD H1, ponga los indicadores SS (sistema de señales) y FB (barras de fibo). Mostrarán dos señales - círculo - señal de venta. Todos los parámetros están rígidamente prescritos, no hay que configurar nada.

2. Inicio del probador para el período 01.01.2012 - 25.02.2012 EURUSD H1. En una señal de venta, el probador debe vender, y cerrar la operación en una señal de cierre.

3 Cuando se ejecutan varios Tester, muestra resultados diferentes (+96,80; -156,20; -416,20; -335,20). Lo correcto es -335,20 - y luego coincide visualmente con el indicador de señales SS.

El indicador está especialmente escrito para comprobar la corrección del probador. Lo he comprobado varias veces cambiando las señales.

Lo que ocurre no está claro. Espero que pueda aclarar la situación. No puedo ejecutar la optimización debido a los diferentes resultados.

IMPORTANTE: Estoy ejecutando la versión portable de Metatrader (/portable) en un servidor con Windows Server 2008 R2 SP1, 2*Xeon 5640 (12 núcleos, 24 hilos).

Archivos adjuntos:
MQL5.zip  248 kb
 
¿Dónde está este servicio de atención al cliente? ¿Debo enviar una solicitud allí?
 
1CMaster:
¿Dónde está este servicio de atención al cliente? ¿Debo enviar una solicitud allí?
en su perfil, perfil en la parte superior derecha.
 
1CMaster:

Especificidad de MT5: Si el buffer del indicador no se pone a cero deliberadamente, cuando se trabaja a través de iCustom(), el terminal puede devolver cualquier basura de la pila como valor del buffer.

De ahí que aparezcan señales incomprensibles.

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

Especificidad de MT5: Si el buffer del indicador no se pone a cero a propósito, cuando se trabaja a través de iCustom(), el terminal puede devolver cualquier basura de la pila como valor del buffer.

De ahí que aparezcan señales incomprensibles.

¿Tienes un enlace al uso correcto de iCustom() teniendo en cuenta estos matices? Estoy cansado de comprobarlo y buscar qué pasa.
 
1CMaster:
¿Existe un enlace para el uso correcto de iCustom() teniendo en cuenta estos matices? Porque estoy cansado de comprobarlo y buscar lo que está mal.

¿Qué tiene que ver iCustom()? El indicador que se va a conectar debe inicializar el búfer (por ejemplo, con ceros, si es un oscilador) antes de utilizarlo.

Ayer le insinué con bastante precisión el origen de su saliva.

MetaDriver:

A veces estos milagros ocurren si alguna variable (un array en particular) resulta estar sin inicializar. // Por descuido.

// ¿O crees sagradamente que la culpa es del probador, entonces por qué sólo tú?
 
https://www.mql5.com/ru/docs/array/arrayinitialize

ArrayInitialize

Inicializa un array numérico con el valor especificado.

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

Parámetros

array[]

[out] El array numérico a inicializar.

valor

[in] Nuevo valor a establecer en todos los elementos del array.

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