Каждый трейдер по мере своего развития в торговле формирует свою торговую систему — набор правил, согласно которым он действует. Чтобы проверить свою торговую систему по истории графика используют бэктест. В бэктесте задается большое количество параметров: условие входа и выхода, объем входа и выхода, комиссия сделки, тейк профит и стоп лос сделки и так далее. По полученным данным, таким как, доходность в процентах или в валюте, количеству закрывшихся сделок по стопу или по тейк профиту, можно судить об эффективности стратегии на заданном временном промежутке истории графика.
Выбирая для бэктеста различные по типу активы и находящиеся в разной фазе инструменты, можно понять насколько ваша торговая система применима к ним.
Я тестирую свои торговые системы или индикаторы на языке программирования Pine Script в социальной сети для трейдеров Trading View. На этом языке есть встроенные функции для бэктеста, но мне было удобней написать свои и гибко менять настройки так как мне надо.
Ниже представлен код двух способов построения дивергенции. Один с помощью функции корреляции, другой с помощью функции пивот.
ta.correlation() — Коэффициент корреляции. Описывает степень, на которую две серии стремятся отклониться от своих ta.sma значений.
7 — передаем значение встроенной функции ta.rsi в переменную rsi
8 — задаем коэффициент корреляции, на который будет реагировать индикатор
9 - задаем расчетный период корреляции
11 — переносим значение встроенной функции корреляции ta.correlation в переменную correlation
14 — задаем цвет направления корреляции, изначально бесцветный
15 — с помощью тернарного оператора задаем два условия дивергенции типа Strong. Первое условие медвежьей дивергенции, цвет будет красный, второе — бычьей и цвет зеленый. В случае не выполнения обоих условий цвет будет серый.