Это значит, что возникает опасность пропустить торговый приказ на закрытие или
открытие ордеров. По этой причине любая стратегия должна составляться таким образом,
чтобы по возможности не допускать значительного количества рыночных ордеров.
В блоке 5-6 выполняется анализ ошибок, полученных при исполнении торговых приказов.
Если ошибка является критической, то функция заканчивает работу. Если же получена
преодолимая ошибка, то значение счётчика i понижается на 1. Это делается для того,
чтобы на очередной итерации цикла for была предпринята ещё одна попытка
модифицировать тот же ордер.
В большинстве случаев представленный код будет удовлетворять потребности
модификации нескольких ордеров. Вместе с тем, если в период нескольких неудачных
попыток модификации в составе ордеров произойдут изменения (например, какой-то из
ордеров будет закрыт при достижения рыночной ценой одного из стоп-приказов), то
порядок ордеров в массиве Mas_Ord_New может измениться. Это приведёт к тому, что
какой-то ордер может быть пропущен и не модифицирован в период последнего запуска
специальной функции start(). Ситуация может быть исправлена на следующем тике, при
очередном запуске функции start().
13.8 Функция обработки ошибок
Ошибки, возникающие при исполнении торговых приказов можно разделить на две
группы - преодолимые и критические. К преодолимым ошибкам относятся все ошибки,
сопровождающие отказ сервера, после которых можно продолжать торговлю. Например,
торговый приказ может быть отклонён брокером в случае, если на текущий момент в его
распоряжении нет информации о текущих ценах. Такая ситуация может возникнуть в
случае очень медленного рынка, т.е. в условиях, когда тики поступают редко. Или
напротив, в условиях быстро меняющегося рынка, когда поступающих котировок
слишком много, брокер не всегда может удовлетворить множество торговых заявок от
трейдеров, и тогда возникает пауза перед исполнением приказа, а иногда - отказ. В
подобных случаях эксперт, после исполнения некоторого кода, поставленного в
соответствие коду ошибки, может продолжать работу, например, после некоторой паузы
повторить торговый приказ.
К критическим относятся все ошибки, возникновение которых свидетельствует о каких-
либо серьёзных нарушениях. Например, если счёт заблокирован, то отправлять торговые
922