Использование последних значений переменных.

 

В TradeStation предыдущие значения для всех переменных, Числовых и Условных, сохраняются для всех баров, не входящих в «начальный буфер MaxBarsBack». Эти значения могут использоваться в ваших Методиках и Системах.

 

Замечание: В начальном буфере MaxBarsBack все значения переменных равны 0. Поэтому не следует использовать значения переменных для баров, которые попадают в этот начальный буфер. Работая со значениями переменных, используйте функцию CurrentBar (Текущий бар), чтобы быть уверенным, что вы не попадаете в начальный буфер. CurrentBar присваивает значение 1 первому бару, следующему после буфера MaxBarsBack. Каждому последующему бару, функция CurrentBar присваивает возрастающее значение: 2, 3, 4, … и т.д.

Ниже представлен пример системы, которая не будет работать, потому что на первых 10 барах значения переменных еще не установлены:

Value1 = (Close + Open) /2;

If Close > Value1[10] then Buy at market;

 

Для того чтобы правильно записать такую систему необходим следующий код:

Value1 = (Close + Open) /2;

If CurrentBar >= 10 and Close > Value1[10] then Buy at market;

 

Другой вариант правильного кода:

If Close > (Close[10] + Open[10]) /2 then Buy at market;

 

Обратите внимание: Последний пример работает корректно, потому что не использует Переменных.

Используя Переменные, убедитесь, что CurrentBar равен или больше, чем бар, используемый для значения Переменной.