Características del lenguaje mql5, sutilezas y técnicas - página 102
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
Te estás pasando ) En primer lugar, pasa por la cola de mensajes. En segundo lugar, hay que hacer algunas conversiones adicionales (de ida y vuelta). Además, hay una validación en marcha.
Por cierto, no debe especificar el tamaño de la estructura explícitamente. Hay sizeof para ello.
Tal vez haya mirado algún otro código.
HH lo único que no me gusta de mi versión: he tenido que duplicar el tamaño de la línea para evitar los ceros, porque el cero se percibe como el final de la línea. Siento en mi columna vertebral que hay una solución más sencilla, pero no la he encontrado. Pero sigue funcionando más rápido.
¿SetWindowText/GetWindowText no se envían a través de mensajes?
No hay conversiones de ida y vuelta.
Por supuesto que sí. ¿A qué se debe todo este alboroto?
¿SetWindowText/GetWindowText no se envían a través de mensajes?
Y tú hablas de los mensajes de Windows... ¿Y qué? ¿Existe una alternativa más rápida para intercambiar datos entre diferentes programas en el windos sin dll homebrew?
Comprendo que te hayan ofendido mis palabras, que mi variante sea rápida. Bueno, en primer lugar, no lo he afirmado, sólo lo he sugerido. En segundo lugar, respaldé mi suposición con código de prueba, comparándolo con elmapeo de memoria.
Y si tratas de refutar aunque sea una suposición, por favor, no bases tu refutación sólo en afirmaciones. Estaré muy agradecido si me pueden disuadir y señalar la implementación más rápida del intercambio de datos entre terminales sin ninguna dll autoescrita.
No excluyo que la variante vía disco RAM sea mucho más rápida. Pero este es un tema un poco diferente, porque requiere la instalación del disco RAM y su configuración.
Por supuesto. Pero qué es eso de bailar con panderetas:
Y así, las panderetas. Es una banalidad. Y esta trivialidad, por cierto, se realiza en 50-60 ns, cuando todo el bloque de recepción de la estructura de ticks se realiza en 90 µs (90 000 ns.), es decir, estos "diamantes" ocupan sólo el 0,06 % del tiempo de recepción del bloque de datos. Además, escribí que este punto me confunde sólo en vista de la duplicación de la memoria.
Y así mi variante parece muy conveniente, simple e inteligente para el intercambio de pequeñas estructuras de datos.
Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias
Bibliotecas: HistoryTicks
Automated-Trading, 2018.03.29 11:09
Wow!
No conocía las funciones como CryptEncode yCryptDecode. Gracias.
Le echaré un vistazo.
Pero aunque a primera vista todo parece de alta tecnología, es increíblemente lento, ya que la función CryptEncode funciona dos órdenes de magnitud más lenta (microsegundos frente a decenas de nanosegundos) que lo que se ha denominado aquí como panderetas:
Entiendo que se ha ofendido por decir que mi versión era rápida. Bueno, en primer lugar, no lo he afirmado, sólo he hecho una suposición. En segundo lugar, respaldé mi suposición con código de prueba, comparándolo con elmapeo de memoria.
No me refería a la "rapidez", sino a que"puede ser más rápido que todas las soluciones existentes", por lo que he hecho varias observaciones sin ningún tipo de ataque. Y esas observaciones eran bastante justas. Pero tú, por alguna razón, primero lo niegas insistentemente ("tal vez habrásmirado otro código") y luego entras en el "¡y qué! Así queseparemos las moscas de las chuletas.
En segundo lugar, en lo que respecta a MemoryMapping (más concretamente, a su envoltorio MQL para ser exactos), nunca he dicho nada de que sea rápido. Además, en el hilo de discusión de este proyecto aquí he señalado los errores del autor que crean lags y cómo solucionarlos. Así que si vas a probar algo, pruébalo en su forma nativa, y no en la forma de las decisiones equivocadas de otra persona.
ZZY Pero aunque a primera vista todo es alta tecnología, es increíblemente lento, porque la función CryptEncode es dos órdenes de magnitud más lenta (microsegundos frente a decenas de nanosegundos) que lo que aquí se llama pandereta:
¿Para qué sirve la velocidad?
No estoy hablando de "rapidez", sino de que"puede ser más rápido que todas las soluciones existentes", por lo que hice algunas observaciones, sin ningún tipo de ataques. Y estas observaciones eran bastante justas. Sólo que primero te obstinas en negarlo por alguna razón ("quizás miraste otro código"), y luego te pones en la posición de "¡y qué! Así que vamos aseparar las moscas de las chuletas.
En primer lugar, mi post fue escrito antes de que usted haya citado su código de prueba. En segundo lugar, en cuanto a MemoryMapping (más precisamente, su envoltura MQL mencionada), nunca he afirmado que funcione rápido. Además, en el hilo de discusión de este proyecto aquí he señalado los errores del autor que crean lags y cómo solucionarlos. Así que si vas a probar algo, hazlo de forma nativa, no con las decisiones equivocadas de alguien.
Bien. De acuerdo. Eso fue demasiado fuerte.
Sólo quería decir, que posiblemente el uso de user32.dll en lugar de kernel32.dll puede resultar más rápido al enlazar dos terminales a través de WinAPI, ya que todas las implementaciones que he encontrado utilizan kernel32.dll.
¿Para qué sirve la velocidad?
Lo siento, no he entendido la pregunta.
Se pregunta: ¿por qué se necesita la velocidad del puente entre terminales?
Lo siento, no he entendido la pregunta.
Te preguntarás: ¿por qué necesitas velocidad de intercambio de datos en el puente entre terminales?
Sí.
Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading
Peculiaridades del lenguaje mql5, consejos y trucos
Nikolai Semko, 2018.09.21 13:20
Pero hasta ahora, a primera vista, todo esto, por supuesto, de alta tecnología, pero increíblemente lento, porque la función CryptEncode se ejecuta dos órdenes de magnitud más lento(microsegundos frente a decenas de nanosegundos) que lo que se llama aquí panderetas: