Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 643

 
Buen día, buen día, las personas que saben de la compatibilidad de los tipos int y datetime, por favor, aconsejen. Si no me equivoco, datetime es un entero que representa el número de segundos transcurridos desde las 0 horas del 1 de enero de 1970, entonces ¿puedo asignar el valor de TimeCurrent() a una variable entera y luego compararlo con una variable de tipo datetime?
 
Андрей:
Buenas tardes, me pueden asesorar sobre la compatibilidad de los tipos int y datetime, si no me equivoco. Si no me equivoco, datetime es un entero que representa el número de segundos transcurridos desde las 0 horas del 1 de enero de 1970, ¿puedo asignar el valor de TimeCurrent() a una variable entera y luego compararlo con una variable de tipo datetime?

la fecha puede ser el doble, byte por byte

https://www.mql5.com/ru/docs/basis/types/casting

Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Часто возникает необходимость преобразовать один числовой тип в другой. Не каждый числовой тип допустимо преобразовать в другой, допустимые преобразования в MQL5 показаны на схеме: Сплошные линии со стрелками обозначают преобразования, которые выполняются без потери информации. Вместо типа char может выступать тип bool (оба занимают в памяти 1...
 
Андрей:
Buenos días, buenos días! ¿Pueden aconsejarme por favor sobre la compatibilidad de los tipos int y datetime? Si no me equivoco, datetime es un entero que representa el número de segundos transcurridos desde las 0 horas del 1 de enero de 1970, ¿puedo asignar un valor a una función TimeCurrent() en una variable entera y luego compararlo con una variable de tipo datetime?

Sí se puede, pero es mejor usar ulong

 
Sergey Maksiutenko:

Por desgracia, no lo entiendo...

Por favor, dígame.

Este código funcionará de dos maneras

1.

#property library
#property strict
//=========================
int calc (int a,int b)export
{
int c = a + b;
return(c);
}

2.

#property library
//#property strict
//=========================
int calc (int a,int b)//export
{
int c = a + b;
return(c);
}
El vídeo es de 2013, y en su momento no se pensó en la #directivaestricta de la propiedad.
 
Taras Slobodyanik:

la fecha puede tener el doble de bytes

https://www.mql5.com/ru/docs/basis/types/casting

Sí, lo leí y como no vi nada allí sobre la conversión de tipo datetime a entero, hice la pregunta aquí. Pero si el entero es de tipo ulong, ¿tendrá suficientes bytes para alojar el tiempo sin pérdida? Te explicaré por qué esta molestia. Tengo un array bidimensional que almacena datos enteros y necesito ponerle una fecha.
 
Андрей:
Sí, lo leí y como no vi nada allí sobre la conversión de tipo datetime a entero, hice la pregunta aquí. Y digamos que si un entero es de tipo ulong, ¿tendrá suficientes bytes para alojar el tiempo sin pérdida? Te explicaré por qué esta molestia. Sólo tengo un array bidimensional, que almacena datos enteros y necesito atornillar una fecha.

datetime es ulong

 
Sergey Maksiutenko:

Si te refieres a la propiedad dela biblioteca#property

Lo tengo comprobado...

Sin ella, el archivo de la biblioteca ni siquiera se compila.
Vitaly Gorbunov:

Voy a fumar para no escribir tan bruscamente e intentar explicaros lo que es la #propiedadestricta.

No te molestes.

Entiendo que no puedes ayudarme.

He quitado #property strict, he quitado todas las propiedades excepto#propertylibrary

nada funciona.

Intenta conectar mi construcción y encuentra el error,

y publicar el código correcto, si ese es el problema.

 
Alexey Viktorov:

Este código funcionará de dos maneras

1.

2.

El vídeo es de 2013, y en esa época ni siquiera pensaban en la directiva #property strict, por lo que todo funcionaba bien.

Por desgracia, ninguna de las dos opciones funciona

 
Alexey Viktorov:

Este código funcionará de dos maneras

1.

2.

El vídeo es de 2013, y en aquella época ni siquiera pensaban en la directiva #property strict, así que todo funcionaba bien.

¡No deberías haber corregido su código de inmediato, el hombre simplemente no entiende las claves elementales del compilador, y para escribir un código normal es necesario conocer estas sutilezas y utilizar la documentación!

Le señalé que el vídeo era muy antiguo; de lo contrario, lo habría conseguido. Pero se ofendió y se quejó, y como resultado el post fue borrado, ¡mientras que él mismo ni siquiera va a investigar!

 
Sergey Maksiutenko:

Por desgracia, ninguna de las opciones funciona

¡Publica lo que has arreglado! ¡Todo el código!