Выкидывает советника во время клиринга

 

Помогите решить проблемку. 

Выкидывает советника во время клиринга и ночью тоже. Если МТ закрыть, и открыть утром, то не выкидывает.

А надо оставлять без присмотра. 

МТ5, брокер Открытие

Может галочки какие отключить или еще что? С советником вроде все в порядке. 

Есть какие мысли? или брокеру надо звонить, помогите плиз )) 

 
Alex610:

Помогите решить проблемку. 

Выкидывает советника во время клиринга и ночью тоже. Если МТ закрыть, и открыть утром, то не выкидывает.

А надо оставлять без присмотра. 

МТ5, брокер Открытие

Может галочки какие отключить или еще что? С советником вроде все в порядке. 

Есть какие мысли? или брокеру надо звонить, помогите плиз )) 

У меня только вчера неск раз выкидывало. Во время торгов. Исключение не обрабатывалась. Полагаю, что и вас возможно что-то подобное.

Если советник доморощенный - отлаживать, если кода нет - тогда ой.

 
Yuriy Asaulenko:

У меня только вчера неск раз выкидывало. Во время торгов. Исключение не обрабатывалась. Полагаю, что и вас возможно что-то подобное.

Если советник доморощенный - отлаживать, если кода нет - тогда ой.

у меня при этом пишет - zero divide in ...
 
Alex610:
у меня при этом пишет - zero divide in ...

Деление на ноль )

Нужно делать проверку, ищите ошибку в коде и устраняйте. 

 
Alex610:
у меня при этом пишет - zero divide in ...

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

Так чей советник? Автора на сцену.

 
Vitaly Muzichenko:

Деление на ноль )

Нужно делать проверку, ищите ошибку в коде и устраняйте. 

В советнике ошибки нет, думаю че-то с настройками метатрейдера
 
Yuriy Asaulenko:

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

Так чей советник? Автора на сцену.

Во время клиринга пишет что-то типа - нет истории, в коде ошибки не выдает
 
Alex610:

В советнике ошибки нет, думаю че-то с настройками метатрейдера

......

у меня при этом пишет - zero divide in ...

Так кто пишет -  zero divide in ...?

Если советник, то в нем не обрабатывается исключение. Если МТ не виснет, значит искать ошибку надо в советнике. Ошибка, в смысле неправильной обработки советником некорректных данных.

Таких обработчиков исключений в советнике обычно больше, чем непосредственно торгового кода.

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

