[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 407

 
Bihkul:
Коллеги подскажите, что и где изменить в коде советника для работы в ДЦ с пятизначными котировками.
Обычно помогает переменная Point
 
granit77:
Массив.
Насколько я понимаю, речь идет о двумерном массиве, для того, чтобы по значению первого измерения найти значение во втором. Но как записать данные в массив заранее?
 
KONDOR:
конкретно в данном случае можно создать два массива, a[1000] и b[1000].
А если искомое значение находится в самом конце массива, то получается достаточно тормозной вариант, т.к. необходимо перебрать все значения (до break). Задача найти быстро, потратив времени не более того, что обычно уходит на стандартное вычисление (например на умножение двух переменных типа double).
 
KONDOR:
для "быстро" есть ф-ция switch
Предположим, что искомое значение находится в последней строке функции switch. Я не знаю методики исполнения функции switch, но почему-то мне кажется, что это будет мало чем отличаться от варианта с циклом for () по скорости.
 

Отличаться, конечно, не будет. С другой стороны, ну не всегда же нужное значение будет последним элементом.

А почему Вас так волнует скорость? Вы будете делать это вычисление на каждом тике?

 
Mathemat:

Отличаться, конечно, не будет. С другой стороны, ну не всегда же нужное значение будет последним элементом.

А почему Вас так волнует скорость? Вы будете делать это вычисление на каждом тике?

Да, на каждом тике
 
Ну и не волнуйтесь, поиск нужного значения займет тысячную долю секунды.
 
Mathemat:
Ну и не волнуйтесь, поиск нужного значения займет тысячную долю секунды.
Там и без этого весьма приличное количество вычислений, хотелось как-то оптимизировать скорость
 
Есть функция TimeCurrent(), которая текущее время превращает в секунды с 1970г. A eсть ли функция превращающая эти секунды (int) обратно в datetime. Или надо отдельно разбирать секунды, минуты, часы...? Спасибо.
 
Если у Вас есть статистика по частоте встречаемости разных значений а[i], попробуйте поставить более частые в начало массива (или switch).
Причина обращения: