Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Вся активность MQL5.community у тебя на ладони. Заходи в раздел Стена!
Forex Trader
114255
Forex Trader 2007.01.03 14:44 
datetime T2 = ( Time[0] + Time[20] ) / 2;

Print ( Time[0], " ", Time[20], " ", T2 );

1167831000 1167813000 -979661648

Почему отрицательный результат ?
Forex Trader
114255
Forex Trader 2007.01.03 14:50  
потому что при сложении этих двух чисел получается значение 2335626000, что >= 2^31, но так как оно представляется в виде 32-х битного значения со знаком, то вместо него будет -1959341296 (2^32 - 2335626000). Т.е. в старшем бите полученного числа будет 1, что означает, что число отрицательное.
Ну и далее при делении его на 2 получается -979661648.
Forex Trader
114255
Forex Trader 2007.01.03 15:12  
Спасибо. Буду оперировать индексами.
Forex Trader
114255
Forex Trader 2007.01.04 03:06  
Можно так
datetime T2 = Time[0]/2 + Time[20] / 2;
Forex Trader
114255
Forex Trader 2007.01.04 05:02  
Браво, babybear !
Forex Trader
114255
Forex Trader 2007.01.04 13:21  
А можно ещё так:
datetime T2 = Time[0] + (Time[20] - Time[0]) / 2;
или так:
datetime T2 = Time[20] - (Time[20] - Time[0]) / 2;
Forex Trader
114255
Forex Trader 2007.01.04 15:31  
Norfolc, ваши варианты вполне приемлемы. Спасибо.

Но при одинаковом результате я предпочла бы иметь меньшее количество слагаемых.
Forex Trader
114255
Forex Trader 2007.01.05 00:00  
Olga_trader, так как время представляется в виде целого числа, то при делении нечётного числа на 2 мы получим погрешность в 0.5, а если оба времени будут нечётными - то погрешность будет уже 0,5 * 2 = 1.
А если с начала из одного вычесть другое число, то тогда этой погрешности не будет.
Т.е. в моём варианте погрешность будет в районе 0 - 0,5, тогда как в варианте babybear-а она может быть 0 - 1. :)
А что лучше иметь - меньшее число слагаемых или большую точность - решать Вам!;)
Forex Trader
114255
Forex Trader 2007.01.05 08:33  
"Не думай о секундах свысока,
Настанет время сам поймёшь наверное?
Стучат они как пули у виска
- мгновения, мгновения, мгновения..."

(копирайт "17 мгновений весны") :o)))))
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий