как быстрее - страница 2

 
new-rena:

Здесь: if(X * Y != 0) return(true); ?

Я понял что <0, поэтому и сделал, чтобы было больше.

Но для <0 -2*2 опять же true.

точно, это тогда для случаев с "или", а не "и"
 
Anatoly Garmatyuk:
точно, это тогда для случаев с "или", а не "и"
Ваше первое выражение правильное, главно чтобы не было ошибок типа деления на ноль. Автотрейдинг не допускает ошибок. Любая ошибка - потеря денег. Внимательнее будьте. Успехов.
 
new-rena:
Ваше первое выражение правильное, главно чтобы не было ошибок типа деления на ноль. Автотрейдинг не допускает ошибок. Любая ошибка - потеря денег. Внимательнее будьте. Успехов.

блоагодарю.

ответы в теме будут полезными наверно не только мне

 

Вы правы, я ошибсо :( А казалось что грипу финец

Это относится к if(X != 0 && Y != 0) return(true); Замена нескольких логических операторов с ветвлением одной математической операцией (где это возможно) должна что-то дать в скорости исполнения

 

написал программку для полной ясности.

void OnTick()
  {
   if(f1()>0 && f2()>0)Print("true");
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int f1()
  {
   Print("f1");
   return(-1);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int f2()
  {
   Print("f2");
   return(1);
  }
//+------------------------------------------------------------------+

 в журнал выводится только "f1", значит первый вариант с && вполне достаточен