![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Что Вам ещё по программированию рассказать?
Хоть вопрос адресован не мне, отвечу: прежде чем вступать в дискуссию, научитесь слушать собеседника.
Успехов.
Спасибо! Но не легче.
Спасибо, учту.
Это террада - ответ на фразу: "Почитали б че-нить по программированию".
Я считю, что она тоже некорректна.
Приношу извинения если обидел.
А вообще-то странно, чтобы современный язык программирования, тем более ещё и сделанный на основе "С" - и не распознавал такой простой лексемы как 1е+n... :(
Ла-а-адно... Будем искать решение...
Всем спасибо.
А проверить самому лень?
Проверил... :)))) - результат - 0, 0, 0, 0,...., 0, 0.
Видимо всё же - 0, т.е. не перевело в double, а оставило в int - т.е. - 0.
Даже:
Не помогло. Всё одно - "0".Вот человек мучается!
Повторяю:
Korey
Уже делал. Спасибо. Проверял. Идёт до 8-го знака. дальше не показывает, ибо процедура DoubleToStr() позволяет печатать double только до 8-го знака. Поэтому запись - DoubleToStr(NormalizeDouble(MathPow(0.1,i), 308),308) - не корректна.
Только эта процедура, MathPow (), не подходит, ибо при присвоении значения константам она недопустима. А мне именно константу нужно описать.
Проблему решил кардинально.
Просто тупо набил 300 нулей и всё. Схавал. :))) Хотя правильно ли работать будет при таких записях - пока не знаю.
Просто тупо набил 300 нулей и всё. Схавал. :))) Хотя правильно ли работать будет при таких записях - пока не знаю.
Мне почему-то кажется, что не будет.
Может не стоит так широко границы растопыривать, может ограничиться тем, что MQL реально может кушать?
10 в трехсотой степени, зачем?
Вообще MQL очень ограниченный язык, народ давно уже жалуется, что не хватает разрядности в тестере для граальных профитов.
Вы, наверное здесь самый умный (уж извините за резкость):
Не, не самый умный - есть еще люди, которые не только читают стандарты но и пытаются понять, что там написано :).
Размер мантисы в C++: - double - 10 в степени +\-384
??????????????????
:). ИМХО, неплохо бы начать с азов и попытаться разобраться чем мантисса отличается от диапазрона изменения. Как количество значащих цифр влияет на точность представления числа ет сетера.
То, что Вы написали - это диапазон изменения в котором значащих цифр все равно 15, в какую бы степень Вы это число ни возвели. Do Y anderstand me ?
Если Вы не понимаете разницу, то в численных методах дальше даже и ходить не нужно ;).
А это Вы откуда взяли ???? Это не соотвествует ISO/IES 14882:2003
В MQL-4 тип int почти соответствует С-шному - long int, a double - почти соответствует long double (Почему-то несколько битов не исполюзуются).
Нет, в МКЛ дабл не соотвествует даже С-шному поскольку и диапазон и количество значащих меньше. Не говоря уже о лонг дабл - для его хранения в С выделяется 10 (а не 8) байт...
Незачот, вобщем. На переэкзаменовку ;).
ЗЫ не обижайтесь: задеть Вас целью не ставил - просто одни и те же грабли и никто не хочет смотреть форум.
Успехов.
to Kadet
Так напишите для народа функцию DoubleToFormat(d,"G24.16") &, FormatToDouble(" string") - Bам зачтется!
М-да...
Тему нужно обозвать - "Весёлая математика на MQL-4"... :)))
Набил же я нули вручную и решил проверить напечатать в Print() эти константы....
Вот уж не знаю, то ли Print-у разрядности не зватает, толи цифры компелятор неправильно понимает.
Там где - 1е-n - везде выдало нули - "= 0".
А там где - 1е+n - выдало - "= 1000000000000000100000000000000000000000000000000000000000000000000000".
Больше всего беспокоит эта преславутая единица в 17-м разряде... Интересно это только так представляется на печать или так оно и есть, т.е. такая цифра сохранена?
Уже делал. Спасибо. Проверял. Идёт до 8-го знака. дальше не показывает, ибо процедура DoubleToStr() позволяет печатать double только до 8-го знака.