Скорость работы функции - страница 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:


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

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


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