Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 643

 
Buon giorno, buon giorno, persone che conoscono la compatibilità dei tipi int e datetime, per favore consigliatemi. Se non mi sbaglio, datetime è un intero che rappresenta il numero di secondi trascorsi dalle ore 0 del 1 gennaio 1970, quindi posso assegnare il valore di TimeCurrent() a una variabile intera e poi confrontarlo con una variabile di tipo datetime?
 
Андрей:
Buon pomeriggio, potete per favore consigliarmi sulla compatibilità dei tipi int e datetime, se non mi sbaglio. Se non mi sbaglio, datetime è un intero che rappresenta il numero di secondi trascorsi dalle ore 0 del 1 gennaio 1970, posso assegnare un valore di TimeCurrent() a una variabile intera e poi confrontarlo con una variabile di tipo datetime?

la data può essere il doppio, byte per byte

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

Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Часто возникает необходимость преобразовать один числовой тип в другой. Не каждый числовой тип допустимо преобразовать в другой, допустимые преобразования в MQL5 показаны на схеме: Сплошные линии со стрелками обозначают преобразования, которые выполняются без потери информации. Вместо типа char может выступать тип bool (оба занимают в памяти 1...
 
Андрей:
Buon giorno, buon giorno, potete consigliarmi sulla compatibilità dei tipi int e datetime? Se non mi sbaglio, datetime è un intero che rappresenta il numero di secondi trascorsi dalle ore 0 del 1 gennaio 1970, posso assegnare un valore di TimeCurrent() a una variabile intera e poi confrontarlo con una variabile di tipo datetime?

Sì, è possibile, ma è meglio usare ulong

 
Sergey Maksiutenko:

Ahimè, non capisco...

Per favore, ditemi.

Questo codice funzionerà in due modi

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);
}
Il video è del 2013, e all'epoca non si pensava alla direttiva #property strict.
 
Taras Slobodyanik:

la data può essere il doppio dei byte

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

Sì, l'ho letto e dato che non ho visto nulla sulla conversione del tipo datetime in intero, ho posto la domanda qui. Se l'intero è di tipo ulong, avrà abbastanza byte per ospitare il tempo senza alcuna perdita? Vi spiegherò perché questa seccatura. Ho solo un array bidimensionale che memorizza dati interi e ho bisogno di metterci una data.
 
Андрей:
Sì, l'ho letto e dato che non ho visto nulla sulla conversione del tipo datetime in intero, ho posto la domanda qui. E diciamo che se un intero è di tipo ulong, avrà abbastanza byte per ospitare il tempo senza perdite? Vi spiegherò perché questo fastidio. Ho solo un array bidimensionale, che memorizza dati interi e ho bisogno di aggiungere una data ad esso.

datetime è ulong

 
Sergey Maksiutenko:

Se intendi la proprietà dellalibreria#property

L'ho fatto controllare...

Senza di esso il file di libreria non viene nemmeno compilato.
Vitaly Gorbunov:

Vado a fumare per non scrivere troppo duramente e cercare di spiegarvi cos'è la #proprietà rigorosa.

Non preoccupatevi.

Capisco che non potete aiutarmi.

Ho tolto #property strict, ho tolto tutte le proprietà tranne#propertylibrary

non funziona niente.

Prova a inserire il mio costrutto e trova l'errore,

e postare il codice corretto, se questo è il problema.

 
Alexey Viktorov:

Questo codice funzionerà in due modi

1.

2.

Il video è del 2013, e a quel tempo non pensavano nemmeno alla direttiva #property strict, quindi tutto funzionava bene.

Ahimè, nessuna delle due opzioni funziona

 
Alexey Viktorov:

Questo codice funzionerà in due modi

1.

2.

Il video è del 2013, e a quel tempo non pensavano nemmeno alla direttiva #property strict, quindi tutto funzionava bene.

Non avresti dovuto correggere subito il codice, l'uomo semplicemente non capisce le chiavi elementari del compilatore, e per scrivere un codice normale devi conoscere queste sottigliezze e usare la documentazione!

Gli ho fatto notare che il video era molto vecchio, altrimenti l'avrebbe copiato esattamente come era nel video e tutto sarebbe andato bene. Ma lui si è offeso e si è lamentato, e di conseguenza il post è stato cancellato, mentre lui non ha nemmeno intenzione di indagare!

 
Sergey Maksiutenko:

Ahimè, nessuna delle opzioni funziona

Pubblicate quello che avete aggiustato! Tutto il codice!
Motivazione: