fxsaber: Añadir una orden/operación al historial de operaciones hace que la caché de HistorySelect se reconstruya completamente, no parcialmente. De ahí los retrasos en la activación de las órdenes.
b2595 - corregido, ¡Genial!
Comprobado en la historia equivocada, no lo he arreglado todavía.
En general, debido al hecho de que casi todas las funciones regulares pueden provocar un frenado, el asesor de batalla realiza cada OnTick durante varias decenas de milisegundos. Esta cantidad es consumida por la suma de las llamadas a Order*+SymbolInfoTick+Position*, etc. No hay cálculos matemáticos. Necesitas instantáneas gratuitas. Sin ellos, HDI en MT5 no funciona.
fxsaber: De todos modos, debido al hecho de que casi todas las funciones regulares pueden causar una ralentización, el Asesor Experto de batalla realiza cada OnTick durante varias decenas de milisegundos. La suma de las llamadas Order*+SymbolInfoTick+Position*, etc. se come esa cantidad. No hay cálculos matemáticos. Necesitas instantáneas gratuitas. Sin ellos, HDI en MT5 no funciona.
Algo falla en el planteamiento... Aparentemente, las funciones OnTrade son necesarias en lugar de escanear el estado desde cero en cada tick.
Algo falla en el planteamiento... Aparentemente, se necesitan funciones OnTrade, en lugar de escanear el estado desde cero en cada tick.
El paradigma OOP supone que cada sub-TC explora el entorno comercial. Sin embargo, si realmente quieres, puedes romper un poco la independencia de los objetos OOP.
Por ejemplo, hacer una instantánea completa al principio de OnTick. Y debe repetirse sólo después de la llamada de las funciones sincrónicas - OrderSend y CopyTicks.
En cuanto a OnTrade*, las interrupciones de la conexión fastidian el esquema cuando las instantáneas se hacen sólo en las funciones de OnTrade. De lo contrario, por supuesto, habría un gran ahorro.
El paradigma OOP supone que cada sub-OS explora el entorno comercial. Sin embargo, si uno realmente quiere, puede romper un poco la independencia de los objetos OOP.
Por ejemplo, hacer una instantánea completa al principio de OnTick. Y se repetirá sólo después de la llamada de las funciones sincrónicas - OrderSend y CopyTicks.
Por supuesto, el objeto de la instantánea debe ser uno.
fxsaber:
En cuanto a OnTrade*, las rupturas de enlaces fastidian el esquema cuando las instantáneas se hacen sólo en las funciones de OnTrade. De lo contrario, por supuesto, habría un gran ahorro.
¿Detectar una interrupción de la conexión y forzar la actualización de la instantánea en el siguiente tick, y luego volver al modo económico?
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
Añadir una orden/operación al historial de operaciones hace que la caché de HistorySelect se reconstruya completamente, no parcialmente. De ahí los retrasos en la activación de las órdenes.
b2595 - corregido, ¡Genial!
Comprobado en la historia equivocada, no lo he arreglado todavía.
Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading
MT5 y Speed en acción
fxsaber, 2020.09.08 19:46
Parece que b2596 se ha vuelto más rápido.
¿Pueden decirme qué hacer para evitar este tipo de cosas al comerciar?
La última línea es normal.
¿Pueden los desfases verse afectados por los EA que se ejecutan en paralelo? No hay indicadores.
SZY Perfilando en un terminal vacío.
SymbolInfoTick es una función cara.
¿Pueden los desfases verse afectados por los EA que se ejecutan en paralelo? No hay indicadores.
He lanzado un terminal vacío en paralelo y lo he probado. No he visto lo mismo.
Configuración.Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias
MT5 y Speed en acción
fxsaber, 2020.09.01 21:59
Instalado Win10, LatencyMon muestra que todo está bien.
De todos modos, debido al hecho de que casi todas las funciones regulares pueden causar una ralentización, el Asesor Experto de batalla realiza cada OnTick durante varias decenas de milisegundos. La suma de las llamadas Order*+SymbolInfoTick+Position*, etc. se come esa cantidad. No hay cálculos matemáticos. Necesitas instantáneas gratuitas. Sin ellos, HDI en MT5 no funciona.
Algo falla en el planteamiento... Aparentemente, las funciones OnTrade son necesarias en lugar de escanear el estado desde cero en cada tick.
Algo falla en el planteamiento... Aparentemente, se necesitan funciones OnTrade, en lugar de escanear el estado desde cero en cada tick.
El paradigma OOP supone que cada sub-TC explora el entorno comercial. Sin embargo, si realmente quieres, puedes romper un poco la independencia de los objetos OOP.
Por ejemplo, hacer una instantánea completa al principio de OnTick. Y debe repetirse sólo después de la llamada de las funciones sincrónicas - OrderSend y CopyTicks.
En cuanto a OnTrade*, las interrupciones de la conexión fastidian el esquema cuando las instantáneas se hacen sólo en las funciones de OnTrade. De lo contrario, por supuesto, habría un gran ahorro.
El paradigma OOP supone que cada sub-OS explora el entorno comercial. Sin embargo, si uno realmente quiere, puede romper un poco la independencia de los objetos OOP.
Por ejemplo, hacer una instantánea completa al principio de OnTick. Y se repetirá sólo después de la llamada de las funciones sincrónicas - OrderSend y CopyTicks.
Por supuesto, el objeto de la instantánea debe ser uno.
En cuanto a OnTrade*, las rupturas de enlaces fastidian el esquema cuando las instantáneas se hacen sólo en las funciones de OnTrade. De lo contrario, por supuesto, habría un gran ahorro.
¿Detectar una interrupción de la conexión y forzar la actualización de la instantánea en el siguiente tick, y luego volver al modo económico?