![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
Se planteóuna pregunta sobre FileReadArray, y en la explicación señalé que tiene una función que lee el tipo de datos equivocado.
De ahí la pregunta: ¿cómo encaja esta característica con la seguridad lingüística?
Si está bien, ¿por qué no hacer una función estándar para convertir un campo de bits al tipo correcto?
En general, o bien se ponen las cosas en orden y se elimina esta característica o se deja que la gente implemente la aritmética larga.
He aquí un ejemplo de esta función a través de un archivo de borrado:
Paranoia detectada.
Deberías pensarlo bien.
De hecho, soy partidario de considerarlo seguro y hacer su contrapartida sin usar un archivo, pero directamente.
Pero si MQ lo reconoce como inseguro, entonces también debería ser eliminado de la función.
ZZZY Por cierto tal vez me equivoque en algo hoy, no he contestado a dos preguntas, ilumíname, señala con el dedo dónde está la estupidez.
Aquí hay un ejemplo de este arreglo a través de un archivo con la limpieza del tornillo:
En las pruebas sobre cruces hay una modelización precisa y otras tasas para la conversión correcta de los beneficios y los requisitos de margen.
Pruebe a ejecutar la visualización y comprenderá inmediatamente la cantidad de cálculos basados en el número de caracteres de fondo en el marketwatch.
Desarrolla el pensamiento.
De hecho, soy partidario de considerarlo seguro y hacer su contrapartida sin usar un archivo, pero directamente.
Pero si MQ lo reconoce como inseguro, también debería ser eliminado de la función.
ZZZY Por cierto tal vez estoy realmente balbuceando hoy algo no está bien, no he respondido a dos preguntas, que realmente me ilumine, señalar el dedo donde tonto.
El archivo en sí es impersonal. No se sabe de antemano de qué manera se escribió este archivo. En otras palabras, la funcionalidad descrita anteriormente no puede ser prohibida. Por supuesto, se puede detectar organolépticamente un archivo de texto puro, y hay algunos problemas con las codificaciones Unicode y Ansi.
Así que puedes leer cualquier archivo a voluntad. Y no llevará a ninguna situación peligrosa, porque los tamaños de las lecturas (y también de las escrituras) están controlados. No podrás romper la pila. No podrá obtener una dirección en la memoria del proceso de ninguna manera.
Puedo entenderlo, pero una diferencia de velocidad de 13,7 veces... Bueno, 2x está bien. Y la alegría de cachorro de probar la velocidad en los precios de apertura en las grandes ligas ha sido sustituida por el desánimo en los cruces. Y en lugar de usar 30 agentes remotos nativos, tendremos que sobornar a los cludes de nuevo... ¡Abismo!
El archivo en sí es un archivo impersonal. No se sabe de antemano cómo se grabó el archivo. En otras palabras, la funcionalidad descrita anteriormente no puede ser prohibida. Por supuesto, es posible detectar organolépticamente un archivo de texto puro, y hay matices con las codificaciones Unicode y Ansi.
Así podrás leer cualquier archivo a voluntad. Y no se producirá ninguna situación peligrosa, porque los tamaños de las lecturas (y también de las escrituras) están controlados. No podrás romper la pila. No se puede obtener una dirección en la memoria del proceso de ninguna manera.
Entonces no veo ninguna razón para no introducir una función de lectura directa sin conversión de tipo, ala
Póngalo en una función y todo estará a salvo.
Entonces no veo ninguna razón para no introducir una función de lectura directa de datos sin conversión de tipos, ala
Ponlo en una función y todo estará a salvo.
struct __long { long v; }
__double a; __long b;
a.v=123.456;
b=a;
b.v=4638373815016729713;
no es difícil.
+ leer además de los enlaces superiores https://www.mql5.com/ru/articles/364
Y la conversión de un tipo a otro puede hacerse mediante macros o funciones.
pero no hay nada realmente complicado en ello.