724
функции start(), т.к. сложилась конфликтная ситуация. В этом случае после сообщения об
окончании работы исполнение функции start() заканчивается с помощью оператора return.
Если последняя проверка показала, что исследуемый ордер рыночный, то производится
подсчёт и анализ общего количества ордеров, открытых по финансовому инструменту.
Для первого из таких ордеров определяются все необходимые характеристики. Если же на
очередной итерации счётчик ордеров (переменная Total ) зафиксирует второй рыночный
ордер, то такая ситуация также расценивается как конфликтная, т.к. эксперт не
предназначен для управления более, чем одним рыночным ордером. В этом случае
исполнение специальной функции start() после уведомления пользователя заканчивается.
В результате исполнения блока учёта ордеров (если все проверки прошли успешно)
переменная Total сохраняет своё значение нулевым, если рыночных ордеров нет, или
получает значение 1, если по нашему финансовому инструменту имеется рыночный
ордер. В последнем случае ряд переменных, поставленных в соответствие
характеристикам ордера (номер, тип, цена открытия, значения стоп-приказов и стоимость
ордера), тоже получают свои значения.
11.2.12 Вычисление торговых критериев
В рассматриваемом примере определение торговых критериев (блок 5-6) вычисляется на
основе разницы значений скользящих средних с различными периодами усреднения. В
соответствии с принятыми критериями ценовой график имеет бычье направление, если
текущее значение МА малого периода усреднения больше, чем значение МА большего
периода, и разница между значениями средних превышает некоторую величину. При
медвежьем движении рынка МА малого периода находится ниже, чем МА большого
периода, и разница между этими значениями также превышает некоторую критическую
величину.
В начале блока вычисляются значения средних с периодами усреднения Period_MA_1 и
Period_MA_2. Факт значимости какого-либо торгового критерия выражается через
значение соответствующей переменной. Переменные Opn_B и Opn_S означают
срабатывание критерия для открытия ордеров Buy и Sell, а переменные Cls_В и Cls_S -
для закрытия. Например, если критерий для открытия ордера Buy не сработал, то значение
переменной Opn_B остаётся равным false (установленным при инициализации
переменной), а если критерий сработал, то переменная Opn_B получает значение true. В