Один результат, разный код , как правильнее ???

 

Приветствую !!!

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

пример

if ( OrderSymbol() == Symbol() )

 или 

 if ( OrderSymbol() != Symbol() ) continue;

 Как лучше ??? Как быстрее ??? Как правильнее ???

 
ыыы... Юморист! )))
 

На вкус и цвет.

у MQL4 есть ограничение на вложенность. По скорости хз. Лучше уже тогда на вызове функции Symbol() экономить )

А вообще на скорость забить и не вспоминать пока не припрет. Удобство главнее.

 
второй вариант однозначно , давно было - всплывал этот вопрос, я проверял, второй быстрее, ненамного , но да...
 
Как можно измерить  время работы определенного участка кода ???
 
По разному, для этого кода - брал историю на пару десятков тысяч ордеров, и на ней проверял время прохождения.
 
VOLDEMAR:

Приветствую !!!

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

пример

 или 

 Как лучше ??? Как быстрее ??? Как правильнее ???



Второй вариант должен быть быстрее, т.к. осуществляется один переход, тогда как в первом случае - два.
 

Использовал вот такой код 

int pi=0;
int ti=0;
int start()
{
if (pi==0||TimeCurrent ( )>=(ti+60))
{

work();
minus ();

pr ("Программа выполнилась за ",GetTickCount( )-pi+"миллисекунд");
ti=TimeCurrent ( );
pi=GetTickCount( );
}
}

 Результат 

 

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

 
VOLDEMAR:

Использовал вот такой код 

 Результат 

 

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

 


Тики идут с разной скоростью?
 
Ответ здесь : https://www.mql5.com/ru/forum/143091
 
Спасибо но читать 14 страниц не интересной темы не очень то хочется 
Причина обращения: