Problema de las terminales globales - página 3

 

Hola, Pensamiento Profundo

Lo he intentado y cada vez que lo he intentado, MT4 se ha bloqueado. Sin embargo, no estaba sentado en un punto de interrupción cuando intenté cargar la plantilla. Intentaré poner un punto de interrupción al principio de OnStart() y veré qué pasa. El IDE debería detenerse independientemente del tipo de aplicación cuando estás sentado en un punto de interrupción. Acabo de probarlo - no funcionó. Cuando el depurador llega a un punto de interrupción el terminal se congela. Al intentar hacer algo se bloquea. Me he dado cuenta de que estás usando gráficos sin conexión. Yo no lo hago. Esa puede ser la diferencia - si está ejecutando MT4. Gracias por el consejo - valía la pena intentarlo. Ahora tengo un problema mayor. Mi depurador ha dejado de funcionar. Debo haber hecho algo pero no estoy seguro de qué. Ah - la vida y los tiempos de un programador. :-)

 

No hay problema.

Pero no, los gráficos fuera de línea no tienen ningún efecto sobre el ahorro de plantillas (al menos con las últimas construcciones, ya que también había un error hace unas semanas).

Sí, el terminal se congela durante la depuración. El depurador engancha el hilo principal del IDE, donde normalmente se ejecutan todos los indicadores. Se descongela durante un tiempo después de salir de su método de evento (OnStart, OnInit), y está vivo hasta que lo detengas en un punto de interrupción de nuevo.

 
ProfessorMetal:

Hola, Pensamiento Profundo

Lo he intentado y cada vez que lo he intentado, MT4 se ha bloqueado. Sin embargo, no estaba sentado en un punto de interrupción cuando intenté cargar la plantilla. Intentaré poner un punto de interrupción al principio de OnStart() y veré qué pasa. El IDE debería detenerse independientemente del tipo de aplicación cuando estás sentado en un punto de interrupción. Acabo de probarlo - no funcionó. Cuando el depurador llega a un punto de interrupción el terminal se congela. Al intentar hacer algo se bloquea. Me he dado cuenta de que estás usando gráficos sin conexión. Yo no lo hago. Esa puede ser la diferencia - si está ejecutando MT4. Gracias por el consejo - valía la pena intentarlo. Ahora tengo un problema mayor. Mi depurador ha dejado de funcionar. Debo haber hecho algo pero no estoy seguro de qué. Ah - la vida y los tiempos de un programador. :-)

Lo siento pero no tengo ningún problema con el depurador. Utiliza el debug.tpl que guardé y no se bloquea.

Así que puedo sugerirle 2 cosas, o bien publicar aquí cómo reproducir su problema, por lo que podemos tratar de ayudar. O escribir al ServiceDesk de Metaquotes.

 

Gracias de nuevo, DeepThought. Realmente no pensé que los gráficos tuvieran nada que ver, pero pensé que valía la pena mencionarlo, por si acaso. Si has mirado mi perfil, habrás visto que soy un desarrollador con mucha experiencia. He aprendido por las malas que lo que crees que no es un problema a menudo resulta serlo. Siempre vale la pena hacer una pregunta aunque creas que es discutible. Sin embargo, creo que no he entendido bien tu mensaje anterior. Si el terminal se congela cuando el depurador llega a un punto de interrupción, no hay manera de que puedas cargar una plantilla para el gráfico en el que estás. Evidentemente, he entendido mal algo de lo que me querías decir.

angevoyageur,

no puedo publicar nada más de lo que ya he hecho. No hay pasos A, B, C que estén causando esto. Está actuando como si tratara de encontrar una plantilla de depuración y no lo consigue y por lo tanto no abre un gráfico. El registro parece confirmarlo. Si elimino debug.tpl el depurador abrirá un gráfico. Todavía tengo que configurar el gráfico yo mismo, pero eso es mejor que no tener ninguna depuración en absoluto. Esto empieza a parecer un problema para el servicio técnico. No sé por qué estoy viendo esto y tú y DeepThought no. Incluso llegué a reinstalar MT4 y la situación persiste. También podría ser que hay algo mal con mi código que está causando que se bloquee cuando trata de cargar la plantilla. Voy a perseguir ese ángulo antes de llevarlo a la Mesa de Servicio. En este momento, tengo que colapsar y descansar un poco. Estoy demasiado cansado para concentrarme. Gracias de nuevo por su ayuda.

 
Oh, ahora veo el punto que te faltaba. La palabra es que la plantilla debug.tpl se carga automáticamente si el gráfico se abre desde el depurador - lo mismo sucede para default.tpl con cualquier gráfico ordinario, tester.tpl con un probador de estrategia, offline.tpl con gráfico offline, y además del probador de estrategia, <ea_name>.tpl se carga preferentemente.
 

Para ser honesto, nunca he utilizado el depurador. Sólo uso las funciones de impresión. De esta manera, puedo depurar más rápido. Por supuesto, utilizar la cuenta de demostración, pero se está convirtiendo en la prueba hacia adelante en lugar de pruebas de espalda.

A mucha gente le gusta el back testing pero a mi me gusta el forward testing. ¿Cuál es el punto de hacer la optimización de los datos de la historia?

Yo hago la optimización en los datos reales en vivo. Debido a eso, mi EA se ha convertido en 100% estable y puede manejar la mayoría de los errores sin que yo haga nada.

