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
un objeto de base de datos de símbolos sincronizado. Las locomotoras de lectura/escritura se entremezclan, ya que hay una escritura de tic constante.
¿Existe un objeto de la base de datos de símbolos para todos los símbolos a la vez? Si es así, resulta que la solicitud de un tick para el EURUSD frena potencialmente la solicitud de un tick para el GBPUSD.
¿Puedes preparar un MqlTick para el momento en que se llama a OnTick, para que no se solicite a la base de datos de forma general?
¿Puedes preparar un MqlTick para OnTick, para que no sea llamado desde la base de datos en la base general?
Eso sería bueno, entonces tal vez MQL5 tendrá variables predefinidas como en 4 - Ask y Bid
Lo más probable es que la ralentización sea causada por el alto consumo de CPU en el lado de MT5 cuando se están ejecutando muchos EAs. No sé cómo es con MT4. De lo contrario, es difícil explicar por qué aparecen retrasos en un terminal vacío que funciona en paralelo.
Definitivamente, minimizar el uso de la API del entorno comercial resolverá el problema. Después del baile de la pandereta informaré de los resultados.
Lo has entendido mal. Cada EA es puramente comercial (en el Tester por ticks reales no ralentizados) y no depende de otros. Toda la lógica de negociación se ejecuta sólo en OnTick, sin spam de órdenes de negociación, sin recursividad, sin globalización y sin recursos.
OnTrade*, OnBook no se utilizan. Segundo temporizador y OnChartEvent para el caso de que se pulsen determinadas teclas.
Estoy seguro de que una implementación adecuada (por ti o por mí) de las instantáneas reducirá en gran medida el número de llamadas a las funciones regulares del entorno. En consecuencia, los retrasos se reducirán drásticamente.
Nunca pensé que llegaría a los trucos de las instantáneas. Estoy estudiando el tema, porque la implementación estándar de los EA de MT5 es penosa, por desgracia.
No creo en su caso en absoluto.
A través de TeamViewer o similar, listo para demostrar.
Por favor, indíqueme cómo reducir el consumo de memoria de la Terminal. Estoy usando ticks frescos de CopyTicks para 16 caracteres. Parece que cada CopyTicks guarda en memoria 128K ticks. No los necesito en absoluto, pero los guardo en la memoria. ¿Qué es lo que necesita casi 1,5 GB? ¿Pueden los desarrolladores ver qué parte de la memoria se utiliza para qué? Algún gestor de tareas rudimentario.
Lo más probable es que la ralentización sea causada por el alto consumo de CPU en el lado de MT5 cuando se están ejecutando muchos EAs. No sé cómo es con MT4. De lo contrario, es difícil explicar por qué aparecen retrasos en una Terminal paralela vacía.
Definitivamente, minimizar el uso de la API del entorno comercial resolverá el problema. Escribiré sobre los resultados después de bailar con panderetas.
Esto es exactamente de lo que hablaba hace unas páginas. Además, los EAs pueden ser bastante sencillos y basarse en símbolos no líquidos, es decir, la cuestión no es el número de operaciones matemáticas que tienen lugar dentro del código de cada uno de los EAs. El problema está en el propio terminal y no podremos arreglarlo mejorando nuestro código. Desgraciadamente :(
P.D. He reescrito la lógica utilizada en la mitad de mis Expert Advisors de OnBook a OnTick y he sustituido el Core i5 por Xeon E5-2678. Parecería que la velocidad debería aumentar, pero por desgracia, no se produjo el milagro :(
En casi todos los pasos.
Esperemos que las construcciones de la caché no tarden tanto, y que este retraso se deba al acceso a la base de datos durante la actualización de la misma.
¿Alguna idea de por qué mt5 no cuenta con la pestaña "Comisiones"? Sólo aparecen cuando se cierra una operación.
¿Alguna idea de por qué mt5 no cuenta con la pestaña "Comisiones"? Sólo aparecen cuando se cierra una operación.
Si ejecuta este EA en una cuenta sin posiciones ni órdenes actuales.
y luego cerrar manualmente la posición abierta por el EA, entonces habrá tres posiciones abiertas en la cobertura (en la posición neta de triple volumen).
¿Es éste el comportamiento correcto? Probablemente no entiendo bien el Terminal. Entonces, por favor, explíquese.