Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А как сделать "простое округление", не до целого числа, а до некоторого знака после запятой стандартными функциями без NormalizeDouble ?
Как в предыдущем посте, но с небольшими ухищрениями. Если Вам нужно округлить до 0.1, то умножаете на 10, а после той же процедуры умножаете на 0.1. Делить на 10 не стоит - долгая операция. Мы так лет 40 назад делали, ресурсы экономили.
Нет, Николай. У меня были типа каникул по ходу и я бездельничал. Я в MQL попутно, скорей с него начал, сейчас учу Си и попутно Си++, хочу научиться писать драйвера и там как-раз надо все делать по битам. Там кто-то где-то припугнул(образно), что не правильно написанный драйвер приводит к синему экрану. И вот я и учить ни чего не учу, и компостирую мозг по ходу всем в интернете. Учусь сам, доходит все туго, но когда пойму соображаю быстро. А Вы меня только что подтолкнули на новый этап. Я не верю в случайности, суда захожу редко. И вот сегодня редко, но метко. Accembler - с ним я осторожен. Опасный механизм. И его потом тоже начну учить. Пару раз попробовал что-то исполнить, понял что он сильно влияет на процессор в компе и подумал, что туда с моим умом пока лезть рано. MQL4 мне очень сильно помог. У меня энцефалопатия(нарушена координация), лет 6 уже, и вот я разговаривал с врачом и он говорит, что Американские врачи пришли к выводу, что эту болезнь лечит логика. А я как в себя пришел и меня выписали из больницы; не кого не узнавал, но из компа не вылазил, забываю - учу, забываю учу по новой и вроде начался процесс восстановления.
Если логика поможет, то Вы на правильном направлениии. Искренне желаю Вам успехов. У Вас все получится!
Делить на 10 не стоит - долгая операция. Мы так лет 40 назад делали, ресурсы экономили.
проверять сейчас нужно, да и проверить сложно, принципы работы процессоров сейчас сильно изменились, скорее всего, что умножай, что дели будет одинаково по времени
В основном время расчетов сейчас увеличивается, если кэш или конвейер команд будут сброшены, а само тактовое время на вычисление умножения или деления, может мало влиять на общую производительность
ЗЫ: сейчас не знаю, но на заре появления Пентиум-1 был у меня однокурсник, который тестировал процессоры на уровне математических вычислений с целочисленными числами и с плавающей запятой, на то время Интел лучше АМД считал вещественные числа, а вот АМД и Целерон все время обгоняли аналогичный по частоте Интел в операциях с целыми числами
Если логика поможет, то Вы на правильном направлениии. Искренне желаю Вам успехов. У Вас все получится!
Спасибо Николай Вам. Буду стараться.
проверять сейчас нужно, да и проверить сложно, принципы работы процессоров сейчас сильно изменились, скорее всего, что умножай, что дели будет одинаково по времени
В основном время расчетов сейчас увеличивается, если кэш или конвейер команд будут сброшены, а само тактовое время на вычисление умножения или деления, может мало влиять на общую производительность
ЗЫ: сейчас не знаю, но на заре появления Пентиум-1 был у меня однокурсник, который тестировал процессоры на уровне математических вычислений с целочисленными числами и с плавающей запятой, на то время Интел лучше АМД считал вещественные числа, а вот АМД и Целерон все время обгоняли аналогичный по частоте Интел в операциях с целыми числами
Не было у нас ни Интела, ни АМД с Целероном. И Пентиума не было, да и 486 тоже. Была ЕС-1030...1045...1050 (IBM 360/370) для разработки и был очень суровый комплекс для реализации. Выдерживал вибрацию, удар кулаком в любое место, электромагнитный импульс и еще много всего. Только оперативной памяти у него было 12 кБ, а в остальном - мужчина. Вот с того времени я знаю, что такое оверлейная структура программы и умею решать нерешаемые задачи.
Не было у нас ни Интела, ни АМД с Целероном. И Пентиума не было, да и 486 тоже. Была ЕС-1030...1045...1050 (IBM 360/370) для разработки и был очень суровый комплекс для реализации. Выдерживал вибрацию, удар кулаком в любое место, электромагнитный импульс и еще много всего. Только оперативной памяти у него было 12 кБ, а в остальном - мужчина. Вот с того времени я знаю, что такое оверлейная структура программы и умею решать нерешаемые задачи.
ага, я первый курс первый семестр универа даже застиг большие ЭВМ семейства ЕС, номер уже не помню, но помню была аудитория и штук 20 терминалов к этой ЕС, программу на Паскале напишешь в терминале первым, отправишь на компиляцию минут через 5 придет ответ, а если сделал ошибку, то вот второй раз отправить на компиляцию уже проблема, вернее отправишь, а придет ответ минут через 15 - ибо сокурсники тож дописали и начали процессор грузить.
Потом закончилось это прикольное программирование, со второго семестра нам Интелы-486 установили, там все летало ))))
проверять сейчас нужно, да и проверить сложно, принципы работы процессоров сейчас сильно изменились, скорее всего, что умножай, что дели будет одинаково по времени
В основном время расчетов сейчас увеличивается, если кэш или конвейер команд будут сброшены, а само тактовое время на вычисление умножения или деления, может мало влиять на общую производительность
ЗЫ: сейчас не знаю, но на заре появления Пентиум-1 был у меня однокурсник, который тестировал процессоры на уровне математических вычислений с целочисленными числами и с плавающей запятой, на то время Интел лучше АМД считал вещественные числа, а вот АМД и Целерон все время обгоняли аналогичный по частоте Интел в операциях с целыми числами
Вы правы Игорь. Я лично уже много где встречал, что умножения на ноль или единицу сейчас уже не эффективны и таким образом машину уже не обманешь. Но здесь у меня получалось и именно я избавлялся таким образом от ошибки 1 модификации. Во, а про кэш мне где-то попадалось, но я не обратил на это особого внимания. Мне конечно еще пока до Ваших знаний далеко. Но есть к чему стремиться. Елки, столько надо всего воткнуть в разум - чекнешся?! Да еще это все разложить по полочкам. Вот это да?! Но нужно. Буду учить. Всем Всего Доброго.
именно я избавлялся таким образом от ошибки 1 модификации
если не ошибаюсь, то ошибка 1 при модификации это модификация с теми же параметрами, что у существующего ордера, т.е. по сути не требуется модификация
эту ошибку не сложно убрать, нужно нормализованные цены нового стоплосса или тейкпрофита, то что модифицируете, сравнить с существующими:
т.е. примерно так:
если не ошибаюсь, то ошибка 1 при модификации это модификация с теме же параметрами, что у существующего ордера, т.е. по сути не требуется модификация
эту ошибку не сложно убрать, нужно нормализованные цены нового стоплосса или тейкпрофита, то что модифицируете, сравнить с существующими:
т.е. примерно так:
Да, Вы правы, ошибки нет, но результат не известен. И нужны новые параметры при модификации.
А как сделать "простое округление", не до целого числа, а до некоторого знака после запятой стандартными функциями без NormalizeDouble ?
Для этого эта функция и существует.
ЗЫ данный аналог пока не проверял на полное соответствиеТакой аналог NormalizeDouble работает в пару раз быстрее: