Помогите найти ошибочку! - страница 2

 
mozg >>:

Я сделал все через статическую переменную static int Bar

if ((OrdersTotal()>=1)&&(Bar<iBars(NULL,PERIOD_H1)))  
  {  
  for(int i=0;i<OrdersTotal();i++)
  OrderSelect(i,SELECT_BY_POS);
  cmd=OrderType();
  if (cmd<2)
  {
  if(cmd==OP_BUY) 
  price=Bid;
  else  
  price=Ask;
  bool Info=OrderClose(OrderTicket(),OrderLots(),price,3,CLR_NONE);
  if (Info!=true)
  {
  error=GetLastError(); Print("LastError = ",error); 
  }
  if(error==135) RefreshRates();
  }
  if(Info==true)
  {
  Bar=iBars(NULL,PERIOD_H1);
  }
  return(0);
  }  
Коментарии приветствуються!

Чем же вам так не нравлятся мои примеры? :)

Хорошо...  тогда объясните вот этот участок вашего кода:

  for(int i=0;i<OrdersTotal();i++)
   OrderSelect(i,SELECT_BY_POS);
Вы перебираете все открытые ордера, а потом всё равно вы вибирите ордер с номером OrdersTotal()-1.
 

Ваши коды мне очень помогли т.к. я по ним и написал свой код. Просто они мне не очень понятны без коментариев.

Я совсем недавно начал изучать я зык и это мой первый советник.

а ордера я не перебираю т.к. по моей стратегии он всегда один))))))))))))

Огромное спасибо вам за подсказки именно в вашем коде я увидел statik переменную-раньше о которой незнал(еще пока в голове все не удержу)

Еще раз спасибо. 

P.S. А мой код вполне рабочий или я еще не увидел ошибок? Как по вашему?

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