Получаем количество десятичных знаков после запятой любых чисел (не только котировок) в обход Digits() на MQL4 и MQL5 - страница 19

 
мерси, завтра потестирую
 
Замечательно, в mql5 убрали из функции ArraySort направление сортировки, в статье о переходе с mql4 вроде советуют ставить вместо этого ArraySetAsSeries... А он не работает с многомерными массивами =))) Видимо пророчески я вчера занялся моделированием ArraySort от нечего делать))
 
Dmitry Fedoseev:

Выбираю вариант с преобразованием в строку.

немного подправил ваш вариант

int ds(double v){
   string s=(string)v;
   int l=StringLen(s);
   int p=StringFind(s,".",0);
   return((p>0)?l-p-1:0);
}
 
Igor Makanu:

спс, забрал, завтра по тестирую

Забыл там важное уточнение :)

#define   test(M,S,EX)        {uint mss=GetTickCount();int nn=(int)pow(10,M);for(int tst=0;tst<nn&&!_StopFlag;tst++){EX;} \
                                printf("%s: loops=%i ms=%u",S,nn,GetTickCount()-mss);}

Иначе виснуть можно долго при неудачной попытке)

Taras Slobodyanik:

немного подправил ваш вариант

Вариант отличный, только работает в 10 раз медленнее уже предложенных далее

 
fxsaber:

Могу ли я направить мозговой штурм на быструю реализацию перевода массива структур (длина кратна sizeof(int)) в массив int[] и обратно?

Практическое применение - быстрый обмен данными через ресурсы. Мой вариант слишком универсальный, поэтому тормозит.


В MT5 появились такие функции

в MT4 их нет и, возможно, не будет. Поэтому нужно решить задачу с этими функциями (если полезны) и без них.

Результат будет полезен большому количеству форумчан здесь.


Написал максимально простую заготовку для мозгового штурма, где уже присутствует мой вариант решения задачи


Результат

Структура - строка. Длина ее не может быть кратной int, или не int. 

 
Ilya Malev:
Замечательно, в mql5 убрали из функции ArraySort направление сортировки, в статье о переходе с mql4 вроде советуют ставить вместо этого ArraySetAsSeries... А он не работает с многомерными массивами =))) Видимо пророчески я вчера занялся моделированием ArraySort от нечего делать))

Статьи

Методы сортировки и их визуализация с помощью MQL5

Dmitrii Troshin, 2017.05.26 09:44

Для работы с графикой в MQL5 создана специальная библиотека Graphic.mqh. В статье описан пример ее практического применения и поясняется сама суть сортировок. По каждой сортировке существует как минимум отдельная статья, а по ряду из них уже опубликованы целые исследования, поэтому здесь описывается лишь общая идея.

 
Andrey Khatimlianskii:

А там есть сравнение скорости сортировки с обычным встроенным ArraySort на рандомной выборке?  Хоть один метод который случайные данные в среднем сортирует быстрее...

Или не быстрее, а хотя бы также. Или не также, а хотя бы не больше, чем вдвое дольше. Без всяких Dll и пр. шаманства вроде многопоточности
 
Алексей Тарабанов:

Структура - строка. Длина ее не может быть кратной int, или не int. 

Кратность - условие задачи.

 
Не могу пройти мимо. 
Обязательно поучавствую, когда доберусь до компа.
После быстрого просмотра уже есть идеи, как на 10-20% улучшить результат.

 
Nikolai Semko:
Не могу пройти мимо. 
Обязательно поучавствую, когда доберусь до компа.
Уже есть идеи, как на 10-20% улучшить результат.

Результат чего? 

Причина обращения: