Новая версия платформы MetaTrader 5 build 2560: Улучшения во встроенной системе обучения - страница 40

 
A100:

тик 2020.09.03 22:00:00.100 уже не попадает в выборку?

Не попадет. Идентично CopyTicksRange.

 
fxsaber:

Не попадет. Идентично CopyTicksRange.

Функция CopyTicksRange тут ни при чем - там явно указываются миллисекунды (но даже и там действует правило min<=t<=max)

А при ручном запросе интервала согласен - получается явное несоответствие: в одном случае включая указанное справа время (t<=max), а в другом случае - исключая (t<max). Причем в одной и той же программе - т.е. нет единого подхода

Точнее в другом не исключая, а полагая неуказанный остаток времени .000 - это догадаться нужно начинающему пользователю, что последняя секунда не полностью включена в выборку

 
A100:

Точнее в другом не исключая, а полагая неуказанный остаток времени .000 - это догадаться нужно начинающему пользователю, что последняя секунда не полностью включена в выборку

В математике есть строгое понятие числового отрезка. В данном случае он задается своими концами. Ничего домысливать не нужно.

 
fxsaber:

В математике есть строгое понятие числового отрезка. В данном случае он задается своими концами. Ничего домысливать не нужно.

В математике отрезок непрерывный - точка на отрезке начало и конца не имеет,

а в MetaTrader время дискретно: секунда имеет начало и конец (если время в миллисекундах)

 
A100:

В математике отрезок непрерывный - точка начало и конца не имеет,

а в MetaTrader время дискретно: секунда имеет начало и конец (если время в микросекундах)

Есть понятие <= величины. И оно не зависит от того, в каких единицах эта величина измеряется. Больше не напишу по этой теме.

 
fxsaber:

Есть понятие <= величины. И оно не зависит от того, в каких единицах эта величина измеряется. Больше не напишу по этой теме.

Вот именно меньше или равно. А пока не наступила первая секунда очередной минуты и будет равно 00 секунд.

fxsaber:

Задание интервала просмотра логов.

При отмеченной настройке будет выводить логи до 22:01. Правильно до 22:00, как указано.

Потому и выводит до 22:00:59 включительно. 22:01 уже не попадает под условие.

 
fxsaber:

Есть понятие <= величины. И оно не зависит от того, в каких единицах эта величина измеряется. Больше не напишу по этой теме.

<= прямо действует на непрерывные величины - миллисекунды, а если величина дискретная - секунды, то действует это правило: применительно к такому формату запроса

 (1)

означает запрос в миллисекундах <= 2020.09.03 22:00:00.999

(2)

также означает запрос в миллисекундах <= 2020.09.03 22:00:00.999

Почему в тиках сделано так, что (2) трактуется как <= 2020.09.03 22:00:00.000 (3) это только Разработчики могут пояснить. И это не я придумал - это общепризнанная практика - вот пример с банком: иначе запрос с 2020.09.03 до 2020.09.03 (4) - означал бы запрос не за весь день, а только за первую его миллисекунду, а если он означает запрос за весь день, то и с 2020.09.03 22:00:00 до 2020.09.03 22:00:00 (5) также означает запрос за всю секунду, а не только за ее первую миллисекунду

Более того применительно к MetaTrader трактовка (3) выглядит сомнительно еще и потому, что в большинстве случаев интересует такой период как: конец дня, недели, пятиминутки, часа и уместным выглядит запрос:

(6)

и если он трактуется как <= 2020.09.03 21:59:59.000 (7), то куда делась последняя миллисекунда?

а в случае запроса <= 2020.09.03 22:00:00 - зачем мне эта ЛИШНЯЯ миллисекунда 2020.09.03 22:00:00.000 из следующего периода?

Все сказанное относится именно к такому формату запроса как (1), (2), поскольку в функциях (CopyTicksRange и др.) там все однозначно задается в миллисекундах, т.е. время считается непрерывным
 
A100:

<= прямо действует не непрерывные величины - микросекунды, а если величина дискретная - секунды, то действует это правило (применительно к такому формату запроса)

 означает запрос в микросекундах <= 2020.09.03 22:00:00.999 (

также означает запрос в микросекундах <= 2020.09.03 22:00:00.999

Почему в тиках сделано так, что последнее трактуется как <= 2020.09.03 22:00:00.000 это только Разработчики могут пояснить. И это не я придумал - это общепризнанная практика - вот пример с историей операций в банке

Иначе запрос с 2020.09.03 до 2020.09.03 - означал бы запрос не за весь день, а только за первую его микросекунду

Наверное а миллисекундах? Очепчтка?

 
Alexey Viktorov:

Наверное а миллисекундах? Очепчтка?

Да, извините, исправил с микро на милли

 
Вообще это вопрос правил и допущений. Ничто не мешает меньше или равно считать меньше значения плюс микросекунда. Вопрос стоимости внесения изменений.
Причина обращения: