hoz
Активный участник
Хм. Нашёл ещё одну весьма интересную вещь. Я сам так не делал, потом стало интересно..
Вот функция обработки ошибок:
В общем-то суть такая, что по дефолту довольно-странный лог получается..
Ведь если условие:
Не выполнено, значит есть какая-то ошибка. Если есть ошибка, значит возможно, тикета может не быть вообще, если данная функция находится в функция посыла ордера, например. Тогда если нет тикета, то получится, что в данном месте:
OrderTicket() не будет при выводе? Но если его нет, это будет ошибка так?
Вот функция обработки ошибок:
PHP:
bool fErrorHandling (int fi_Error, bool& fb_InvalidSTOP)
{
//----
if (fi_Error == 0)
return (true);
switch (fi_Error)
{
case 4: /*ERR_SERVER_BUSY*/
case 137: /*ERR_BROKER_BUSY*/
case 139: /*ERR_ORDER_LOCKED*/
case 146: /*ERR_TRADE_CONTEXT_BUSY*/ Sleep (500); return (false);
case 6: /*ERR_NO_CONNECTION*/ fReConnect(); Sleep (1000); return (false);
case 135: /*ERR_PRICE_CHANGED*/
case 136: /*ERR_OFF_QUOTES*/
case 138: /*ERR_REQUOTE*/ Sleep (1); return (false);
case 129: /*ERR_INVALID_PRICE*/
case 130: /*ERR_INVALID_STOPS*/ fb_InvalidSTOP = true; return (false);
case 4109: /*ERR_TRADE_NOT_ALLOWED*/
Print ("TRADE NOT ALLOWED ! SWITCH ON option \' Allow live trading\' (Необходимо включить опцию \'Разрешить советнику торговать\')");
return (true);
default: fWrite_Log (StringConcatenate (OrderTicket(), ": Критическая ошибка № ", ErrorDescription (fi_Error)), bi_indERR); return (true);
}
//----
return (true);
}
В общем-то суть такая, что по дефолту довольно-странный лог получается..
Ведь если условие:
PHP:
if (fi_Error == 0)
return (true);
Не выполнено, значит есть какая-то ошибка. Если есть ошибка, значит возможно, тикета может не быть вообще, если данная функция находится в функция посыла ордера, например. Тогда если нет тикета, то получится, что в данном месте:
PHP:
fWrite_Log (StringConcatenate (OrderTicket(), ": Критическая ошибка № ", ErrorDescription (fi_Error)), bi_indERR); return (true);
OrderTicket() не будет при выводе? Но если его нет, это будет ошибка так?
Последнее редактирование модератором: