746
0 - 50 пунктов (например, для М15). Построить индикаторную линию по этим значениям
несложно, но в окне финансового инструмента она будет отображена в диапазоне от 0 до
50 пунктов цены по финансовому инструменту, т.е. значительно ниже отображаемой на
экране области графика цен, что очень не удобно.
Для отображения индикаторных линий в отдельном окне (которое располагается в нижней
части окна финансового инструмента) в директиве #property (в начале программы)
необходимо указать параметр indicator_separate_window:
#property indicator_separate_window // Индик. рисуется в основном окне
В момент прикрепления такого индикатора к окну финансового инструмента клиентский
терминал образует в нижней части графика цен отдельное окно, в котором и будут
отображены индикаторные линии, рассчитанные в индикаторе. В зависимости от настроек
цвета и вида индикаторных линий они будут отображаться тем или иным стилем.
11.3.8 Ограничение расчётной истории
В большинстве случаев индикаторные линии несут полезную информацию только в
последней истории. Та часть индикаторных линий, которая построена по старым барам
(например, месячной давности на минутном таймфрейме) вряд ли может быть расценена
как полезная для принятия торговых решений. Кроме того, если в окне финансового
инструмента находится много баров, то время, затраченное на расчёт и отображение
индикаторных линий, может занимать неоправданно большое время. Это бывает критично
при отладке программы, когда часто производится компиляция с последующим запуском
программы на исполнение. По этим причинам возникает необходимость выполнять
расчёты не для всей, а только для ограниченной части последней баровой истории.
Для этой цели в следующей программе используется внешняя переменная History.
Значение этой переменной учитывается при вычислении индекса первого (самого левого)
бара, начиная с которого необходимо рассчитывать значения элементов индикаторных
массивов.
i=Bars-Counted_bars-1; // Индекс первого непосчитанного
if (i>History-1) // Если много баров то ..
i=History-1; // ..рассчитывать заданное колич.
Дальнейшие вычисления в цикле while() будут выполняться для того количества баров
последней истории, которое не больше указанного значения History. Обратите внимание,