Errores, fallos, preguntas - página 2619

 
Slava:

Exactamente la herramienta.

El botón F5 en el gráfico, seleccionando "Refrescar" en el menú contextual del gráfico hace lo mismo que ChartSetSymbolPeriod(NULL,0,0). A saber, la actualización de los datos de los precios.

Después de la respuesta del servidor todas las cachés de los períodos de esta misma herramienta serán reconstruidas a la fuerza. Cuantas más cachés, más tiempo de reconstrucción (la interfaz, por cierto, no se congela).

Presiona F5 y cronometra la línea Calc en el registro del Asesor Experto

El botón F5 y el elemento del menú contextual Actualizar funcionan de manera diferente: F5 visualmente no hace nada, Actualizar suspende el terminal de la misma manera.

 
Slava:

Cuando se recibe una respuesta del servidor, se reconstruyen forzosamente todas las cachés de los períodos de esta misma herramienta. Cuantos más cachés, más tiempo se tarda en reconstruir (la interfaz no se congela, por cierto).

Entonces esto es una actualización muy dura. En MQL necesitamos alguna forma más fácil de actualizar un solo indicador, sin que se produzcan desventajas en las cotizaciones y en los cachés.

 
Stanislav Korotky:

El botón F5 y el elemento del menú contextual Actualizar funcionan de manera diferente: F5 visualmente no hace nada, Actualizar suspende el terminal de la misma manera.

Sí, exactamente. En MT5 pulsar F5 no refresca los datos (a diferencia de MT4)

¿Refrescar suspende el terminal? ¿Al estado "(sin respuesta)"? ¿Ni siquiera puedes cambiar de pestaña?

 
Slava:

Sí, así es. En MT5 pulsar F5 no provoca la actualización de los datos (a diferencia de MT4)

¿Refrescar suspende el terminal? ¿Al estado de "(no responde)"? ¿Ni siquiera puedes cambiar de pestaña?

No hay "suspensión" es suave, todo funciona, sólo el gráfico actualizado es "pensar" y la CPU es 100%.

PS. Conseguí averiguar que se trata de la configuración del número"ilimitado" de barras. Ajústalo a 1 millón y ahora el retardo de actualización es de 1 segundo. Supongo que si lo pones a unos pocos miles, no se notará.

Pero esto no hace más que confirmar la necesidad de un ligero refresco - de hecho sólo es necesario generar un falso tick para activar OnCalculate.

 
Stanislav Korotky :

No hay "suspensión" es suave, todo funciona, sólo el gráfico actualizado "piensa" y la CPU es 100%.

PS. Logré averiguar que se trata de establecer un número "ilimitado" de barras. Ajústalo a 1 millón y ahora el retardo de actualización es de 1 segundo. Supongo que si lo pones a unos pocos miles, no se notará.

Pero esto sólo confirma la necesidad de un ligero refresco - de hecho sólo se necesita una generación de ticks falsos para activar OnCalculate.

Ya se preguntó hace más de 6 meses.

Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading

Nueva versión de la plataforma MetaTrader 5 build 2007: calendario económico, programas MQL5 como servicios

Alain Verleyen, 2019.05.09 15:59

1° Bien, pero podrían actualizar la documentación.

2 ° Me gustaría actualizar (llamar a OnCalculate) SOLO en el indicador actual. ¿Es esto posible? Necesito que el servicio envíe un evento personalizado a 1 indicador y que éste se actualice. Si esto no es posible actualmente, ¿podría añadir una forma de hacerlo?

Puedo actualizar el cálculo yo mismo, pero entonces: a. Tengo que recoger los datos de OHLC con las funciones CopyXXX (en lugar de ser proporcionados por OnCalculate) y b. 'prev_calculado' no está configurado correctamente.


 
Si durante la optimización un parámetro del usuario da el mismo número negativo, la ventana del gráfico muestra ceros en lugar de estos números negativos... Si cambias su altura, todo es correcto.
 
Михаил:
Si durante la optimización un parámetro del usuario da el mismo número negativo, la ventana del gráfico muestra ceros en lugar de estos números negativos... Si cambias su altura, todo es correcto.

Corrección de

 

No puedo entender por qué ocurre esto:

no hay controles de tiempo ni nada parecido en el código - las mismas fórmulas para todas las barras.

Al principio pensé que la precisión es escasa - no, no lo es...

Si el indicador se hace con cierre no serial, por el contrario, los valores más recientes son erróneos, los más antiguos son correctos.

Archivos adjuntos:
 

La imagen muestra dos versiones, una encima de la otra:

En la nueva versión en lugar del índice de barra pasamos el desplazamiento relativo al inicio del cálculo. pero en general, el doble, debería ser más que suficiente para esos órdenes de magnitud. no?

Archivos adjuntos:
 

No sé si es un bug o no, pero cuando se publica una nueva versión del EA es imposible cambiar su precio.

El sitio no da ninguna advertencia.

Hay un aviso de que no será posible cambiar el precio en las próximas 24 horas.

Subí una nueva versión del EA, la guardé, luego intenté cambiar el precio, recibí un mensaje sobre las 24 horas, hice clic en guardar y aplicar y no se guardó nada.

Lo hice desde dos navegadores.