Estoy escribiendo un Asesor Experto que llama al indicador ex5. El Asesor Experto funciona correctamente en el probador de estrategias, pero si ejecuto la optimización, los agentes se bloquean al final de la ejecución:
Si pulso el botón de cierre, después de un tiempo el agente se reinicia y realiza una nueva ejecución, y luego se bloquea de nuevo.
El análisis de los registros no dio nada:
NR 015:51:49.391 Tester register MQL5.community account and use MQL5 Cloud Network to speed up optimizations
RE 015:51:49.412 Tester Experts\PowerTrender.ex5 on RTS Splice,H1 from2016.01.0100:00 to 2016.08.0100:00
QJ 015:51:49.514 Tester RTS Splice: history data begins from2007.08.2300:00
QP 015:51:49.514 Tester complete optimization started
RF 015:51:49.514 Tester size of initial task batch is10
IS 015:51:49.523 Tester file cache Z:\MetaTrader 5\tester\cache\PowerTrender.RTS Splice.H1.2.xml found
HS 015:51:49.523 Tester file cache contains 18 records
CD 015:51:49.544 Core 1 agent process started
GD 015:51:49.544 Core 1 connecting to 127.0.0.1:3000
EQ 015:51:49.547 Core 2 agent process started
JI 015:51:49.547 Core 2 connecting to 127.0.0.1:3001
NN 015:51:49.549 Core 3 agent process started
PJ 015:51:49.549 Core 3 connecting to 127.0.0.1:3002
GK 015:51:49.552 Core 4 agent process started
FO 015:51:49.552 Core 4 connecting to 127.0.0.1:3003
OG 015:51:49.555 Core 5 agent process started
OS 015:51:49.555 Core 5 connecting to 127.0.0.1:3004
CD 015:51:49.558 Core 6 agent process started
DD 015:51:49.558 Core 6 connecting to 127.0.0.1:3005
OQ 015:51:49.560 Core 7 agent process started
QI 015:51:49.560 Core 7 connecting to 127.0.0.1:3006
EN 015:51:49.563 Core 8 agent process started
QJ 015:51:49.563 Core 8 connecting to 127.0.0.1:3008
DK 015:51:53.654 Core 5 connected
FR 015:51:53.685 Core 5 authorized (agent build 1375)
CH 015:51:53.740 Core 5 common synchronization completed
IN 015:51:54.152 Core 6 connected
OR 015:51:54.154 Core 2 connected
JJ 015:51:54.155 Core 6 authorized (agent build 1375)
FN 015:51:54.156 Core 7 connected
IO 015:51:54.158 Core 2 authorized (agent build 1375)
NI 015:51:54.163 Core 1 connected
LS 015:51:54.169 Core 7 authorized (agent build 1375)
JK 015:51:54.208 Core 6 common synchronization completed
GR 015:51:54.210 Core 2 common synchronization completed
HI 015:51:54.220 Core 1 authorized (agent build 1375)
QE 015:51:54.237 Core 7 common synchronization completed
KL 015:51:54.275 Core 1 common synchronization completed
JI 015:51:55.202 Core 8 connected
QS 015:51:55.205 Core 8 authorized (agent build 1375)
JE 015:51:55.223 Core 3 connected
HD 015:51:55.249 Core 3 authorized (agent build 1375)
KM 015:51:55.259 Core 2 connection closed
FH 015:51:55.265 Core 8 common synchronization completed
GP 015:51:55.272 Core 1 connection closed
IS 015:51:55.276 Core 4 connected
LJ 015:51:55.288 Core 4 authorized (agent build 1375)
GP 015:51:55.298 Core 3 common synchronization completed
QH 015:51:55.334 Core 4 common synchronization completed
KP 015:51:55.375 Core 7 connection closed
JO 015:51:55.403 Core 6 connection closed
GE 015:51:56.045 Core 8 connection closed
CP 015:51:56.107 Core 3 connection closed
ON 015:51:56.151 Core 4 connection closed
LE 015:52:02.092 Core 5 connection closed
CN 015:52:11.964 Core 1 agent process started
GJ 015:52:11.964 Core 1 connecting to 127.0.0.1:3000
FK 015:52:11.966 Core 2 agent process started
IO 015:52:11.966 Core 2 connecting to 127.0.0.1:3001
QH 015:52:11.969 Core 6 agent process started
RP 015:52:11.969 Core 6 connecting to 127.0.0.1:3005
GE 015:52:11.971 Core 7 agent process started
IE 015:52:11.971 Core 7 connecting to 127.0.0.1:3006
LQ 015:52:12.975 Core 3 agent process started
RI 015:52:12.975 Core 3 connecting to 127.0.0.1:3002
CN 015:52:12.979 Core 4 agent process started
JJ 015:52:12.979 Core 4 connecting to 127.0.0.1:3003
RK 015:52:12.983 Core 8 agent process started
FO 015:52:12.983 Core 8 connecting to 127.0.0.1:3008
GH 015:52:15.857 Core 2 connected
MP 015:52:15.864 Core 2 authorized (agent build 1375)
JJ 015:52:15.914 Core 2 common synchronization completed
EK 015:52:16.367 Core 1 connected
RR 015:52:16.375 Core 1 authorized (agent build 1375)
DF 015:52:16.385 Core 6 connected
LF 015:52:16.392 Core 6 authorized (agent build 1375)
LL 015:52:16.433 Core 1 common synchronization completed
JG 015:52:16.465 Core 6 common synchronization completed
GQ 015:52:16.922 Core 8 connected
OH 015:52:16.924 Core 8 authorized (agent build 1375)
DL 015:52:16.957 Core 7 connected
PQ 015:52:16.957 Core 3 connected
GH 015:52:16.967 Core 7 authorized (agent build 1375)
RQ 015:52:16.968 Core 3 authorized (agent build 1375)
FM 015:52:16.975 Core 8 common synchronization completed
LE 015:52:17.023 Core 3 common synchronization completed
DL 015:52:17.029 Core 7 common synchronization completed
DD 015:52:17.530 Core 6 connection closed
PR 015:52:17.566 Core 1 connection closed
JD 015:52:17.966 Core 4 connected
ID 015:52:17.969 Core 4 authorized (agent build 1375)
QM 015:52:17.971 Core 8 connection closed
PK 015:52:18.010 Core 4 common synchronization completed
EP 015:52:18.010 Core 3 connection closed
KO 015:52:18.025 Core 7 connection closed
GE 015:52:18.503 Core 2 connection closed
HM 015:52:18.971 Core 5 agent process started
HM 015:52:18.971 Core 5 connecting to 127.0.0.1:3004
OG 015:52:19.524 Core 4 connection closed
FP 015:52:21.647 Core 5 connected
FI 015:52:21.649 Core 5 authorized (agent build 1375)
NE 015:52:21.679 Core 5 common synchronization completed
GO 015:52:23.410 Core 5 connection closed
MH 015:52:33.652 Core 1 agent process started
RP 015:52:33.653 Core 1 connecting to 127.0.0.1:3000
KE 015:52:33.655 Core 6 agent process started
LE 015:52:33.655 Core 6 connecting to 127.0.0.1:3005
PR 015:52:33.658 Core 8 agent process started
DF 015:52:33.658 Core 8 connecting to 127.0.0.1:3008
HP 015:52:33.828 Tester file cache used 18 times
LG 015:52:33.828 Tester optimization finished, total passes 31
FP 015:52:33.828 Statistics optimization done in0 minutes 44 seconds
MD 015:52:33.828 Statistics local 13 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)
ER 215:52:33.878 Core 1 failed to send stop command
FE 015:52:33.878 Core 1 connection closed
HN 215:52:33.928 Core 6 failed to send stop command
OH 015:52:33.928 Core 6 connection closed
EJ 215:52:33.978 Core 8 failed to send stop command
FL 015:52:33.978 Core 8 connection closed
DH 015:52:33.979 Tester 13 records written to file cache Z:\MetaTrader 5\tester\cache\PowerTrender.RTS Splice.H1.2.xml
EG 315:52:33.979 Tester stopped by user
La firma del error es la siguiente:
Сигнатура проблемы:
Имя события проблемы: APPCRASH
Имя приложения: metatester64.exe
Версия приложения: 5.0.0.1375
Отметка времени приложения: 00623 e00
Имя модуля с ошибкой: StackHash_ef12
Версия модуля с ошибкой: 6.1.7601.17514
Отметка времени модуля с ошибкой: 4 ce7c8f9
Код исключения: c0000374
Смещение исключения: 00000000000 c40f2
Версия ОС: 6.1.7601.2.1.0.256.1
Код языка: 1049
Дополнительные сведения 1: ef12
Дополнительные сведения 2: ef1284acb2700557506bfd58d3b2b94d
Дополнительные сведения 3: e9c5
Дополнительные сведения 4: e9c5ba00b1c29dae6bd463df717d650f
Ознакомьтесь с заявлением о конфиденциальности в Интернете:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0419
Если заявление о конфиденциальности в Интернете недоступно, ознакомьтесь с его локальным вариантом:
C:\Windows\system32\ru-RU\erofflps.txt
Intenté comentar la creación de una manija indicadora. El error desapareció y el Asesor Experto realizó todas las ejecuciones con normalidad, aunque en vano.
Por eso escribo aquí antes de enviar los mensajes al Servicio de Atención al Cliente: ¿Tal vez hay algo especial cuando se trabaja con indicadores en el probador de estrategias? ¿Tal vez sea necesario llamar a IndicatorRelease en alguna parte? Si alguien sabe cómo solucionarlo, por favor escriba.
Estoy escribiendo un Asesor Experto que llama al indicador ex5. El Asesor Experto funciona correctamente en el probador de estrategias, pero si ejecuto la optimización, los agentes se bloquean al final de la ejecución:
Si pulso el botón de cierre, después de un tiempo el agente se reinicia y realiza una nueva ejecución, y luego se bloquea de nuevo.
El análisis de los registros no dio nada:
La firma del error es la siguiente:
Intenté comentar la creación de una manija indicadora. El error desapareció y el Asesor Experto realizó todas las ejecuciones con normalidad, aunque en vano.
Por eso escribo aquí antes de enviar los mensajes al Servicio de Atención al Cliente: ¿Tal vez hay algo especial cuando se trabaja con indicadores en el probador de estrategias? ¿Tal vez sea necesario llamar a IndicatorRelease en alguna parte? Si alguien sabe cómo solucionarlo, por favor escriba.
Mejor servicedesk con todos los detalles, ya lo resolveremos.
Cuándo tendrá MT4 la posibilidad de copiar una línea del libro de registro y no obtener una codificación diferente al pegarla:
2016.08.03 00:03:36.699 2013.04.26 10:15 Kamikadze_MA_V_04_42_Fibo_05_Regressor_T_K GBPUSD,M15: Magic=111Îrder 322 SELLSTOP not ìîäèè. Oferta (1,5448) menos que el precio de apertura (1,5498)
Al copiar del cuaderno de bitácora, asegúrese de que el diseño en win es ruso.
Al hacer la depuración paso a paso en mt5, cuando pongo un punto de interrupción, el robot se para y ya está, no funciona la depuración posterior paso a paso. Si hago la depuración en el historial, entonces todo es normal. ¿Soy yo o lo tengo todo? Parece que no hace mucho funcionaba bien.
Me gustaría volver a plantear el problema de la lentitud de la compilación de MQL5. Hace unos tres meses intenté plantear este problema, pero no se entendió, aparentemente mis argumentos no fueron lo suficientemente convincentes. Por lo tanto, volví a la antigua compilación (1159), que compilaba todo casi instantáneamente (mientras que con los nuevos compiladores mi proyecto se compilaba en 20 segundos).
Así que hace una semana he intentado cambiar a una nueva compilación. Pensé "olvídate de los 20 segundos, me aguantaré por el bien de las cosas nuevas". Por supuesto, tuve que retocar un poco el código para cumplir con las nuevas condiciones, lo que reveló varios errores del nuevo compilador (descritos aquí).El resultado es que mi proyecto lleva ya 30 segundos compilando! No sé si tiene que ver con la complicación del proyecto o con una "complicación" más del compilador, pero ya no cuela.
El proyecto contiene unos 700 Kb de código fuente, es un Asesor Experto que contiene un par de docenas de mqh. Todo es OOP. La gente me escribió antes que la ralentización es probablemente causada por las funciones grandes. Los he fragmentado en partes más pequeñas y no tienen ningún efecto.
Lo más sorprendente es que esta recopilación superlarga no sirve para nada. La velocidad del programa es la misma que con el antiguo compilador, lo he medido expresamente. Eso sólo pide una frase: "¿Para qué?".
Tengo la fuerte sensación de que hay un error/mal funcionamiento en el compilador debido al cual está corriendo ociosamente por un espacio vacío. Cómo si no puedo explicar el hecho de que un script absolutamente vacío con sólo la función OpenStart() { } compila más de 400 ms!Es inimaginable que se pueda tardar tanto en compilar/optimizar un script vacío. Pues bien, añadiendo pequeñas funciones y clases en él, se puede ver cómo crece rápidamente el tiempo de compilación.
Quiero decir de inmediato que mi hardware está, por supuesto, lejos de ser potente - Core i5U. Pero esto no impide que mi proyecto se compila en 1-2 segundos en un compilador de edad. Respectivamente, el maniquí se compila allí en un momento.
También voy a tomar nota. El compilador carece por completo no sólo de caché de los fragmentos compilados anteriormente, sino incluso de una comprobación trivial para asegurarse de que el código fuente era idéntico. Es decir, compilas tu proyecto y luego haces clic en el botón "Compilar" de nuevo sin hacer ningún cambio y vuelves a esperar los mismos 30 segundos. ¿Qué tan bueno es eso?
Me gustaría escuchar los comentarios de los desarrolladores de MT y de los usuarios del foro que trabajan con proyectos grandes (¿soy sólo yo quien está preocupado por este problema?), cuánto tiempo tarda en compilar y en qué hardware. Nos gustaría señalar que estamos hablando de compilar un ejecutable.
Estoy escribiendo un Asesor Experto que llama al indicador ex5. El Asesor Experto funciona correctamente en el probador de estrategias, pero si ejecuto la optimización, los agentes se bloquean al final de la ejecución:
Si pulso el botón de cierre, después de un tiempo el agente se reinicia y realiza una nueva ejecución, y luego se bloquea de nuevo.
El análisis de los registros no dio nada:
La firma del error es la siguiente:
Intenté comentar la creación de una manija indicadora. El error desapareció y el Asesor Experto realizó todas las ejecuciones con normalidad, aunque en vano.
Por eso escribo aquí antes de enviar los mensajes al Servicio de Atención al Cliente: ¿Tal vez hay algo especial cuando se trabaja con indicadores en el probador de estrategias? ¿Tal vez sea necesario llamar a IndicatorRelease en alguna parte? Si alguien sabe cómo solucionarlo, por favor escriba.
Estoy escribiendo un Asesor Experto que llama al indicador ex5. El Asesor Experto funciona correctamente en el probador de estrategias, pero si ejecuto la optimización, los agentes se bloquean al final de la ejecución:
Si pulso el botón de cierre, después de un tiempo el agente se reinicia y realiza una nueva ejecución, y luego se bloquea de nuevo.
El análisis de los registros no dio nada:
La firma del error es la siguiente:
Intenté comentar la creación de una manija indicadora. El error desapareció y el Asesor Experto realizó todas las ejecuciones con normalidad, aunque en vano.
Por eso escribo aquí antes de enviar los mensajes al Servicio de Atención al Cliente: ¿Tal vez hay algo especial cuando se trabaja con indicadores en el probador de estrategias? ¿Tal vez sea necesario llamar a IndicatorRelease en alguna parte? Si alguien sabe cómo solucionarlo, por favor escriba.
Cuándo tendrá MT4 la posibilidad de copiar una línea del libro de registro y no obtener una codificación diferente al pegarla:
2016.08.03 00:03:36.699 2013.04.26 10:15 Kamikadze_MA_V_04_42_Fibo_05_Regressor_T_K GBPUSD,M15: Magic=111Îrder 322 SELLSTOP not ìîäèè. Oferta (1,5448) inferior al precio de apertura (1,5498)Cuándo tendrá MT4 la posibilidad de copiar una línea del libro de registro y no obtener una codificación diferente al pegarla:
2016.08.03 00:03:36.699 2013.04.26 10:15 Kamikadze_MA_V_04_42_Fibo_05_Regressor_T_K GBPUSD,M15: Magic=111Îrder 322 SELLSTOP not ìîäèè. Oferta (1,5448) menos que el precio de apertura (1,5498)Al copiar del cuaderno de bitácora, asegúrese de que el diseño en win es ruso.
Gracias. Siempre tengo un diseño en inglés por defecto.
Pero, ¿por qué tengo que usar todo tipo de trucos...
Gracias. Siempre tengo un diseño en inglés por defecto.
Pero, ¿por qué tengo que usar todo tipo de trucos...
Usa MT5, donde todo está en unicode y no hay esos problemas.
No tengo dinero para MT5 - Opero con cuentas de centavos y el DC no tiene prisa por abrirlas por cinco dólares.
Me gustaría volver a plantear el problema de la lentitud de la compilación de MQL5. Hace unos tres meses intenté plantear este problema, pero no se entendió, aparentemente mis argumentos no fueron lo suficientemente convincentes. Por lo tanto, volví a la antigua compilación (1159), que compilaba todo casi instantáneamente (mientras que con los nuevos compiladores mi proyecto se compilaba en 20 segundos).
Así que hace una semana he intentado cambiar a una nueva compilación. Pensé "olvídate de los 20 segundos, me aguantaré por el bien de las cosas nuevas". Por supuesto, tuve que retocar un poco el código para cumplir con las nuevas condiciones, lo que reveló varios errores del nuevo compilador (descritos aquí).El resultado es que mi proyecto lleva ya 30 segundos compilando! No sé si tiene que ver con la complicación del proyecto o con una "complicación" más del compilador, pero ya no cuela.
El proyecto contiene unos 700 Kb de código fuente, es un Asesor Experto que contiene un par de docenas de mqh. Todo es OOP. La gente me escribió antes que la ralentización es probablemente causada por las funciones grandes. Los he fragmentado en partes más pequeñas y no tienen ningún efecto.
Lo más sorprendente es que esta recopilación superlarga no sirve para nada. La velocidad del programa es la misma que con el antiguo compilador, lo he medido expresamente. Eso sólo pide una frase: "¿Para qué?".
Tengo la fuerte sensación de que hay un error/mal funcionamiento en el compilador debido al cual está corriendo ociosamente por un espacio vacío. Cómo si no puedo explicar el hecho de que un script absolutamente vacío con sólo la función OpenStart() { } compila más de 400 ms!Es inimaginable que se pueda tardar tanto en compilar/optimizar un script vacío. Pues bien, añadiendo pequeñas funciones y clases en él, se puede ver cómo crece rápidamente el tiempo de compilación.
Quiero decir de inmediato que mi hardware está, por supuesto, lejos de ser potente - Core i5U. Pero esto no impide que mi proyecto se compila en 1-2 segundos en un compilador de edad. Respectivamente, el maniquí se compila allí en un momento.
También voy a tomar nota. El compilador carece por completo no sólo de caché de los fragmentos compilados anteriormente, sino incluso de una comprobación trivial para asegurarse de que el código fuente era idéntico. Es decir, compilas tu proyecto y luego haces clic en el botón "Compilar" de nuevo sin hacer ningún cambio y vuelves a esperar los mismos 30 segundos. ¿Qué tan bueno es eso?
Me gustaría escuchar los comentarios de los desarrolladores de MT y de los usuarios del foro que trabajan con proyectos grandes (¿soy sólo yo quien está preocupado por este problema?), cuánto tiempo tarda en compilar y en qué hardware. Nos gustaría señalar que estamos hablando de compilar un ejecutable.
Código deproyecto de 400 kB
en mt4 se compila en 888 mseg.
el mismo proyecto en mt5 compila 4103 ms
Aunque a veces algunos proyectos con 50Kb de código son algo lentos, pero ocurre de vez en cuando y no me molesta.