Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Programadores de C.
El ejemplo es muy sencillo en este caso. Calcular laduración total de todas las posiciones cerradas es una tarea mucho más difícil para un rendimiento rápido.
Un ejemplo es muy sencillo en este caso. Calcular laduración total de todas las posiciones cerradas es una tarea mucho más difícil para un rendimiento rápido.
Ya te expliqué la razón antes, pero no la tuviste en cuenta.
Ya te expliqué la razón antes, pero no la tuviste en cuenta.
Parece que tengo que buscar en el foro su explicación.
Parece que tengo que buscar en el foro su explicación.
La última vez tuvo un problema similar, en el que el parámetro pasado no se almacenaba en la caché, sino que se pasaba directamente al código.
Y después de que la caché, la velocidad aumentó. Siempre hay que asignar memoria para una variable y sólo usarla después.
Es lo mismo: declaras una variable, la memoria ya está asignada y el trabajo posterior con la variable será más rápido ya que no hay costes de asignación de memoria.
Esto también se aplica a la obtención de valores de las funciones mql.
Incluso los desarrolladores aquí en el foro recomendaron obtener primero un valor de una función en una variable y luego usar esa variable en una condición if()
Calcular laduración acumulada de todas las posiciones cerradas es una tarea mucho más difícil para un rendimiento rápido.
Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias
Bibliotecas: MT4Orders
fxsaber, 2020.08.29 04:17
Puede haber una opción más rápida. Pero si se da un paso a la izquierda en la condición de lo que hay que calcular, la lógica puede tener que cambiar considerablemente. No es fácil, en general.
Puede haber una opción más rápida. Pero un paso a la izquierda en la condición de lo que hay que contar, y la lógica puede tener que cambiar considerablemente. No es fácil, en general.
No es la condición, es la escritura del código.
Aunque se puede reemplazar la condición con el interruptor, funcionará más rápido que si no.
Pruebe este código, ¿se acelerará o no? Si no es así, pruebe a sustituir si no con el interruptor.
Espero que ahora entiendas el punto, que todas las declaraciones de variables deben ser puestas fuera del bucle, y no reejecutarlas 100500 veces.
Además, para cada valor devuelto, asigna memoria en forma de variable.
Esta es otra variante del código, para que no tengamos que tirar de Historia para la segunda condición.
También puede pensar qué condición se cumplirá más a menudo, ponerla primero en el bucle y continuar la iteración.
Otra variante del código, para no sacudir la Historia innecesariamente para la segunda condición.
A partir de aquí, depende de ti.
En MT4 funciona igual, sólo que la creación de la caché está oculta. En cada OnTick/OnStart de MT4 el terminal crea automáticamente y con moderación una instantánea del entorno del mercado para cada Asesor Experto.
Por lo tanto, no se puede evaluar la verdadera latencia de la preparación de datos a partir del código MQL4. Afortunadamente, en MT4 los datos son pequeños y sencillos.
posiciones cerradas.
Puedes tomarlo desde aquí.
Si lo haces tú, lo haces tú.
Pero el por qué del resultado es tan extraño, es una pregunta para Renate.
Mi sospecha es que la comprobación del hashmap DealsIn.TryGetValue
Mira bajo el perfilador.