Импульс с учётом сезонности (C#)

от StockSharp

Импульс с учётом сезонности Объединяет моментум с исторической месячной доходностью. По завершённым 5-минутным свечам вычисляет M = Momentum(14) и A = SMA(14) от M. Из нулевой позиции покупает при S >...

2,1K загрузок
☆☆☆☆☆ Рейтинг
0 отзывов
Импульс с учётом сезонности (C#)

Импульс с учётом сезонности

Объединяет моментум с исторической месячной доходностью. По завершённым 5-минутным свечам вычисляет M = Momentum(14) и A = SMA(14) от M. Из нулевой позиции покупает при S >= SeasonalityThreshold и M > A, продаёт при S <= -SeasonalityThreshold и M < A. По умолчанию SeasonalityThreshold = 0.5, в процентных пунктах.

Лонг закрывается, если сезонное условие больше не выполнено или M < A; шорт — если его сезонное условие нарушено или M > A. Каждая сигнальная заявка запускает паузу CooldownBars = 120 завершённых свечей для следующих сигнальных решений. Исполненные позиции отдельно защищены штатным локальным стопом StopLossPercent = 2 от фактической цены исполнения: контроль по bid/ask, выход рыночной заявкой без ожидания сигнальной паузы.

Обязателен SeasonalityHistoryFile: CSV в UTF-8 с месячными ценами открытия/закрытия и заголовком SecurityId,Month,Open,Close. Формат Month — yyyy-MM, десятичный разделитель — точка; цены должны быть положительными, месяцы для торгуемого инструмента — уникальными. Строки других инструментов игнорируются. Отсутствующий файл, некорректные строки или отсутствие подходящих наблюдений вызывают ошибку запуска.

На сигнальной свече S — среднее 100 × (Close / Open − 1) для того же календарного месяца прошлых лет в пределах SeasonalityLookbackYears = 10. Требуется не менее MinimumSeasonalSamples = 2 наблюдений. Текущий и будущие месяцы исключаются, даже если присутствуют в файле. При недостаточной истории новые позиции не открываются. Нужно передать реальные месячные цены инструмента; фиксированной таблицы сезонных оценок нет.

Отзывы пользователей

Вход чтобы оставить отзыв

Отзывов пока нет