несколько дней или недель. В течение всего этого времени специальная функция start()
будет периодически исполняться. В общем случае, в зависимости от параметров
окружения (новых значений цены, времени, условий торговли и пр.), в специальной
функции start() могут быть выполнены те или иные действия, например, открыт или
модифицирован ордер.
37. С момента прихода нового тика последовательность действий по пп 32 - 36
повторяется. Однако повторяется лишь последовательность выполняемых операторов, но
переменные всякий раз получают новые значения. Рассмотрим отличия между первым и
вторым исполнением специальной функции start().
32 (2). В строке
double Price = Bid; // Локальная переменная
производятся следующие действия:
32.1(2). Объявление локальной переменной Price (без изменений).
32.2(2). Выполнение оператора присваивания. Переменной Price будет присвоено
значение текущей цены Bid (новое значение цены появляется всякий раз с приходом
очередного тика, например, на втором тике цена финансового инструмента окажется
равной 1.2745). (есть изменения).
33(2). Далее будет выполняться строка:
Count++;
В момент, предшествующий передаче управления в эту строку, значение переменной
Count (после первого выполнения функции start()) равно 1. В результате выполнения
оператора Count++ значение Count будет увеличено на единицу. Таким образом, при
втором выполнении значение Count будет равно 2 (есть изменения).
34(2). Функция Alert():
Alert ("Новый тик ",Count," Цена = ",Price);// Сообщение
напечатает все константы и переменные (их новые значения), перечисленные в круглых
скобках.
При втором выполнении функции start() программа напечатает Новый тик, затем
обратится к переменной Count, чтобы получить её значение, (при втором выполнении это
значение равно 2), напечатает это значение, вслед за этим напечатает Цена =, и, наконец,
122