if (Count == WHOLE_ARRAY) \
Count = ::ArraySize(Array) - Start;
Жёлтым выделил недостающее. Да и лучше по порядку аргументов сначала Start, а потом Count, как мне кажется.
Кстати массивы структур наверно рациональней сортировать по индексам (в смысле индексы переставлять, а не сами структуры), но это зависит от размера структуры конечно.
Кстати массивы структур наверно рациональней сортировать по индексам (в смысле индексы переставлять, а не сами структуры), но это зависит от размера структуры конечно.
Это первое, что пришло в голову, но отказался. Т.к. требует использования ArrayCopy исходного массива и массива индексов. А это доп. память. И такую сортировку массива, например, из десятков миллионов MqlTick-элементов машина может не потянуть.
Можно было бы включить два варианта сортировки, но в исходник не стал включать. В демонстрации, наверное, ценное - удобство использование и метод реализации. После изучение становится понятно уже, как дописать под свои нужды и сделать аналог для других функций массивов со структурами (ArrayMaximum и т.д.).
Просто закинули в какой-нибудь инклудник ее исходник и забыли про него. После чего реально удобная для любого новичка (и не только) "функция" всегда под рукой.
народ, киньте в справку ссылку если есть такое, нужен флаг времени открытия вечерней (дополнительной) торговой сессии на FORTS MOEX, а то вроде все просмотрел но не нашел, не хочется писать костыль определения в 19:00 или 19:05 будет открытие торговой сессии
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Применение
Результат
Удобная сортировка массива структур
Жёлтым выделил недостающее. Да и лучше по порядку аргументов сначала Start, а потом Count, как мне кажется.
Кстати массивы структур наверно рациональней сортировать по индексам (в смысле индексы переставлять, а не сами структуры), но это зависит от размера структуры конечно.
Жёлтым выделил недостающее.
Спасибо, пропустил.
Да и лучше по порядку аргументов сначала Start, а потом Count, как мне кажется.
Сигнатура заимствована из MT4-ArraySort.
Кстати массивы структур наверно рациональней сортировать по индексам (в смысле индексы переставлять, а не сами структуры), но это зависит от размера структуры конечно.
Это первое, что пришло в голову, но отказался. Т.к. требует использования ArrayCopy исходного массива и массива индексов. А это доп. память. И такую сортировку массива, например, из десятков миллионов MqlTick-элементов машина может не потянуть.
Можно было бы включить два варианта сортировки, но в исходник не стал включать. В демонстрации, наверное, ценное - удобство использование и метод реализации. После изучение становится понятно уже, как дописать под свои нужды и сделать аналог для других функций массивов со структурами (ArrayMaximum и т.д.).
Удобная сортировка массива структур
Применение
Результат
Как этот код преобразовать в простой класс без использования #define ?
Как этот код преобразовать в простой класс без использования #define ?
Никак. Предполагается, что используется ArraySortStruct, как функция, без вникания в то, как она устроена.
Просто закинули в какой-нибудь инклудник ее исходник и забыли про него. После чего реально удобная для любого новичка (и не только) "функция" всегда под рукой.
Случайное число от 0 до max с равной вероятностью:
Мультибуфер здорово ускоряет работу в редакторе и безопасен.
Он ничего не пишет на диск и держит данные только в памяти.
Случайное число от 0 до max с равной вероятностью:
Ваша функция на 100% эквивалентна:
т.к. во-первых
упрощается до
стало быть во-вторых
всегда выполняется один раз.
Сложность - подробное изложение простоты. ))
Ваша функция на 100% эквивалентна:
т.к. во-первых
упрощается до
стало быть во-вторых
всегда выполняется один раз.
Сложность - подробное изложение простоты. ))
Вы очень внимательны, спасибо. Ошибся, не поставил скобки, так и пользовался бы "нечестной" функцией.
ЗЫ: внёс правки в исходное сообщение.