Errores, fallos, preguntas - página 2961

 
Aleksei Skrypnev:

¿Qué pasa con la carga de la vpc en la RAM en el 1er lugar/procesador? Hay todo tipo de fallos debido a problemas con esto.

Hay de todo. Una máquina potente.

También me gustaría probar a ver si Windows coge la cerradura y la palanca de cambios en el vpc.

Lo hace.

 
Ha surgido una pregunta: ¿se debe recalcular el margen de cambio o no? En los informes de MT veo que no se recalcula. Por ejemplo, la cuenta está en dólares, compro gazmec o algo más cotizado en rublos (margen en rublos). En ese momento, la cuenta bloquea el margen en dólares al tipo de cambio del momento de la compra. Pero después de un tiempo, al día siguiente, por ejemplo, debido a los cambios en usdrub, en teoría, deberíamos obtener una cantidad diferente de margen en dólares.
 

Por favor, comparta su opinión sobre la tarea (MT4):

El indicador tiene que escribir el número int en alguna parte. Y el Asesor Experto debería leerlo.


Lo hice a través de variables globales. ¡Pero esta implementación me da lentitud en GlobalVariableGet hasta 100ms en el servidor remoto! Muy a menudo - decenas de ms. Aunque no utilizo GlobalVariableFlush en ningún sitio, decidí asegurarme contra posibles retrasos del disco duro y convertí todo a GlobalVariableTemp. No sirvió de nada.


Luego transferí toda la transferencia/recepción de datos a través de Recursos. Mejoró mucho. Rara vez se cuelan algunos milisegundos. Con todo, el rendimiento ha mejorado considerablemente, pasando lo peor de los frenos en un punto plano.


Sin embargo, surgió una pregunta, ¿hay alguna otra forma de resolver el problema? Pensé en escribir un número a alguna propiedad del gráfico. Tener que escurrirse por donde nunca quise.


Quién está usandoGlobalVariableGet en su VPS, puede decirme cuánto tiempo tarda en ejecutarse.

 
fxsaber:

Por favor, comparta su opinión sobre la tarea (MT4):

El indicador tiene que escribir el número int en alguna parte. Y el Asesor Experto debería leerlo.

¿No es adecuadoEventChartCustom?

¿Por qué no ponerlo en el buffer y no leerlo por el Asesor Experto? ¿O hay que lanzar el indicador por separado?

 
Andrey Khatimlianskii:

¿EventChartCustom no es adecuado?

¿Por qué no ponerlo en el buffer y leerlo por el EA? ¿O el indicador tiene que ejecutarse por separado?

Esto es HistoryTicks - capturando todos los ticks para los Asesores Expertos. Por lo tanto, EventChartCustom no es adecuado, tiene su propia cola. Lo mismo ocurre con el buffer.

 
fxsaber:

Por favor, comparta su opinión sobre la tarea (MT4):

El indicador tiene que escribir el número int en alguna parte. Y el Asesor Experto debería leerlo.


Lo hice a través de variables globales. ¡Pero esta implementación me da lentitud en GlobalVariableGet hasta 100ms en el servidor remoto! Muy a menudo - decenas de ms. Aunque no utilizo GlobalVariableFlush en ningún sitio, decidí asegurarme contra posibles retrasos del disco duro y convertí todo a GlobalVariableTemp. No sirvió de nada.

Luego transferí toda la transferencia/recepción de datos a través de Recursos. Mejoró mucho. Rara vez se cuelan algunos milisegundos. En general, el rendimiento ha mejorado considerablemente, el severo frenado a fondo ha desaparecido.

Sin embargo, surgió una pregunta, ¿hay alguna otra forma de resolver el problema? Pensé en escribir un número a alguna propiedad del gráfico. Tener que escurrirse por donde nunca quise.

Quién utilizaGlobalVariableGet en su VPS, por favor, aconsejar cuánto tiempo se tarda en ejecutar.

En el indicador se crea una variable int, se inicializa y se guarda el número.
En el indicador definir la función personalizada que devuelve esta variable.
Defina la función con la palabra clave export.
Importe esta función en el Asesor Experto desde name_indicator.ex4
Llame a la función cuando la necesite.
No he medido la velocidad.

 
¡Buenos tiempos!

Código prestado del artículo sobre objetos gráficos, MT5 si acaso.

1. El primer problema: los botones que he hecho funcionan de alguna manera en una cuenta demo/real, pero en un visualizador no. No he encontrado ninguna condición como MQLInfoInteger(MQL_TESTER) para el Probador de Estrategias.

2. He intentado añadir puntos de frenado y depurar el código pero el depurador ha ignorado los puntos de frenado.

3. ¿Por qué la depuración siempre abre la prueba en el visualizador automáticamente?

He probado a depurar en otra MT5, el mismo problema.
He implementado estas pruebas utilizando OHLC.

¿Cuál es su consejo?
 
Roman:

No está caliente, pero ya está caliente

 
A100:

No está caliente, pero ya está caliente

Para mantenerlo en caliente, utilice entonces el mapeo de archivos con la sincronización de eventos.

 
fxsaber:

Por favor, comparta su opinión sobre la tarea (MT4):

El indicador tiene que escribir el número int en alguna parte. Y el Asesor Experto debería leerlo.


Lo hice a través de variables globales. ¡Pero esta implementación me da lentitud en GlobalVariableGet hasta 100ms en el servidor remoto! Muy a menudo - decenas de ms. Aunque no utilizo GlobalVariableFlush en ningún sitio, decidí asegurarme contra posibles retrasos del disco duro y convertí todo a GlobalVariableTemp. No sirvió de nada.


Luego transferí toda la transferencia/recepción de datos a través de Recursos. Mejoró mucho. Rara vez se cuelan algunos milisegundos. En general, el rendimiento ha mejorado considerablemente, el severo frenado a fondo ha desaparecido.


Sin embargo, surgió una pregunta, ¿hay alguna otra forma de resolver el problema? Pensé en escribir un número a alguna propiedad del gráfico. Tener que escurrirse por donde nunca quise.


Quien utiliceGlobalVariableGet en su VPS, por favor, compruebe su tiempo de ejecución.

Si el uso de user32.dll no es crítico, aquí hay otra opción. No recuerdo nada sobre las medidas, pero escribí ahí abajo que parece que funciona rápido. Ahí has preguntado por qué necesito velocidad :))
solución es universal (puedo usarla entre terminales también), no se basa en eventos. Tendrás que trabajar con temporizador. Sin embargo, el tiempo mínimo entre eventos enOnChartEvent tampoco puede ser inferior a 1/64 segundos.