Скорость работы функции - страница 2

Mislaid:

Это интерпретатор, вычисляющий логическое выражение до конца, даже если значение известно с первого сравнения. Поэтому, приходится бить сложные логические выражения на несколько операторов.

Вон оно в чем дело. Оказывается логические выражения возможно и замедляют работу моего советника т.к. именно логических операторов if и преобладает в моем советнике.
softbit:

Вон оно в чем дело. Оказывается логические выражения возможно и замедляют работу моего советника т.к. именно логических операторов if и преобладает в моем советнике.
TheXpert прав, утверждая, что ваши логические выражения не при чем. Вы должны разумно строить свой алгоритм вычислений, учитывая особенности языка.

А Вам время замерить религия не позволяет что ли ?

softbit:

У меня вопрос к знатокам. Который код работает быстрее?

К знатокам не отношусь, но вставьте функцию GetTickCount() до и после выполнения функции и вычислите разницу. Будет объективный результат а не гадание.
goldtrader:
К знатокам не отношусь, но вставьте функцию GetTickCount() до и после выполнения функции и вычислите разницу. Будет объективный результат а не гадание.

Вставил. Второй вариант медленее более чем на 30%
Mislaid:

Вставил. Второй вариант медленее более чем на 30%
Странно. На уровне кода это должно быть одно и то же. Видимо транслятор кривоват.
Mislaid:

Вставил. Второй вариант медленее более чем на 30%

Оно бы неплохо было код привести, в котором все проверялось. Желательно в виде скрипта
Vinin:

Оно бы неплохо было код привести, в котором все проверялось. Желательно в виде скрипта

Значения скачут в интервале 1.0 - 2.0 И, вообще, непредсказуемо!
Файлы:
122.mq4  2 kb
Mislaid:

Значения скачут в интервале 1.0 - 2.0 И, вообще, непредсказуемо!


Сделал третий вариант

Пошустрее работает

Файлы:
122_1.mq4  2 kb
Vinin:


Сделал третий вариант

Пошустрее работает


Все равно неясно. Значения скачут с большим разбросом. %% определить не удается, только тенденция