Добрый день, коллеги!
Очень приятно, что на СЛ обитают люди, которые умеют включать мозги).
В
Конкурс на 50,000 руб.! (smart-lab.ru) объявился победитель. Всего на 2-й день. Это
Юрий Ч.
Он уже получил свой выигрыш. Конкурс закрыт.
Поскольку вся переписка велась в чате конкурса, нет смысла скрывать результ. Правда, я его немного причешу.
Итак, у нас есть ценовые массивы High(t), Low(t), Close(t) и абсолютно любая ТС
Введем вспомогательную функцию Pos(X) = if X>0 then 1 else 0 end (почти функция Хевисайда)
и 2 вспомогательных массива
Alpha(t) = Pos(Close(t-1)-Low(t))
Beta(t) = Pos(High(t)-Close(t-1))
Тогда отрицательный снос на каждом баре выглядит так:
1. Версия
Юрий Ч. (причесано мной)
Drift(t) = -abs(Close(t)-Close(t-1)) * if Alpha(t)+Beta(t)=1 then 1 else 0 end
2. Моя версия
Drift(t) = (Close(t)-Close(t-1)) * (Alpha(t)-Beta(t))
Для получения интегрального сноса надо просто просуммировать Drift(t) за нужный временной период.
(
Читать дальше )