Собственно коду предшествует ряд функций,





Собственно коду предшествует ряд функций, необходимых для расчета лунных циклов на любом рынке с адаптивным подходом. Функция Model следует стандартным принципам: после объявления параметры копируются в местные переменные для простоты обращения. Комментарии указывают, что контролируют параметры. В следующем блоке рассчитывается средний истинный интервал за 50 дней (exitatrtab), используемый в выходах и при нормализации, а также лунные сезонные последовательности (savgtab) — прогнозируемые изменения цены для каждого дня. Эти ряды рассчитываются один раз для каждого рынка и заносятся в таблицы; это допустимо, поскольку при повторных вызовах Model в последующих тестах никакие важные параметры не изменяются. Второй блок рассчитывает специфические для моделей временные последовательности, необходимые для получения сигналов входа.

Если modeltype = 1, используется простая импульсная модель;
если modeltype = 2, то модель на основе пересечения;
если modeltype = 3, то модель на основе пересечения с подтверждением,
и если modeltype = 4, то модель на основе пересечения с подтверждением и инверсией.

Среди возможных серий есть такие варианты, как сглаженная последовательность лунных импульсов, интегрированные импульсы (ценоподобный ряд), скользящие средние для моделей на пересечении и Медленный %К для подтверждений и инверсий. В зависимости от modeltype могут приобретать значение некоторые другие параметры. Один из них, avglen, управляет периодом всех скользящих средних: в моделина основе импульса он управляет длиной центрированного треугольного скользящего среднего, а в моделях на пересечении — длиной необходимых там средних.
Другой параметр, disp, выставляет смещение, т.е. степень сдвига вперед для компенсации запаздывания скользящих средних. Параметр thresh означает величину порога, используемого в импульсной модели для длинных и коротких позиций (короткие используют отрицательное значение thresh).

Переменная matype управляет видом скользящего среднего:
1 — простое,
2 — экспоненциальное,
6 — центрированное экспоненциальное,
7 — центрированное треугольное; существуют и другие виды средних, не использованные в анализе.

После расчета всех рядов данных запускается цикл, который перебирает рыночные цены день за днем для моделирования торговли. Этот цикл содержит код для обновления симулятора, определения количества контрактов, избежания дней с ограниченной торговлей и т.п. В следующем блоке, расположенном внутри блока перебора текущих дней, происходит генерация сигналов входа. Правила определяются параметром modeltype.

Последний блок управляет отдачей соответствующих приказов согласно параметру ordertype:
1 — вход по цене открытия,
2 — по лимитному приказу,
3 — по стоп- приказу.

Содержание раздела