Por supuesto, me llevó muchos meses hacerlo, pero valió la pena.

 
ProfessorMetal:

Gracias de nuevo, DeepThought. En realidad no pensé que los gráficos tuvieran nada que ver, pero pensé que valía la pena mencionarlo, por si acaso. Si has mirado mi perfil, habrás visto que soy un desarrollador con mucha experiencia. He aprendido por las malas que lo que crees que no es un problema a menudo resulta serlo. Siempre vale la pena hacer una pregunta aunque creas que es discutible. Sin embargo, creo que no he entendido bien tu mensaje anterior. Si el terminal se congela cuando el depurador llega a un punto de interrupción, no hay manera de que puedas cargar una plantilla para el gráfico en el que estás. Evidentemente, he entendido mal algo de lo que me querías decir.

angevoyageur,

no puedo publicar nada más de lo que ya he hecho. No hay pasos A, B, C que estén causando esto. Está actuando como si tratara de encontrar una plantilla de depuración y no lo consigue y por lo tanto no abre un gráfico. El registro parece confirmarlo. Si elimino debug.tpl el depurador abrirá un gráfico. Todavía tengo que configurar el gráfico yo mismo, pero eso es mejor que no tener ninguna depuración en absoluto. Esto empieza a parecer un problema para el servicio técnico. No sé por qué estoy viendo esto y tú y DeepThought no. Incluso llegué a reinstalar MT4 y la situación persiste. También podría ser que hay algo mal con mi código que está causando que se bloquee cuando trata de cargar la plantilla. Voy a perseguir ese ángulo antes de llevarlo a la Mesa de Servicio. En este momento, tengo que colapsar y descansar un poco. Estoy demasiado cansado para concentrarme. Gracias de nuevo por tu ayuda.

¿Puedes probar con una plantilla muy sencilla? ¿Tal vez esté relacionado con la propia plantilla? Si funciona con una plantilla simple (por ejemplo, mostrar velas), entonces vaya paso a paso añadiendo una cosa a la vez en su plantilla.

Si no funciona desde el principio, es definitivamente algo para el ServiceDesk.

 

Pensamiento profundo,

"Se dice que la plantilla debug.tpl se carga automáticamente si el gráfico se abre desde el depurador" Un problema puede ser algo que mencioné antes. La instalación de MT4 no tiene el directorio profiles/templates que la documentación dice que debe tener. Por eso lo añadí yo mismo y luego guardé mi plantilla de depuración en él. He probado a encender el depurador tanto con MT4 en funcionamiento como con él apagado y dejando que el depurador inicie todo con los mismos resultados. He visto un par de cosas extrañas con ambos enfoques. El registro a veces reportará un error de unitialización 2, indicando que mi indie está recompilando cuando inicio el depurador. Esto no tiene sentido. He probado a iniciar el depurador tanto con MT4 en marcha como simplemente dejando que el propio depurador inicie todo con los mismos resultados. Esto sólo ocurre si tengo la carpeta profiles/template en su lugar con debug.tpl en ella. Si me deshago de eso, el depurador trae un gráfico que tiene el indie que estoy tratando de probar y nada más. En cuanto a tener el depurador en marcha y luego tratar de cargar una plantilla va, el depurador al instante se apaga cuando selecciono la plantilla y estoy viendo el gráfico como si hubiera iniciado MT4 con un perfil que contiene el gráfico con mi configuración.

deysmacro, estoy de acuerdo.

Las pruebas hacia atrás son inútiles. Al igual que tú, yo sólo hago pruebas hacia adelante. Lleva mucho tiempo pero obtienes una imagen mucho más precisa de lo que va a hacer tu aplicación. Si voy a crear una herramienta para mi uso personal o para venderla comercialmente, voy a juzgar su eficiencia aplicándola a lo que el mercado está haciendo AHORA, no a lo que hizo hace cinco años. Para mí, eso es lo único que tiene sentido.

Buena sugerencia, angevoyageur. Debería haberlo pensado yo mismo. Todavía no estoy del todo seguro de que el indie en el que trabajo esté libre de culpa en esto. Calculo los puntos de entrada y salida en base a las MA's y ocasionalmente obtengo dividendos cero. Los registros sugieren que ese no es el problema, pero quién sabe. Una de las razones por las que no creo que sea el problema es que cuando tengo la estructura de directorios y archivos configurada según la documentación, el registro muestra que los indies y el EA se cargan con éxito y luego se desinicializan inmediatamente sin dar una razón de por qué. Tengo alertas en las funciones OnInit()y OnDeinit() y ninguna de ellas se ejecuta lo que sugiere que lo que sea que esté explotando lo está haciendo antes de que nada tenga la oportunidad de ejecutarse. Seguiré trabajando en esto y publicaré lo que encuentre. Es posible que tenga que pasar esto al ServiceDesk. Sin embargo, como dije antes, tengo una solución, aunque sea dolorosa. :-)

 
ProfessorMetal:

Pensamiento profundo,

La instalación de MT4 no tiene el directorio de perfiles/plantillas que la documentación dice que debe tener. Por eso lo añadí yo mismo y luego guardé mi plantilla de depuración en él.


Tampoco la mía lo tiene en el directorio de instalación. No importa.
 
DeepThought:

Tampoco el mío lo tiene en el directorio de instalación. No importa.

:-)