A100: Naturalmente, no se ejecuta ningún experto/indicador/script, sólo se construye manualmente. La latencia indicada es reproducible en cualquier tableta moderna media de 64 bits. Si tienes un ordenador i7, no creo que te hayas encontrado con este retraso
En el otro Terminal, la Optimización se ejecuta en paralelo en seis Agentes locales de los ocho posibles.
Si se trata de interrupciones de la red, ¿por qué afecta a la obtención del último tic del Market Watch y a la obtención del último tic del historial de tics?
ZZY El registro de la Terminal está en el mismo tramo.
2020.09.0601:48:38.338 Network '': scanning network for access points
2020.09.0601:48:40.195 Network '': scanning network finished
2020.09.0603:57:04.504 Network '': connection to RannForex-Server lost
2020.09.0603:57:15.249 Network '': authorized on RannForex-Server through as.eu 6 (ping: 56.41 ms, build 2560)
2020.09.0603:57:15.249 Network '': previous successful authorization performed from xx.xx.xx.xx on 2020.09.0521:59:422020.09.0603:57:15.678 Network '': terminal synchronized with RannForex Limited: 1 positions, 0 orders, 67 symbols, 0 spreads
2020.09.0603:57:15.678 Network '': trading has been enabled - hedging mode
2020.09.0603:57:17.500 Network '': scanning network for access points
2020.09.0603:57:20.416 Network '': scanning network finished
2020.09.0605:10:52.296 Network '': connection to RannForex-Server lost
2020.09.0605:10:53.033 Network '': authorized on RannForex-Server through as.eu 6 (ping: 56.31 ms, build 2560)
2020.09.0605:10:53.033 Network '': previous successful authorization performed from xx.xx.xx.xx on 2020.09.0605:10:592020.09.0605:10:53.299 Network '': terminal synchronized with RannForex Limited: 1 positions, 0 orders, 67 symbols, 0 spreads
2020.09.0605:10:53.299 Network '': trading has been enabled - hedging mode
2020.09.0609:57:18.310 Network '': scanning network for access points
2020.09.0609:57:20.396 Network '': scanning network finished
2020.09.0609:57:20.396 Network '': auto connecting to a better access point with 93 % quality (previous: 77 %)
2020.09.0609:57:20.397 Network '': connection to RannForex-Server lost
2020.09.0609:57:21.151 Network '': authorized on RannForex-Server through as.eu 5 (ping: 41.60 ms, build 2560)
2020.09.0609:57:21.151 Network '': previous successful authorization performed from
xx.xx.xx.xx on 2020.09.0605:10:592020.09.0609:57:21.208 Network '': terminal synchronized with RannForex Limited: 1 positions, 0 orders, 67 symbols, 0 spreads
2020.09.0609:57:21.208 Network '': trading has been enabled - hedging mode
2020.09.0611:08:16.952 Network '': connection to RannForex-Server lost
2020.09.0611:11:48.892 Network '': authorized on RannForex-Server
2020.09.0611:11:48.892 Network '': previous successful authorization performed from xx.xx.xx.xx on 2020.09.0611:11:552020.09.0611:11:48.970 Network '': terminal synchronized with RannForex Limited: 1 positions, 0 orders, 67 symbols, 0 spreads
2020.09.0611:11:48.970 Network '': trading has been enabled - hedging mode
2020.09.0611:11:49.152 Network '': scanning network for access points
2020.09.0611:11:51.319 Network '': scanning network finished
2020.09.0611:11:51.319 Network '': auto connecting to a better access point with 92 % quality (previous: 91 %)
2020.09.0611:11:51.320 Network '': connection to RannForex-Server lost
2020.09.0611:11:52.035 Network '': authorized on RannForex-Server through as.eu 5 (ping: 43.31 ms, build 2560)
2020.09.0611:11:52.035 Network '': previous successful authorization performed from xx.xx.xx.xx on 2020.09.0611:11:552020.09.0611:11:52.088 Network '': terminal synchronized with RannForex Limited: 1 positions, 0 orders, 67 symbols, 0 spreads
2020.09.0611:11:52.088 Network '': trading has been enabled - hedging mode
2020.09.0617:11:49.928 Network '': scanning network for access points
2020.09.0617:11:52.112 Network '': scanning network finished
Si se trata de interrupciones de la red, ¿por qué afecta a la obtención del último tic del Market Watch y a la obtención del último tic del historial de tics?
Un análisis cuidadoso ha demostrado que CopyTicks se ralentiza cuando hay interrupciones en la red.
2020.09.0621:22:24.105Alert: Time[NewTicks.mqh 43: ::CopyTicks(_Symbol,Tick,COPY_TICKS_ALL,0,1)] = 1619 ms.
2020.09.0621:22:24.515Alert: Time[NewTicks.mqh 43: ::CopyTicks(_Symbol,Tick,COPY_TICKS_ALL,0,1)] = 2347 ms.
2020.09.0621:22:53.814Alert: Time[NewTicks.mqh 43: ::CopyTicks(_Symbol,Tick,COPY_TICKS_ALL,0,1)] = 274 ms.
2020.09.0621:22:53.814Alert: Time[NewTicks.mqh 43: ::CopyTicks(_Symbol,Tick,COPY_TICKS_ALL,0,1)] = 686 ms.
2020.09.0621:20:59.301 Network connection to RannForex-Server lost
2020.09.0621:22:21.043 Network authorized on RannForex-Server
2020.09.0621:22:21.043 Network previous successful authorization performed from xx.xx.xx.xx on 2020.09.0611:11:592020.09.0621:22:21.508 Network terminal synchronized with RannForex Limited: 1 positions, 0 orders, 67 symbols, 0 spreads
2020.09.0621:22:21.508 Network trading has been enabled - hedging mode
2020.09.0621:22:21.915 Network scanning network for access points
2020.09.0621:22:28.819 Network scanning network finished
2020.09.0621:22:45.523 Network connection to RannForex-Server lost
2020.09.0621:22:52.951 Network authorized on RannForex-Server through as.eu 6 (ping: 56.55 ms, build 2560)
2020.09.0621:22:52.951 Network previous successful authorization performed from xx.xx.xx.xx on 2020.09.0621:22:282020.09.0621:22:53.024 Network terminal synchronized with RannForex Limited: 1 positions, 0 orders, 67 symbols, 0 spreads
2020.09.0621:22:53.024 Network trading has been enabled - hedging mode
if (OrderSend(Request, Result))
_B2(HistorySelect(0, INT_MAX)); // В каком месте самострел?
En primer lugar, para su información.
"Si lacomprobación de la estructura básica (comprobación del puntero) tiene éxito, se devuelve true -no indica la ejecución exitosa dela operación comercial. Para obtener una descripción más detallada del resultado de la ejecución de la función, se deben analizar los campos de la estructura deresultados."
En segundo lugar, según su lógica, si se abre un pedido, no se añade a la lista de pedidos, sino que se invalida completamente la caché)?
Usted puede que optimizar todo el código, que tiene HistorySelect será el último lugar para las preguntas sobre el tiempo de ejecución) Utilizar el almacenamiento en caché. Puede invalidarlo, por ejemplo, una vez al día, pero acelerará significativamente su EA.
if (OrderSend(Request, Result))
_B2(HistorySelect(0, INT_MAX)); // В каком месте самострел?
Veo esta lógica:
Si una solicitud de comercio se envía con éxito al servidor
Seleccionamos toda la historia
Pero puede ser que la petición ya haya sido rechazada en el servidor - no hay ninguna comprobación de esto en este código. ¿Qué sentido tiene seleccionar la historia? ¿Qué queremos ver allí?
Aquí, en estas dos líneas de código, personalmente no veo el sentido. Lo vería si hubiera un control para cambiar la historia antes de seleccionarla. Por supuesto, estas dos líneas no dan una imagen completa de la tarea. Pero no me queda clara la relación entre el envío exitoso de una solicitud al servidor y la selección de todo el historial. Aunque el servidor envíe una solicitud con éxito, la lista de órdenes de mercado y posiciones se modificará. ¿Qué tiene que ver la lista de la historia?
Si la solicitud de comercio se envía con éxito al servidor
Seleccionar todo el historial
Pero podría ser que la solicitud ya haya sido rechazada en el servidor - no hay ninguna comprobación de esto en este código. ¿Qué sentido tiene seleccionar la historia? ¿Qué queremos ver allí?
Aquí, en estas dos líneas de código, personalmente no veo el sentido. Lo vería si hubiera un control para cambiar la historia antes de seleccionarla. Por supuesto, estas dos líneas no dan una imagen completa de la tarea. Pero no me queda clara la relación entre el envío exitoso de una solicitud al servidor y la selección de todo el historial. Aunque el servidor envíe una solicitud con éxito, la lista de órdenes de mercado y posiciones se modificará. ¿Qué tiene esto que ver con la lista de la historia?
Este hilo no es para enseñar a escribir EAs. Su objetivo es eliminar los puntos débiles de la Terminal. Los desarrolladores necesitan un código sencillo, conciso y reproducible para entenderlo. No escribo nada de este tipo para mí, por supuesto. El hecho es que el Asesor de Combate registra los frenos. Empiezo a indagar y me doy cuenta de que la ralentización se produce cuando alguien (al menos a mano) modifica una posición. Esto restablece la caché del historial, aunque el historial no cambia, por supuesto.
El código demuestra perfectamente el problema. Nunca hay necesidad de abarrotar el código de reproducción con comprobaciones innecesarias. Su trabajo es mostrar claramente el problema. Y cuando se arregla - para probar que todo funciona correctamente ahora.
Este código lo tomaste de otro lugar y tienes ahí una nueva creación de posición, que se ejecuta, ¿no?
Si no, todo el sentido de tu código se reduce a actualizar el TP de la posición actual e invalidar la caché porque sí, lo cual también es muy extraño.
En cualquiera de estos dos casos no se utiliza ninguna lógica para optimizar la operación de caché. Además, su solución no es escalable, ya que conduce a un aumento de la frenada a medida que el historial crece.
El código demuestra perfectamente el problema. No hay necesidad de abarrotar el código de reproducción con comprobaciones innecesarias. Su trabajo es mostrar claramente el problema. Y cuando se corrige - para probar que todo funciona correctamente ahora.
Así que según tu lógica, este código de aquí
int v = 0.0;
for (int i = 0; i < 1000000; i++) {
v = i;
}
std::cout << "The last number: " << v << std::endl;
Naturalmente, no se ejecuta ningún experto/indicador/script, sólo se construye manualmente. La latencia indicada es reproducible en cualquier tableta moderna media de 64 bits. Si tienes un ordenador i7, no creo que te hayas encontrado con este retraso
¿es el apk o el sistema exe el que se ralentiza?
En el otro Terminal, la Optimización se ejecuta en paralelo en seis Agentes locales de los ocho posibles.
Si se trata de interrupciones de la red, ¿por qué afecta a la obtención del último tic del Market Watch y a la obtención del último tic del historial de tics?
ZZY El registro de la Terminal está en el mismo tramo.
Si se trata de interrupciones de la red, ¿por qué afecta a la obtención del último tic del Market Watch y a la obtención del último tic del historial de tics?
Un análisis cuidadoso ha demostrado que CopyTicks se ralentiza cuando hay interrupciones en la red.
En primer lugar, para su información.
"Si lacomprobación de la estructura básica (comprobación del puntero) tiene éxito, se devuelve true -no indica la ejecución exitosa de la operación comercial. Para obtener una descripción más detallada del resultado de la ejecución de la función, se deben analizar los campos de la estructura deresultados."
En segundo lugar, según su lógica, si se abre un pedido, no se añade a la lista de pedidos, sino que se invalida completamente la caché)?
Usted puede que optimizar todo el código, que tiene HistorySelect será el último lugar para las preguntas sobre el tiempo de ejecución) Utilizar el almacenamiento en caché. Puede invalidarlo, por ejemplo, una vez al día, pero acelerará significativamente su EA.
Bueno, en primer lugar
Hay que ejecutar el código para entenderlo correctamente, o leerlo muy bien desde una hoja de cálculo.
En segundo lugar, según su lógica, si se abre un pedido, no se añade a la lista de pedidos, sino que se invalida la caché por completo)?
La lista de pedidos no cambia. Lee el código.
para entender el código correctamente, hay que ejecutarlo o leerlo muy bien de la hoja.
La lista de pedidos no cambia. Lee el código.
Aquí
Veo esta lógica:
Pero puede ser que la petición ya haya sido rechazada en el servidor - no hay ninguna comprobación de esto en este código. ¿Qué sentido tiene seleccionar la historia? ¿Qué queremos ver allí?
Aquí, en estas dos líneas de código, personalmente no veo el sentido. Lo vería si hubiera un control para cambiar la historia antes de seleccionarla. Por supuesto, estas dos líneas no dan una imagen completa de la tarea. Pero no me queda clara la relación entre el envío exitoso de una solicitud al servidor y la selección de todo el historial. Aunque el servidor envíe una solicitud con éxito, la lista de órdenes de mercado y posiciones se modificará. ¿Qué tiene que ver la lista de la historia?
Aquí es donde
Veo esta lógica:
Pero podría ser que la solicitud ya haya sido rechazada en el servidor - no hay ninguna comprobación de esto en este código. ¿Qué sentido tiene seleccionar la historia? ¿Qué queremos ver allí?
Aquí, en estas dos líneas de código, personalmente no veo el sentido. Lo vería si hubiera un control para cambiar la historia antes de seleccionarla. Por supuesto, estas dos líneas no dan una imagen completa de la tarea. Pero no me queda clara la relación entre el envío exitoso de una solicitud al servidor y la selección de todo el historial. Aunque el servidor envíe una solicitud con éxito, la lista de órdenes de mercado y posiciones se modificará. ¿Qué tiene esto que ver con la lista de la historia?
Si - para deshacerse de la advertencia del compilador. No tiene nada más que hacer.
Este hilo no es para enseñar a escribir EAs. Su objetivo es eliminar los puntos débiles de la Terminal. Los desarrolladores necesitan un código sencillo, conciso y reproducible para entenderlo. No escribo nada de este tipo para mí, por supuesto. El hecho es que el Asesor de Combate registra los frenos. Empiezo a indagar y me doy cuenta de que la ralentización se produce cuando alguien (al menos a mano) modifica una posición. Esto restablece la caché del historial, aunque el historial no cambia, por supuesto.
El código demuestra perfectamente el problema. Nunca hay necesidad de abarrotar el código de reproducción con comprobaciones innecesarias. Su trabajo es mostrar claramente el problema. Y cuando se arregla - para probar que todo funciona correctamente ahora.
para entender el código correctamente, hay que ejecutarlo o leerlo muy bien de la hoja.
La lista de pedidos no cambia. Lee el código.
Considera que soy muy bueno leyendo de la hoja :)
Este código lo tomaste de otro lugar y tienes ahí una nueva creación de posición, que se ejecuta, ¿no?
Si no, todo el sentido de tu código se reduce a actualizar el TP de la posición actual e invalidar la caché porque sí, lo cual también es muy extraño.
En cualquiera de estos dos casos no se utiliza ninguna lógica para optimizar la operación de caché. Además, su solución no es escalable, ya que conduce a un aumento de la frenada a medida que el historial crece.
El código demuestra perfectamente el problema. No hay necesidad de abarrotar el código de reproducción con comprobaciones innecesarias. Su trabajo es mostrar claramente el problema. Y cuando se corrige - para probar que todo funciona correctamente ahora.
Así que según tu lógica, este código de aquí
demuestra la lentitud del procesador?
Has sacado este código de algún sitio y lo tienes ahí creando una nueva posición, que sí se ejecuta, ¿no?
Así que, según tu lógica, este código de aquí
muestra la lentitud del procesador?