Tema interesante para muchos: las novedades de MetaTrader 4 y MQL4 - grandes cambios en camino - página 69

 
MetaDriver:
¿Has analizado alguna vez los códigos de hrenfx(getch en la vida anterior)? Te recomiendo encarecidamente que revises todos sus trabajos en el 4º foro de kodobase y analices cuidadosamente un par o tres de ellos para entender bien los algoritmos. Y a toda tu brigada de "gente de altísimo nivel de profesionalidad" les recomiendo encarecidamente que hagan lo mismo. Quizá deberías ser menos iluso sobre las capacidades intelectuales de Iván y empezar a mejorar tus propias habilidades.


No mostraste una mierda en números, tienes tres ticks en barras, mientras que él tiene un tick en cada una - sólo LoAsk y HiBid - que propagó aquí durante mucho tiempo. Así que si eliminas dos comparaciones innecesarias del bucle y desactivas las comprobaciones de rango en el compilador (RangeCheck), entonces la cifra indicada ya parece bastante realista, incluso con cálculos útiles (mínimos) dentro del bucle.

Algunos de los códigos hrenfx con los que me he topado - el código es de muy alta calidad, no puedo decir nada. Todavía uso algunos de ellos. Pero no mezcles las moscas con las chuletas. Tú, al igual que gerica, escribes sin entender siquiera la prueba que ofrezco. Ya sea por falta de conocimientos profundos de C, o por alguna otra razón, usted está haciendo hincapié en que una barra para hrenfx es sólo dos largos enteros. En realidad, pasamos un puntero a la estructura que describe la barra; la estructura en sí no se pasa por valor, lo que significa que activar y desactivar el número de elementos de la barra no afectará al rendimiento de ninguna manera. Nota, estoy hablando del tiempo de rendimiento del estrato en sí, estoy ignorando el tiempo de llenado del array.

Este es el resultado del rendimiento si se deja sólo un valor en la propia estructura:

Es decir, efectivamente, el tiempo de despliegue de una estructura ligera, consistente en un único valor largo disminuyó muchas veces, de 9 segundos a 2,35, pero el tiempo de ejecución en sí se mantuvo casi igual (incluso aumentó ligeramente, porque empecé a llamar a rand() en la comprobación if). Si el motor delega la ejecución en el estratega, lo que en realidad ocurre, el tiempo de ejecución se alarga aún más y el tamaño de la barra de descripción de la estructura no tiene absolutamente nada que ver.

Así que, si vas a decir algo de nuevo, estudia primero la C - entonces tendremos algo de qué hablar.

 
C-4:

Es decir, es cierto que el tiempo de despliegue de una estructura ligera formada por un único valor largo ha disminuido mucho, de 9 segundos a 2,35, pero el tiempo de ejecución propiamente dicho sigue siendo casi el mismo

¿Y si lo dividimos por 8 (núcleos)?
 
TheXpert:
¿Y si se divide por 8 (núcleos)?
Si se divide, es posible alcanzar una velocidad de 100 000 000 de bares, pero aun así, estamos razonando de forma demasiado abstracta y especulativa. En un probador real, habrá de todos modos costes en llamadas a funciones, despliegue y lectura de datos del disco, cálculos matemáticos dentro de las estrategias, envío de señales de compra y venta, grabación y almacenamiento de datos intermedios y mucho, mucho más. Una sola llamada a la función TradeSystem() en el primer ejemplo aumenta el tiempo de ejecución de la estrategia en un 40%. Por lo tanto, incluso después de dividir el resultado por 8, sólo nos acercamos al límite declarado, pero se afirmó que se había alcanzado en 5 horas sin ayuda de un programador. Y aún no sabremos durante mucho tiempo si hrenfx se refería al rendimiento en modo multihilo o en modo monohilo.
Документация по MQL5: Основы языка / Функции / Вызов функции
Документация по MQL5: Основы языка / Функции / Вызов функции
  • www.mql5.com
