Ошибки, баги, вопросы - страница 2623

 
Nikolai Semko:

Так все просто же:

0.1 в типе double реально 0.1000000000000000055511151231257827021181583404541015625, т.е больше чем 0.1

следовательно? на последней проверке это уже будет больше 20, а точнее 10+100*0.1000000000000000055511151231257827021181583404541015625 ~ 20.000000000000000555111512312578

и цикл заканчивается

ОК, понял

так и есть, цикл for() итерацию выполнит, и будет сравнивать условие, вопрос решен

можно еще в пример этот код показать:

void OnStart()
{
   for(int x = 10; x <= 20; x += 1) {
      printf("x = %10.60f", x);
      Sleep(111);
   }
}

2020.01.06 01:48:50.513 tst_double (EURUSD,H1) x = 10.000000000000000000000000000000000000000000000000000000000000

2020.01.06 01:48:50.642 tst_double (EURUSD,H1) x = 11.000000000000000000000000000000000000000000000000000000000000

2020.01.06 01:48:50.767 tst_double (EURUSD,H1) x = 12.000000000000000000000000000000000000000000000000000000000000

2020.01.06 01:48:50.892 tst_double (EURUSD,H1) x = 13.000000000000000000000000000000000000000000000000000000000000

2020.01.06 01:48:51.017 tst_double (EURUSD,H1) x = 14.000000000000000000000000000000000000000000000000000000000000

2020.01.06 01:48:51.142 tst_double (EURUSD,H1) x = 15.000000000000000000000000000000000000000000000000000000000000

2020.01.06 01:48:51.267 tst_double (EURUSD,H1) x = 16.000000000000000000000000000000000000000000000000000000000000

2020.01.06 01:48:51.392 tst_double (EURUSD,H1) x = 17.000000000000000000000000000000000000000000000000000000000000

2020.01.06 01:48:51.517 tst_double (EURUSD,H1) x = 18.000000000000000000000000000000000000000000000000000000000000

2020.01.06 01:48:51.642 tst_double (EURUSD,H1) x = 19.000000000000000000000000000000000000000000000000000000000000

2020.01.06 01:48:51.767 tst_double (EURUSD,H1) x = 20.000000000000000000000000000000000000000000000000000000000000


тут как и ожидалось, цикл закончился достигнув числа 20

 
Nikolai Semko:

Постоянно возникает этот вопрос.
Постоянно все говорят о стандарте IEEE 754, но часто люди, когда заходят в википедию – то ли по причине сложности, то ли по причине лени уходят, так и не поняв смысл этого стандарта.

Я потрачу немного времени, чтобы попробовать объяснить этот стандарт максимально коротко и простыми словами, чтобы в дальнейшем ссылаться на это сообщение.

Я Вам благодарен, от чистого сердца! Спасибо! 

На это сообщение можно ссылаться не только как на работу чисел double, но и как на пример, грамотного, понятного ответа пользователю, без отправки гуглить.

 
Igor Makanu:

т.е. Вы предлагаете игнорировать сообщения тех кто публикуется в Маркете? ... не уверен, что захочу так делать, был вопрос, было обсуждение, по моему это нормальная ситуация

PS:

в довесок .... попробуйте распринтовать double через printf(), есть у меня подозрение, что будет еще много "о сколько нам открытий чудных готовят просвещенья дух..."

;)

Я ничего не предлагал и никого ни к чему не призывал. Просто считаю, что надо почаще читать на форуме не только то, что сам написал, но и то что пишут другие. Особенно если кто-то из действительно малоопытных задаёт вопросы. Ведь именно в этих вопросах и ответах можно почерпнуть для себя много полезного. Даже можно найти ответ на тот вопрос который самому и не приходил в голову. О таком стандарте IEEE 754 лично я гораздо раньше узнал, именно читая вопросы новичков. Настоящих новичков... Именно такой посыл и был адресован Владимиру в ответе вам.

 
Alexey Viktorov:

Я ничего не предлагал и никого ни к чему не призывал. Просто считаю, что надо почаще читать на форуме не только то, что сам написал, но и то что пишут другие. Особенно если кто-то из действительно малоопытных задаёт вопросы. Ведь именно в этих вопросах и ответах можно почерпнуть для себя много полезного. Даже можно найти ответ на тот вопрос который самому и не приходил в голову. О таком стандарте IEEE 754 лично я гораздо раньше узнал, именно читая вопросы новичков. Настоящих новичков... Именно такой посыл и был адресован Владимиру в ответе вам.

Добавлю свои 5 центов. Все ИМХО. Очень странно заниматься не один год программированием и не изучить базы, а математика чисел с плавающей точкой - это именно база. Так, что только доки и стандарты спасут отцов Русской (и не только) демократии. Курите их вдумчиво.
 
Vladimir Pastushak:

Я Вам благодарен, от чистого сердца! Спасибо! 

На это сообщение можно ссылаться не только как на работу чисел double, но и как на пример, грамотного, понятного ответа пользователю, без отправки гуглить.

Не за что :)

 

Не часто ищу коды стрелок, но в справке их невероятно сложно найти!

Это такая табличка, в которой звёздочки, кружки и т.п.

И поиск что угодно выдаёт, кроме нужного!

 
Михаил:

Не часто ищу коды стрелок, но в справке их невероятно сложно найти!

Это такая табличка, в которой звёздочки, кружки и т.п.

И поиск что угодно выдаёт, кроме нужного!

Wingdings
 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Библиотеки: HistoryTicks

fxsaber, 2020.01.09 14:43

Не заметил, что в КБ версия старая. К сожалению, обновить не получается. Автомат КБ выдает такое
MQL4\Include\fxsaber\HistoryTicks\ArrayResize.mqh(110,14) : error 165: 'ArrayResize_Real' - function already defined and has body
MQL4\Include\fxsaber\HistoryTicks\ArrayResize.mqh(172,14) : error 165: 'ArrayResize_Real' - function already defined and has body
MQL4\Include\fxsaber\HistoryTicks\ArrayResize.mqh(110,14) : error 165: 'ArrayResize_Real' - function already defined and has body
MQL4\Include\fxsaber\HistoryTicks\ArrayResize.mqh(172,14) : error 165: 'ArrayResize_Real' - function already defined and has body
В ME все компилируется без ошибок.
 
Stanislav Korotky:

Почему в 3-ей строке:

предупреждение "sign mismatch"?

datetime - это по идее беззнаковое число (8 байт как и ulong). Приведите мне пример отрицательной даты.

наверное потому что нет отдельного типа timestamp и тип datetime служит в том числе и для хранения разницы времени
 
подскажите пожалуйста, какое событие(если есть) генерируется в тестере при нажатии кнопки Стоп?