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
¿Quizás con hacer un par de pruebas las preguntas desaparezcan?
Tal vez. Me gustaría tener más tiempo para hacer las pruebas yo mismo :(
¿Quizás con hacer un par de pruebas las preguntas desaparezcan?
Las pruebas sólo muestran una diferencia la primera vez que se inicia.
Symbol(), las entradas _Symbol son equivalentes a NULL (donde se permite NULL en lugar del nombre del símbolo).
En este caso, no hay ninguna comprobación adicional de la existencia del símbolo actual, la presencia del símbolo actual en la vigilancia del mercado y las propiedades de llamada innecesarias del símbolo actual, ya que las propiedades del carácter actual se almacenan en la memoria caché
Es decir, si se especifica un parámetro de cadena normal en lugar de Symbol(), _Symbol o NULL, entonces se comprueba el programa completo y más llamadas a propiedades
Pregunta:
- El comportamiento de las llamadas a SymbolInfoXXX en estos dos casos, ¿difieren en algo más que una comprobación?
?
Por cierto, de los registros frescos de hoy de la última versión de MT5:
Eran 3 EAs rondando un símbolo, cada uno en su propio gráfico. Y la petición continúa cada vez que hay un tic. Tales picos son, por supuesto, infrecuentes, pero de hecho 1 solicitud de nuevos ticks procedente del último tick se ejecutó 700 ms.
Llevo unas 12 horas de monitorización, pero ya veo que los lags traspasan todos los límites.
3 EAs, cada uno en su propio gráfico, todos en 1 símbolo, están solicitando ticks antiguos del tick anterior a través de CopyTicksRange. Y el retraso es de casi 9 segundos. Y parece que este no es el límite. Lo más probable es que el almacén de ticks sea un recurso compartido al que se accede de forma sincronizada, pero incluso con una sincronización muy mala no debería haber esos tiempos.
Algunos dirán que es un fallo puntual. Durante esas 12 horas de seguimiento, desgraciadamente se han producido más de un centenar de salidas de 1 segundo. Y ya no parecen ráfagas puntuales. Parece que a menudo entraban múltiples garrapatas al mismo tiempo, que es lo que está causando estos picos.
Incluso si cerramos los ojos al hecho de que 3 EAs lucharon por un recurso común, veamos el otro seguimiento:
Sólo había 1 Asesor Experto en el símbolo. Y todavía un segundo y medio. No era el único, había otros EAs en otros símbolos, pero ¿no es multihilo? ¿O los ticks de los distintos símbolos pueden seguir frenando a los demás?
Esta es una funcionalidad básica para los EAs básicos. La plataforma se posiciona como una plataforma de negociación algorítmica. Dicho esto, la funcionalidad básica plantea fuertes interrogantes. Estoy seguro de que hay margen de mejora en alguna parte. O estaría muy agradecido de poder obtener los últimos ticks desde que la función ha sido llamada, como se sugiere aquí
Foro sobre comercio, sistemas de comercio automatizados y prueba de estrategias de comercio
MT5 y Speed en acción
fxsaber, 2021.03.01 07:28
Por favor, piense en esta característica.
El problema de obtener NUEVOS ticks sin saltos se resuelve ahora sólo a través de CopyTicks*. Es un mecanismo muy engorroso para esta tarea tan extendida. Es como disparar a los pájaros con un cañón.
De ahí los frenos, la retención de grandes cachés, etc.
Se ha minimizado el número de llamadas a SymbolInfoTick y CopyTicksRange:
El terminal y la máquina (archivo de intercambio deshabilitado) con esta carga.
Como resultado, se ha podido reducir considerablemente el número de mensajes de retraso (se han realizado menos llamadas) de las funciones regulares.
Registro durante 50 minutos:
No parece tan malo. No hubo transacciones comerciales. Qué tal ellos, voy a ver.
SIN EMBARGO, el fragmento resaltado muestra que tres EAs (diferentes personajes) se retrasaron casi simultáneamente. Es decir, el retraso es universal para el Terminal.
Symbol(), las entradas _Symbol son equivalentes a NULL (donde se permite NULL en lugar del nombre del símbolo).
En este caso, no hay una comprobación extra de la existencia del símbolo actual, de la presencia del símbolo actual en la vigilancia del mercado y de las propiedades de llamada innecesarias del símbolo actual, ya que las propiedades del nodo actual se almacenan en la caché
Es decir, si se especifica un parámetro de cadena simple en lugar de Symbol(), _Symbol o NULL, entonces hay comprobaciones del programa completo y más propiedades de solicitud
Por favor, explíquelo de nuevo, porque hay diferentes interpretaciones de sus palabras por parte de los usuarios del foro.
En la Terminal con un EA/característica/símbolo.
Un tronco así en 15 minutos. Parece ser una cuestión de lentitud de Windows después de todo. En este caso sí.
Un claro ejemplo de los frenos que provoca Market Watch.
Fíjese en los valores de la columna Procesador (segunda por la derecha).
Foro sobre comercio, sistemas de comercio automatizados y prueba de estrategias de comercio
Indicadores: Ping
fxsaber, 2021.03.12 10:56
Acabo de recordar este gran indicador.
Es una imagen de la máquina con cero ping. Resulta que el retraso interno del terminal tiene una media de ~2ms. Rebota entre 0-9 ms.
Por ejemplo, el servidor recibió dos ticks: el primero y el segundo después de 10 ms. Así, en Terminal el segundo tick puede recibirse no en 10 ms después del primero, sino en 10-19 ms. En promedio, es 12 ms más tarde.
Si negocia a partir del mercado (mercados u órdenes pendientes al precio actual), será especialmente difícil de gestionar. Es difícil decir si los promotores podrán mejorar algo aquí.
Si miramos la bolsa de Moscú, la situación allí es similar. De hecho, operando a través del algo de MT5, tienes casi garantizado estar al final de la cola de ejecución, no teniendo tiempo de coger lo bueno, por desgracia.