Основы языка / Функции / Вызов функции - Документация по MQL5
 
TheXpert:
¿Y si lo dividimos entre 8 (núcleos)?
No, hrenfix tiene un probador de un solo hilo, está escrito en su post.
C-4:

Algunos de los códigos hrenfx sí me han llegado - el código es de muy alta calidad, no puedo decir nada. Todavía uso algunos de ellos. Pero no mezcles las moscas con las chuletas. Tú, al igual que gerica, escribes sin entender siquiera la prueba que ofrezco. Ya sea por falta de conocimientos profundos de C, o por alguna otra razón, usted está haciendo hincapié en que una barra para hrenfx es sólo dos largos enteros. En realidad, pasamos un puntero a la estructura que describe la barra; la estructura en sí no se pasa por valor, lo que significa que activar y desactivar el número de elementos de la barra no afectará al rendimiento de ninguna manera. Nota, estoy hablando del tiempo de rendimiento del estrato en sí, estoy ignorando el tiempo de llenado del array.

Este es el resultado del rendimiento si se deja sólo un valor en la propia estructura:

Es decir, efectivamente, el tiempo de despliegue de una estructura ligera, consistente en un único valor largo disminuyó muchas veces, de 9 segundos a 2,35, pero el tiempo de ejecución en sí se mantuvo casi igual (incluso aumentó ligeramente, porque empecé a llamar a rand() en la comprobación if). Si el motor delega la ejecución en el estratega, como de hecho hace, el tiempo de ejecución se alarga aún más y el tamaño de la estructura que describe la barra no tiene absolutamente nada que ver.

Así que, si vas a volver a decir algo, estudia la C para empezar y así tendremos algo de lo que hablar.

No quiero discutir la discrepancia encontrada menos de dos veces, // que se puede achacar, por ejemplo, a diferencias en los compiladores y procesadores.

El rendimiento de Iván se acerca al real, para estrategias ligeras, y es bastante motivador para escribir "calculadoras" sencillas para cada una de sus estrategias.

Para eso la productividad es enorme comparada con un mashup universal de probador regular. Eso es exactamente lo que Iván quería decir, y no a Renat, sino a ti, a mí y a otros "usuarios" que están esperando "bajo el mar del tiempo".

 
C-4:
no un programador, en sólo cinco horas.
No recuerdo que dijera que no era programador, hace tiempo que se le conoce aquí como programador entre otras cosas.
 
MetaDriver:
No, hrenfix tiene un probador de un solo hilo, está escrito en su post.
También tiene las mismas instrucciones sobre cómo desparejarla.
 
Mischek:
No recuerdo que dijera que no era programador, pero hace tiempo que se le conoce aquí como programador entre otros.
No es un profesional, y a diferencia de algunos que se creen profesionales, lo dice, aunque a un nivel superior al de la mayoría de los trabajos de primera línea.
 
C-4:

1) ...... Pero también se ha dicho que se ha conseguido, por así decirlo, de golpe, por un no programador, en sólo 5 horas.

2) Y no sabremos durante mucho tiempo si hrenfx se refería al rendimiento en modo multihilo o en modo monohilo.

1) El resultado lo consiguió en cinco horas un hombre que escribe el probador no por primera vez, es decir, un "no programador" muy experimentado. Por ejemplo,una de sus hazañas, de hace ya tres años.

2) Lee el post original con más atención y te darás cuenta enseguida. "la manivela no es un lector..." ? ;)

Простая идея мультивалютного тестера с примером реализации - MQL4 форум
  • www.mql5.com
Простая идея мультивалютного тестера с примером реализации - MQL4 форум
 
El hilo de los testigos de Crenfix ))
 
TheXpert:
No es un profesional, y a diferencia de algunos que se creen profesionales, lo dice, aunque probablemente esté por encima de la mayoría de los puestos de trabajo más importantes en términos de nivel.
Top joba apesta).