Errores, fallos, preguntas - página 1851
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Gracias por su respuesta.
En general, los resultados son los que he mostrado en mis posts.
He estado probando en uno normal.
Y, sin embargo, los resultados entre MT4 y MT5 son casi 200 veces diferentes (debido a -debe controlar la sincronización completa con los datos del servidor? y el ping? ).
Alrededor de 0,6ms en MT4 lo voy a resolver todavía. Al parecer, los datos ya están preparados de antemano y, por tanto, esta cifra no muestra los costes reales.
MT4 tiene una ideología bastante diferente y, de hecho, el terminal copia una gran cantidad de datos para cada script/experto en el nivel del sistema fuera del código MQL4. Por lo tanto, las mediciones realizadas en MQL4 no suelen demostrar el consumo real de recursos para la recepción de datos. Los gastos, por supuesto, existen, pero están a otro nivel: el sistema es responsable de ellos.
Está claro que el mecanismo de MT4 (crear copias de datos de mercado para cada robot) no puede aplicarse cuando su tarea se escala a flujos de datos infinitos (historial profundo, decenas de miles de instrumentos). Por lo tanto, he tenido que cambiar y mejorar drásticamente MQL5 deshaciéndome de los accesos directos Open/High/Low/Close y cambiando a las funciones CopyXXX. Considerando el tamaño de los datos de MT5, es demasiado caro para un Asesor Experto construir la copia de EURUSD M1 para 6 millones de barras.
MT5/MQL5 utiliza la estrategia de carga de datos bajo demanda sin copiar por adelantado, lo que significa una mejor oportunidad para medir los costes reales del código MQL5.
Traer la base de datos a la memoria, comprobar la sincronización y preparar las cachés de un objeto complejo en MT5 en 113 milisegundos es aceptable.
Por ejemplo, debido a que MT no tiene un screener de mercado, escribí un pequeño script que añade símbolos a la vigilancia del mercado pero los precios sólo están disponibles a través de CopyClose, no están disponibles a través de SymbolInfoDouble o a través de MqlTick hasta que un símbolo se añade a la vigilancia del mercado, por lo que este script se ejecuta infinitamente cuando se ejecuta con una cantidad muy grande de símbolos. Esto es sólo un ejemplo.
No es necesario añadir los instrumentos a la visión general del mercado para obtener su historial. Cualquier referencia a los datos de los símbolos desencadena la sincronización de los datos en segundo plano.
Ahora hay un problema con el uso de un nivel excesivo de almacenamiento en caché con toda la base de datos de gráficos levantada a su máxima profundidad, incluso si se solicitan los últimos datos. Esto da lugar a una gran sobrecarga de memoria para los examinadores que comprueban cientos de gráficos.
La tarea ya se ha configurado para cambiar esta estrategia y recoger los datos a no más de 500 barras de la fecha más lejana de la solicitud. Esto permitirá redactar sin problemas los filtros de mercado.
¿Cuál es el camino correcto?
Tú preguntaste, tú respondiste:) Pues sí, lo es.
Tú preguntaste, tú respondiste:) Pues sí, así es.
Todavía no he visto una llamada de operador de plantilla acortada.
Hace años que no trabajo con estructuras. Si necesita iniciar un elemento de matriz de estructura completo, será una operación de cadena. Y el elemento entero de esa cadena convertida lo iniciaste correctamente, que es lo que reportó el compilador. Si quieres iniciar, comparar o manejar de alguna manera matrices de estructuras, pregunta cómo se representan/almacenan en MQL. No es nada complicado y agiliza mucho el trabajo.
Necesito saber qué entrada de sintaxis es la versión abreviada de esto
Struct[0].
A quién cómo
Struct[0].
Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading
Bichos, errores, preguntas
fxsaber, 2017.04.12 14:27
Estas dos llamadas son diferentes.
Debe haber una entrada abreviada correspondiente para cada uno. ¿Cuál?
Necesito saber qué entrada de sintaxis es una versión abreviada de esto
Ninguna entrada puede proporcionarle lo que desea. Fundamentalmente. Semánticamente.