Глюк в советнике

 

Подскажите пожалуйста, может кто то сталкивался с чем то подобным.

Есть следующие функции:

//+------------------------------------------------------------------+
void ClosePositions()
  {
   bool c;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC)
           {
            if(OrderType() == OP_BUY)  c=OrderClose(OrderTicket(),OrderLots(),Bid,Slip,White);
            if(OrderType() == OP_SELL) c=OrderClose(OrderTicket(),OrderLots(),Ask,Slip,White);
           }
        }
     }
   return;
  }
//+------------------------------------------------------------------+
double AllProfit()
  {
   double profit=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC)
           {
            if(OrderType()<2) profit+=OrderProfit()+OrderSwap()+OrderCommission();
           }
        }
     }
   return (profit);
  }
//+------------------------------------------------------------------+
void DelOrder()
  {
   bool del;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC)
           {
            if(OrderType()>1) del=OrderDelete(OrderTicket());
           }
        }
     }
   return;
  }
//+------------------------------------------------------------------+

 

Их вызов на каждом тике:

 

//закрытие по профиту в валюте
   if(AllProfit()>=Profit && Profit>0)
     {
      ClosePositions();      
      DelOrder();
     } 

 

При достижении профита в валюте удаляем отложенные ордера и закрываем все позиции. Когда одна позиция, она закрывается по профиту как положено, а когда несколько удаляются только отложки. Перепробовал массу вариантов, пробовал и разделять и собрать все в одну функцию, а воз и ныне там. Может быть кто то что то подскажет?

 В настройках выставлен профит 3, есть несколько поз но они не закрываются хотя профит уже превышен. Отложки удалились.

 

 
AM2:

Подскажите пожалуйста, может кто то сталкивался с чем то подобным.

Есть следующие функции:

 

Их вызов на каждом тике:

 

 

При достижении профита в валюте удаляем отложенные ордера и закрываем все позиции. Когда одна позиция, она закрывается по профиту как положено, а когда несколько удаляются только отложки. Перепробовал массу вариантов, пробовал и разделять и собрать все в одну функцию, а воз и ныне там. Может быть кто то что то подскажет?

 В настройках выставлен профит 3, есть несколько поз но они не закрываются хотя профит уже превышен. Отложки удалились.

 

А ошибки анализировали?
 
Vinin:
А ошибки анализировали?
Ошибок нет, не закрывает и все.
 
AM2:
Ошибок нет, не закрывает и все.
Логи покажите