string Error(int error_code)
  {
   string error_string;
   switch(error_code)
     {
      case 0:
         error_string="no error returned.";                                                                  break;
      case 1:
         error_string="no error returned, but the result is unknown.";                                       break;
      case 2:
         error_string="common error.";                                                                       break;
      case 3:
         error_string="invalid trade parameters.";                                                           break;
      case 4:
         error_string="trade server is busy.";                                                               break;
      case 5:
         error_string="old version of the client terminal.";                                                 break;
      case 6:
         error_string="no connection with trade server.";                                                    break;
      case 7:
         error_string="not enough rights.";                                                                  break;
      case 8:
         error_string="too frequent requests.";                                                              break;
      case 9:
         error_string="malfunctional trade operation.";                                                      break;
      case 64:
         error_string="account disabled.";                                                                   break;
      case 65:
         error_string="invalid account.";                                                                    break;
      case 128:
         error_string="trade timeout.";                                                                      break;
      case 129:
         error_string="invalid price.";                                                                      break;
      case 130:
         error_string="invalid stops.";                                                                      break;
      case 131:
         error_string="invalid trade volume.";                                                               break;
      case 132:
         error_string="market is closed.";                                                                   break;
      case 133:
         error_string="trade is disabled.";                                                                  break;
      case 134:
         error_string="not enough money.";                                                                   break;
      case 135:
         error_string="price changed.";                                                                      break;
      case 136:
         error_string="off quotes.";                                                                         break;
      case 137:
         error_string="broker is busy.";                                                                     break;
      case 138:
         error_string="requote.";                                                                            break;
      case 139:
         error_string="order is locked.";                                                                    break;
      case 140:
         error_string="long positions only allowed.";                                                        break;
      case 141:
         error_string="too many requests.";                                                                  break;
      case 145:
         error_string="modification denied because an order is too close to market.";                        break;
      case 146:
         error_string="trade context is busy.";                                                              break;
      case 147:
         error_string="expirations are denied by broker.";                                                   break;
      case 148:
         error_string="the amount of opened and pending orders has reached the limit set by a broker.";      break;
      case 4000:
         error_string="no error.";                                                                           break;
      case 4001:
         error_string="wrong function pointer.";                                                             break;
      case 4002:
         error_string="array index is out of range.";                                                        break;
      case 4003:
         error_string="no memory for function call stack.";                                                  break;
      case 4004:
         error_string="recursive stack overflow.";                                                           break;
      case 4005:
         error_string="not enough stack for parameter.";                                                     break;
      case 4006:
         error_string="no memory for parameter string.";                                                     break;
      case 4007:
         error_string="no memory for temp string.";                                                          break;
      case 4008:
         error_string="not initialized string.";                                                             break;
      case 4009:
         error_string="not initialized string in an array.";                                                 break;
      case 4010:
         error_string="no memory for an array string.";                                                      break;
      case 4011:
         error_string="too long string.";                                                                    break;
      case 4012:
         error_string="remainder from zero divide.";                                                         break;
      case 4013:
         error_string="zero divide.";                                                                        break;
      case 4014:
         error_string="unknown command.";                                                                    break;
      case 4015:
         error_string="wrong jump.";                                                                         break;
      case 4016:
         error_string="not initialized array.";                                                              break;
      case 4017:
         error_string="DLL calls are not allowed.";                                                          break;
      case 4018:
         error_string="cannot load library.";                                                                break;
      case 4019:
         error_string="cannot call function.";                                                               break;
      case 4020:
         error_string="EA function calls are not allowed.";                                                  break;
      case 4021:
         error_string="not enough memory for a string returned from a function.";                            break;
      case 4022:
         error_string="system is busy.";                                                                     break;
      case 4050:
         error_string="invalid function parameters count.";                                                  break;
      case 4051:
         error_string="invalid function parameter value.";                                                   break;
      case 4052:
         error_string="string function internal error.";                                                     break;
      case 4053:
         error_string="some array error.";                                                                   break;
      case 4054:
         error_string="incorrect series array using.";                                                       break;
      case 4055:
         error_string="custom indicator error.";                                                             break;
      case 4056:
         error_string="arrays are incompatible.";                                                            break;
      case 4057:
         error_string="global variables processing error.";                                                  break;
      case 4058:
         error_string="global variable not found.";                                                          break;
      case 4059:
         error_string="function is not allowed in testing mode.";                                            break;
      case 4060:
         error_string="function is not confirmed.";                                                          break;
      case 4061:
         error_string="mail sending error.";                                                                 break;
      case 4062:
         error_string="string parameter expected.";                                                          break;
      case 4063:
         error_string="integer parameter expected.";                                                         break;
      case 4064:
         error_string="double parameter expected.";                                                          break;
      case 4065:
         error_string="array as parameter expected.";                                                        break;
      case 4066:
         error_string="requested history data in updating state.";                                           break;
      case 4067:
         error_string="some error in trade operation execution.";                                            break;
      case 4099:
         error_string="end of a file.";                                                                      break;
      case 4100:
         error_string="some file error.";                                                                    break;
      case 4101:
         error_string="wrong file name.";                                                                    break;
      case 4102:
         error_string="too many opened files.";                                                              break;
      case 4103:
         error_string="cannot open file.";                                                                   break;
      case 4104:
         error_string="incompatible access to a file.";                                                      break;
      case 4105:
         error_string="no order selected.";                                                                  break;
      case 4106:
         error_string="unknown symbol.";                                                                     break;
      case 4107:
         error_string="invalid price param.";                                                                break;
      case 4108:
         error_string="invalid ticket.";                                                                     break;
      case 4109:
         error_string="trade is not allowed.";                                                               break;
      case 4110:
         error_string="longs are not allowed.";                                                              break;
      case 4111:
         error_string="shorts are not allowed.";                                                             break;
      case 4200:
         error_string="object already exists.";                                                              break;
      case 4201:
         error_string="unknown object property.";                                                            break;
      case 4202:
         error_string="object does not exist.";                                                              break;
      case 4203:
         error_string="unknown object type.";                                                                break;
      case 4204:
         error_string="no object name.";                                                                     break;
      case 4205:
         error_string="object coordinates error.";                                                           break;
      case 4206:
         error_string="no specified subwindow.";                                                             break;
      case 4207:
         error_string="ERR_SOME_OBJECT_ERROR.";                                                              break;
      default:
         error_string="error is not known.";
     }
   return(error_string);
  }


 
Alex610:
у меня при этом пишет - zero divide in ...
раз в логе эта запись zero divide in ..., значит в коде происходит деление на ноль, в скобочках должно еще указано номер строки и позиции в строке где происходит эта ошибка
 
Alex610:
В советнике ошибки нет, думаю че-то с настройками метатрейдера
Так в советнике и не должно быть ошибок, иначе он не будет вообще работать. Это значит что, что-то в советника нужно довести до ума, доработать то есть:) 
 
Sergey Gritsay:
раз в логе эта запись zero divide in ..., значит в коде происходит деление на ноль, в скобочках должно еще указано номер строки и позиции в строке где происходит эта ошибка

пишет МТ5 zero divide in "название советника" (559,61) в разделе эксперты

происходит это во время клиринга

на другом компе стоит такой же робот и не выбрасывает (МТ устанавливал недавно)

проблема в МТ5 скорее всего 

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