Errores, fallos, preguntas - página 905

 

¡Hola!

1 Tengo este problema - cuando intento usar un símbolo en un indicador, que no es el del gráfico al que está unido el indicador, no dibuja y sale el error 4806... si los símbolos coinciden, dibuja todo normalmente... ¿cuál es el problema? .... Acabo de empezar a estudiar el lenguaje...

 
vlad_123:

La imagen ha sido retocada.

Aquí están los cálculos:

Esto demuestra que el optimizador está engañando a la gente :-)

Así, el cálculo manual muestra que el resultado de la segunda línea es mayor de lo esperado. Pero el optimizador muestra que el resultado de la segunda línea es inferior.

Y el optimizador muestra un valor de resultado diferente al que se espera cuando se calcula manualmente.

¿Está seguro de que "1,90" y "2,03" son exactamente lo mismo, y no el resultado del redondeo al segundo dígito cuando aparece en el informe?

La cuestión es que se trata de valores redondeados para el informe y no pueden ser la base hasta que no se compruebe la fórmula.

 
Yedelkin:
Exactamente. Ni en la ayuda ni en ninguna de las dos guías de usuario. Gracias por el enlace.

La referencia apunta a una copia del certificado. La referencia lo ha tenido todo desde el principio:


 
x100intraday:

Pero aún así.

Me interesa directamente de los desarrolladores: ¿cuál es el algoritmo de mis acciones posteriores? Tengo que hacer algo sobre "MemoryException 180772428 bytes not available" (pestaña Log) y "out of memory" (pestaña Experts). ¿Debo presentar una solicitud al SR?

Aumentar el tamaño de la memoria, cambiar a 64 bits, reducir la cantidad de barras en el gráfico o reescribir el código de forma más frugal.

Si el programa dice que no hay suficiente memoria, es que la hay.

 
Renat: La referencia apunta a una copia de la referencia. Todo estaba y está en la ayuda desde el principio:

Pregunté en ruso : "¿Qué es MetaAssist y dónde puedo leer sobre él? Roche respondió que "este término puede entenderse como todo lo descrito en la sección Pero ni usted ni Roche han respondido qué es MetaAssist. Por lo tanto, no hay que hablar de "control inteligente" si no existe el término "MetaAssist" en las referencias rusas. Podría haber encontrado la sección "Control inteligente" sin tu ayuda.

En otras palabras, no existía ni existe el término "MetaAssist" en los materiales de referencia, lo que refuta completamente tu afirmación de que "Estaba y está todo en la referencia desde el principio".

 
Renat:

¿Está seguro de que los números "1,90" y "2,03" son exactamente eso y no el resultado del redondeo al segundo dígito cuando aparecen en el informe?

La cuestión es que se trata de valores redondeados para el informe y no pueden ser la base hasta que no comprobemos simplemente la fórmula.

Estoy de acuerdo en que para la primera línea de la captura de pantalla, el resultado del optimizador 439639 es comparable al cálculo manual 444801 y la diferencia puede explicarse por el redondeo.

Mi pregunta es sobre la segunda línea donde el optimizador calculó 373049, mientras que el manual añade 504383.

 
Renat:
Se trata de un error temporal, ya corregido y que estará disponible en la versión oficial esta semana. Hasta ahora sólo se ha publicado la versión beta en nuestro servidor de demostración.
Corregido en la versión 742. Gracias.
 
Renat:

Aumentar la cantidad de memoria, pasar a 64 bits, reducir la cantidad de barras en el gráfico o reescribir el código para que sea más económico.

Si el programa dice que no hay suficiente memoria, es que es así.

¡¿Cómo es eso,Renat?! Con 1GB de memoria no se dispone de unos 100MB. Añadí 3 GB (pero como XP x32 sólo ve 3 GB, lo consideraré sólo 2) - el resultado no cambió. Aumenté el archivo swap de 1,5GB a 10GB (vamos a dar una vuelta por ahí) - de nuevo ningún resultado, el mismo error. ¿Cuántos GB de húsares más tengo que meter para compensar el pequeño agujero de 100 MB? Debe haber una explicación lógica razonable para esta circunstancia. No necesito saber ningún detalle sobre el código de MT5, pero debe admitir que ha hecho algunos cambios en una de las construcciones, que ahora se está comiendo la memoria, sería un paso bastante honesto.

Para una guía de acción, mi más sincero agradecimiento. Eso está muy bien, por supuesto,Renat. Pero es demasiado obvio y trivial. Todo lo que tengo que hacer es optimizar unilateralmente algo que funcionaba sin problemas hace unos seis meses. Pero las recomendaciones unilaterales no son suficientes. ¿Parezco un programador novato gritando porque no puedo hacer mi primer "¡Hola, mundo! En absoluto. No soy yo quien ha estropeado algo que en su día funcionó y no necesitaba ser arreglado.

Pero, ¿dónde están las notificaciones de que la nueva construcción está comiendo más? Yo, como buen indio, cada vez que actualizo el terminal, me meto en el foro y estudio a fondo cada punto de innovación y arreglos. Pero no recuerdo que haya una sola insinuación de "¿No es hora de una nueva potencia informática, amigo?... ¡y preferiblemente también un servidor! Vamos, que no todo el mundo tiene esa opción. Ya me he puesto hasta las orejas y tengo cuatro módulos idénticos (como recomiendan los manuales de las placas base) obsoletos y caros de Gigabyte cada uno, y he llegado al límite arquitectónico, no hay nada más que añadir. ¿Y dentro de medio año esperaremos otra sorpresa de MQ?

Para nosotros, los programadores de MQL, es mucho más difícil adaptarnos a sus nuevas construcciones de MT5: ustedes saben lo que modifican, eliminan y añaden, mientras que nosotros lo desconocemos (sin contar las innovaciones explícitas en comandos, funciones, bibliotecas, etc., que debemos estudiar para estar al día con el terminal y el lenguaje). Resulta que su herramienta es la lógica, y nos quedamos con la búsqueda intuitiva, adaptando al azar y sacando código rancio. De alguna manera eso no es justo ni nada.

De todas formas, en x64 seguro que lo probaré pronto e informaré, pero algo me dice...

 
x100intraday:

¿Cómo es eso,Renat? Con 1 GB de memoria no se dispone de unos 100 MB. Añadido 3GB

Una vez que te conviertes en programador, tienes que entender que eres tú quien empieza a consumir recursos con tus peticiones. Llamar a funciones caras no significa que se pueda desconectar de la cuestión de "cómo se manejan realmente los recursos".

La mejor manera es publicar el código completo aquí en el foro y el área del problema será detectada inmediatamente. Si no puedes hacerlo aquí, puedes hacerlo en el servicio de atención al cliente (el código se eliminará después de las comprobaciones).

ps: nunca tenemos preguntas cuando el SO dice que no hay suficiente memoria y nunca culpamos a Microsoft por ello.

 

después de una tranquila actualización a la última compilación, los agentes borrados empezaron a caer:

FD      0       Tester  23:27:14        expert file added: Experts\grider1.1.ex5. 18867 bytes loaded
KR      3       Network 23:27:14        wrong optimized parameter 7
OG      2       Tester  23:27:14        requested data synchronization error
DR      0       Tester  23:27:14        tester agent shutdown