в сделку, используя определенный тип
} else if (ts.position1) >= 0 &&. signal == - 1) ( switch(ordertype) { // выбираем желаемый тип приказа case 1: ts.sellopen('4', ncontracts); break; case 2: ts.selllimit('5', limprice, ncontracts); break; case 3: ts.sellstop('6' , stpprice, ncontracts); break; default: nrerror("Invalid sell order selected"); } } // симулятор использует стандартную стратегию выхода tmp = exitatr[cb]; ts.stdexitcls('X', ptlim*tmp, mmstp*tmp, maxhold); } // обрабатываем следующий день ) Определив локальные переменные и векторы, первый блок программы копирует различные параметры в соответствующие переменные для более удобного и понятного обращения к ним. Параметры описаны в ссылках, размещенных в коде. Следующий блок проводит все расчеты на полной серии данных. Средний истинный интервал для 50 дней рассчитывается и сохраняется в векторе (exitatr). Впоследствии он будет использоваться для размещения защитных остановок управления капиталом и целевых уровней прибыли в стандартизованной стратегии выхода. Средний истинный интервал в этом векторе (или в ряду данных) также используется для нормализации возникающих в ходе работы программы изменений цен. После вычисления среднего истинного интервала рассчитываются нормализованные и обрезанные изменения цен. Каждая точка в ряду данных pchg отражает изменение цены между ценами закрытия текущего и предшествующего дней. Изменения цены затем нормализуются путем деления их на средний истинный интервал и обрезаются для снижения влияния экстремальных перепадов цены (статистических выбросов). Нормализация необходима, поскольку волатильность рынков меняется со временем иногда очень сильно. Например, сейчас индекс S&P 500 в 5 и более раз дороже, чем 15 лет назад. Очевидно, что и средняя дневная волатильность изменилась соответствующим образом. Если бы изменения цены не подвергались нормализации и не представлялись в единицах текущей волатильности, сравнение сезонных явлений за разные годы было бы искаженным. Годы, когда волатильность была выше, давали бы больший вклад, чем годы с низкой волатильностью. В случае S&P 500 последние годы полностью доминировали бы при проведении усреднения, а при нормализованном представлении каждый год вносит почти одинаковый вклад. Срезание выбросов проводится на уровне — 2 и + 2 средних истинных интервала, чтобы удалять случайные и аномальные значения, не искажая общую оценку.