Немного удивлен :) Решил поделиться и задать НЕ риторический вопрос. - страница 22
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
1. Это однократная операция для каждого дубля. Проигрыш незначительный, затем сплошные выигрыши. :) Предполагаю, что исходный котир однократно логарифмируется и переводится в целочисленное представление.
2. Это верно. Хотя и быстро, ибо есть шустрый алгоритм использующий битовые сдвиги.
3. не больше чем проверок на переполнение лонгов.
4. целочисленную часть выделять совсем не нужно. дробь хранится как пара лонгов. а при возможности - как пара интов.
5. ровно столько же, если хранить как пару лонгов, и вдвое меньше в случае, если достаточно интов (это от требовательности алгоритма зависит).
Если учесть, что основной потребитель памяти - котировки, то при целочисленном представлении выигрыш по пространству неоспоримый.
При том, что основная фишка вовсе не в экономии памяти, а в ускорении. Это куда важнее.
--
С Академиком проблема не в том, что он неправ. А в том, что выставляет других неправыми.
Это и вызывает раздражение присутствующих и отторжение здоровых идей... вместе с грязной водой... :(
Владимир ты ничего не путаешь? То что ты описал это низкоуровневая арифметика дубль и флот, та же арифметика что предлагает ввести "Академик" для хранения требует (даже без выделения целой части) как минимум две мантисы.
Ну и где же тут экономия. 8 байт для дубля и 2*4 байт для инта.
В лучшем случае ты придёшь к тому результату который уже и так реализован.
Владимир ты ничего не путаешь? То что ты описал это низкоуровневая арифметика дубль и флот, та же арифметика что предлагает ввести "Академик" для хранения требует (даже без выделения целой части) как минимум две мантисы.
Ну и где же тут экономия. 8 байт для дубля и 2*4 байт для инта.
В лучшем случае ты придёшь к тому результату который уже и так реализован.
Так храните все поинты ( знаменатели) одноразмерных величин в одном месте - они же одинаковые. :)
Заведите тип - величина в одной десятой пункта и все. И храните этот знаменатель отдельно.
Я попробую. На mql5, ежли уж пошла такая пьянка... :)
Время только понадобится. Библиотечку написать придётся.
Я как то пробовал, конфет там нет, только время потратишь.
Разложи дубль в двоичное число, и представь его в виде двух интов и поймёшь что всё что ты описываешь уже реализовано в арифметике дубль.
ЗЫ Только арифметика реализована на низком уровне, а ты это будешь делать на более высоком на чём потеряешь быстродействие и память.
Мои пять копеек.
Целые числа - это более естественный способ представления информации о котировках. В конце концов, число пунктов оно не может быть не целым. Хранение таких чисел более экономично, а значит и скорость загрузки на уровне диск-память, и память-процессор - выше. Алгоритмы обработки, если они составлены грамотно, - гораздо более быстрые чем алгоритмы с вещественными числами, а с учётом пакетных операций SSE, так вообще вне конкуренции. Но, есть одно большое но с целыми числами - работать с ними могут только считанные люди. Ну и конечно же, в терминале должна быть поддержка asm. Для массового потребителя MQ эти числа не подходят.
Кстати, проблема проверки переполнения реализуется на уровне аппаратных прерываний, ничего страшного в этом нет, наоборот, люди уже давно об этом подумали, когда процессоры создавали. В принципе, существует огромная масса способов и приёмов программирования целочисленных алгоритмов, но это всё, повторюсь, не для массового пользователя.
Не понимаю о чём тут спор. Можно ли создать более быстрый алгоритм тестирования\оптимизации чем есть в тестере. Можно, но это будет не универсальный алгоритм живущий в тепличных условиях в присутствии автора - такая штука мало кому нужна, это не массовый продукт. По этому, выступления в духе "а у меня быстрее" можно рассматривать только как свидетельство недалёкости и непонимания того что нельзя сравнивать несравнимое.
Я как то пробовал, конфет там нет, только время потратишь.
Разложи дубль в двоичное число, и представь его в виде двух интов и поймёшь что всё что ты описываешь уже реализовано в арифметике дубль.
ЗЫ Только арифметика реализована на низком уровне, а ты это будешь делать на более высоком на чём потеряешь быстродействие и память.
"Не догоню, так согреюсь", как говаривал петух бегущий за курицей... :)
На самом деле я давно подумываю на эту тему, видимо пора уже попробовать.
"Не догоню, так согреюсь", как говаривал петух бегущий за курицей... :)
На самом деле я давно подумываю на эту тему, видимо пора уже попробовать.
Да зачем? С++ принимается.
Рекурентный алгоритм НОД дать?
Если с битовыми сдвигами - давай. Если с делением по модулю, то не надо.
Ты собираешься одно ( не обязательно кратное 2 ) число, делить на другое ( не обязательно кратное 2 ) число, через битовый сдвиг?
Ладно кину что у меня есть, а там сам думай нужно или нет.
Смайлы в последующих Ваших постах будут вырезаны. Учитывайте это.
спс хоть признались - Вы смайлы режете, но кто целые посты удаляет?
по сабжу, Academic, то, что у Вас есть так называемая "считалка" - это отлично, хотелось бы уточнить, а есть у Вас возможность автоматической оптимизации в ходе торговли?