Características del lenguaje mql5, sutilezas y técnicas - página 99
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
Surge la necesidad de transferir por referencia sin modificación - ya sea por la velocidad, o el objeto.
Si no hay necesidad de pasarlo para modificarlo, entonces puedes ignorar todo lo que he escrito).
¿Tienes un ejemplo real en MQL5 cuando se produce este problema?
Se echa en falta un verdadero ejemplo de comodidad.
He descrito todo con detalle, tanto en palabras como en código. Si por alguna razón te parece incomprensible, es que obviamente no te enfrentas a los problemas descritos, y te felicito por ello. Buenas noches, querido amigo).
Mi post estaba probablemente destinado más a los planificadores de hardcore, y a los amantes del control de tipos.
A menudo es necesario pasar una variable como argumento de plantilla por referencia para modificarla. Sin embargo, la especificación de plantillas de C++ existente no permite, por desgracia, especificar explícitamente la no-constancia del argumento, como ocurre en las funciones normales:
En primer lugar, C++ simplemente tiene capacidades de plantillas mucho más ricas, y en segundo lugar, C++ tiene SFINAE, que te permite desordenar las cosas tanto que te pone los pelos de punta.
Eso es lo que puede parecer:
Es lo mismo que con un puntero. No puedes especificar directamente que el tipo que quieres no sea un puntero, pero puedes hacerlo a través de una especialización no compilada.esto podría ser así
Por lo que tengo entendido, provoca un error de compilación en el cuerpo de la función (que se puede llamar de todos modos), pero no afecta al proceso de selección de plantillas. Hay que manipular con el tipo del valor de retorno de la función. Pero no importa. Pero todo esto se implementa allí no sólo a través de plantillas, sino también a través del especificador decltype, que está ausente en MQL y sigue siendo necesario.
Mi post estaba probablemente dirigido más a los templadores empedernidos y a los amantes del control de tipo nerd.
Pensé que después de escribir TypeToBytes me había vuelto más competente en materia de plantillas.
Pensé que después de escribir TypeToBytes me había vuelto más competente en materia de plantillas.
Ahora me doy cuenta de que la frase "creador de patrones duro" en relación con MQL suena irónica. Es como un "programador MQL certificado". ))
El problema es que no hay nada especialmente difícil de hacer en las plantillas, y no sólo por la falta de funcionalidad adicional del lenguaje, sino también por el funcionamiento incorrecto del existente. Constantemente me encuentro con bichos.
Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading
Bichos, errores, preguntas
Slava, 2018.09.19 06:37
Para colocar un objeto por encima de todos los demás, independientemente del orden, primero hay que hacerlo invisible en todos los plazos y luego volver a hacerlo visible¡Buenas tardes!
La documentación indica explícitamente que mientras se ejecuta el manejador OnTick https://www.mql5.com/ru/docs/runtime/event_fire#newtick
está inactivo y no se manejan nuevos ticks. ¿Es lo mismo paralos manejadores OnBookEvent, OnTimer, OnChartEvent o no?
La pregunta está causada por el hecho de que en todos los manejadores anteriores uso mi propio manejo de ticks.
¡Buenas tardes!
La documentación indica explícitamente que mientras el manejador OnTick seejecuta https://www.mql5.com/ru/docs/runtime/event_fire#newtick
¿Es lo mismo para los manejadores OnBookEvent, OnTimer, OnChartEvent o no?
La pregunta está causada por el hecho de que todos los manejadores anteriores utilizan su propio manejo de ticks.
No es correcto.
Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias
Bibliotecas: HistoryTicks
fxsaber, 2018.04.10 17:53
El EA de combate en un símbolo de alta frecuencia (200-350 ticks por minuto) con órdenes comerciales frecuentes (varias veces por minuto) y un ping de 100 ms en modo estándar pierde ~5% de los ticks.
En el modo HistoryTicks no hay pérdidas.
No dude en utilizar OnTick multidivisa en MT5.
Definitivamente no es correcto.
ZZY Puede utilizar con seguridad OnTick multidivisa en MT5Z
Gracias por el enlace. En realidad, el problema no está en la pérdida de ticks, sino en la posible actualización parcial de la información al procesar la actual. Intenté resolver un problema similar cuando se comunica entre robots que operan simultáneamente
Como el robot está orientado a un servicio de hosting que utilizadllsexternos y por lo tanto es imposibleel mutex, he utilizado la emulación GlobalVariableSetOnCondition.
Gracias por el enlace. En realidad, el problema no está en la pérdida de ticks, sino en la posible actualización parcial de la información al procesar la actual. Tuve un problema similar al organizar la comunicación entre los robots que operan simultáneamente
Como mi robot está orientado a un servicio de hosting que utilizadlls deterceros y por tanto es imposibleel mutex, he utilizado la emulación de GlobalVariableSetOnCondition.
Tal vez puedas utilizar Recursos para transferir datos.