Я не понимаю этого прикола!?

 

Почему при операции 

 if (TimeCurrent()-OrderCloseTime()<600)
  { Alert("Повторите запуск через ",600-(TimeCurrent()-OrderCloseTime())," секунд");return;}

выводится не чистая разница в секундах, а 

 
fantomas56:

Почему при операции 

выводится не чистая разница в секундах, а 

Попробуйте int( 600 - .........)    А зачем 600?

 

Видимо просто памятка что отсчет секунд ведется с этой даты ) по факту это чистая разница в секундах

 
Maxim Dmitrievsky:

Видимо просто памятка что отсчет секунд ведется с этой даты ) по факту это чистая разница в секундах

Нет. Там неявное преобразование в datetime, а затем вывод его в сообщение. Поэтому и выводится дата - количество секунд от начала отсчёта дат в терминале. Перед выводом нужно явно преобразовать в целое - ulong
 
Artyom Trishkin:
Нет. Там неявное преобразование в datetime, а затем вывод его в сообщение. Поэтому и выводится дата - количество секунд от начала отсчёта дат в терминале. Перед выводом нужно явно преобразовать в целое - ulong

по вашему мнению между закрытием ордера и текущем временем прошло 1970 лет? т.е. торговля велась еще до Р.Х.?

 
Maxim Dmitrievsky:

по вашему мнению между закрытием ордера и текущем временем прошло 1970 лет? т.е. торговля велась еще до Р.Х.?

Ещё раз прочтите что я написал. Вдумчиво.
 
Maxim Dmitrievsky:

по вашему мнению между закрытием ордера и текущем временем прошло 1970 лет?


Нет. Всего лишь 577 и 548 секунд соответственно. Где года увидели?

 
Artyom Trishkin:
Ещё раз прочтите что я написал. Вдумчиво.

а я всегда думал что это просто баг ) а оказывается это просто тип данных такой странный

 
Maxim Dmitrievsky:

а я всегда думал что это просто баг ) а оказывается это просто тип данных такой странный

Это дата. Если там только несколько секунд, то и дата будет - несколько секунд от начала 1970 года.
Чтобы вывести именно секунды, то дату нужно преобразовать в целое число и его выводить.
 

Так что делать то я так и не понял))))

 
Artyom Trishkin:
Это дата. Если там только несколько секунд, то и дата будет - несколько секунд от начала 1970 года.
Чтобы вывести именно секунды, то дату нужно преобразовать в целое число и его выводить.

да, понял, спасибо )

Причина обращения: