Бесконечное зацикливания цикла, как исправить? - страница 2

 
Alexey Viktorov:


Где-то есть присваивание этой переменной значения false?


Это не переменная

 
fxsaber:
Для меня загадка, почему многие так пишут.

Код меньше строк занимает.

 
Dmitry Fedoseev:

Код меньше строк занимает.

 for(int i=0; i<OrdersTotal() && !_StopFlag; i++)
   if(OrderSelect(i,SELECT_BY_POS) && (OrderSymbol()==Symbol()) && (OrderMagicNumber()==Magic) && (OrderType()==OP_SELL))
   {
 
Dmitry Fedoseev:

Это не переменная

Недосмотрел. Беру свои слова взад...

 
fxsaber:
Для меня загадка, почему многие так пишут.
добрый день.
потому что такой код выполняется быстрее.

с уважением.
 
Dmitry Fedoseev:

Обратите внимание, там ест пара таких строчек:

В самом начале цикла.

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

с уважением.
 
Andrey Kisselyov:
добрый день.
потому что такой код выполняется быстрее.

В режиме #property strict это не так.

 
fxsaber:

В режиме #property strict это не так.

создайте код который будет считать количество миллисекунд на выполнение данного задания и проверьте оба варианта выполнения
1 вариант
//выполнение проверки по каждому условию
   for(int w=0;w<10000;w++)
     {
      for(int q=0;q<OrdersTotal();q++)
        {
         if(!OrderSelect(q,SELECT_BY_POS))continue;
         if(OrderMagicNumber()!=Magik)continue;
         if(OrderSymbol()!=_Symbol)continue;
         if(OrderType()!=OP_SELL)continue;
         e++;
        }
     }

2 вариант

//проверка всех условий в одном операторе IF
   for(int w=0;w<10000;w++)
     {
      for(int q=0;q<OrdersTotal();q++)
        {
         if(OrderSelect(q,SELECT_BY_POS) && 
            OrderMagicNumber()==Magik && 
            OrderSymbol()==_Symbol && 
            OrderType()==OP_SELL) e++;
        }
     }
полученные результаты выведите на экран, если не хватит точности выполнения увеличите значение W до 100000 проходов.

с уважением.
 
Artem Onopin:
Кусок кода работает и заносит сделки в массив MassLockSellTrade[], но происходит это бесконечно, голову уже сломал, что делать не знаю, подскажите или направьте советом))
Артем, проблема по коду решена?

с уважением.
 
Andrey Kisselyov:
не сочтите за наглость, но похоже вы тут проездом, раз не смогли разобраться в двух булевых переменных данного кода.

с уважением.

Но все же посмотрите... вдруг! Вдруг дойдет... хоть маловероятно, но вдруг...

Причина обращения: