Как автоматически протестировать торговую систему (на примере Super Trend). • БТ

Как автоматически протестировать торговую систему (на примере Super Trend).

ЧТО ТАКОЕ ТРЕНД

Тренд (тенденция) – это ситуация, когда цена актива устойчиво движется вверх или вниз в течение определенного периода времени.

Тренды важны, так как трейдеры в основном зарабатывают деньги, когда цена актива движется вверх или вниз. Когда цена растет, они получают прибыль от покупок. Точно так же они зарабатывают деньги, открывая позиции short, когда цена актива падает.

Множество индикаторов пытается определить тренд, как справляется с этой задачей Super Trend?

КАК ДОБАВИТЬ ИНДИКАТОР НА ГРАФИК, ПАРАМЕТРЫ НАСТРОЙКИ

В платформе ATAS индикатор Super Trend добавляется на график так, как и все остальные индикаторы:

  • в окне графика откройте менеджер индикаторов (или нажмите Ctrl+I);
  • в списке индикаторов найдите Technical Indicators / Super Trend;
  • нажмите Add и ОК.

Индикатор рисует на графике цены 2 линии:

  • синяя линия UpTrend (также называется поддержкой или Lower Line) находится под ценой;
  • коричневая линия DownTrend (также называется сопротивлением или Upper Line) находится над ценой.

Линии чередуют друг друга. Очевидно, что когда на графике есть синяя линия, а коричневая отсутствует, то рынок находится в состоянии растущего тренда. Когда на графике присутствует коричневая линия, а синяя отсутствует, то рынок находится в состоянии нисходящего тренда.

Как настраивается индикатор Super Trend

Настройка индикатора Super Trend простая. Индикатор имеет 2 параметра:

  1. Period (по умолчанию Period = 14) влияет на чувствительность. Чем меньше период – тем чаще индикатор будет давать сигналы.
  2. Multiplier – коэффициент, учитывающий волатильность. Чем меньше значение, тем ближе будут находиться линии к ценовым колебаниям, тем тоже чаще будут приходить сигналы.

Формула расчета индикатора достаточно простая.

ормула индикатора SuperTrend

В ее основе лежит индикатор ATR, измеряющий волатильность.

CИГНАЛЫ ИНДИКАТОРА SUPER TREND

Смена тренда происходит:

  • если свеча закрывается ниже синей линии – сигнал начала нисходящего тренда;
  • если свеча закрывается выше красной линии – сигнал начала восходящего тренда.

Пример

Рассмотрим сигналы индикатора Super Trend на графике фьючерса на нефть Brent, 5-минутный период.

Сигналы индикатора Super Trend
  1. Цифрой 1 указано начало нисходящего тренда, а именно на закрытии свечи 16:05. На предыдущей свече 16:00 есть “прокол” синей линии, но закрытие выше, поэтому сигнала не последовало.
  2. Затем идет нисходящий тренд, а в 17:30 появляется широкая бычья свеча, которая делает прокол синей линии. Но закрытие ниже. Поэтому тренд остается нисходящим.
  3. Только на закрытии свечи 17:35 поступает сигнал начала восходящего тренда.
  4. Синяя линия “устояла”, так как свеча закрылась выше.

ТЕСТИРОВАНИЕ ПРИБЫЛЬНОСТИ ТОРГОВЛИ ПО ИНДИКАТОРУ SUPER TREND

Получится ли заработать, торгуя на бирже по сигналам индикатора Super Trend?

Для ответа на этот вопрос мы создали алгоритм, собирающий статистику по сигналам индикатора Super Trend и подключили его по API.

Как писать собственные алгоритмы на языке C# для ATAS, доступно для новичков показано в статье Как писать алгоритмы для ATAS

Алгоритм имеет простой код:

Подсчет результатов торговли по индикатору Super Trend

Алгоритм использует настройки по умолчанию и перебирает все свечи на графике.

ЕСЛИ:

  • на свече i есть синяя линия
  • И на свече i-1 нет синей линии

ТО:

  • закрываем шорт и записываем результат в переменную profitshorts
  • открываем лонг

Аналогично для продаж. На рисунке ниже показано, как по цене открытия свечи i+1 закрывается лонг и открывается шорт.

Подсчет результатов торговли по индикатору Super Trend

Когда алгоритм доходит до конца графика, он выводит в логи итоговый результат.

Эксперимент 1. Добавим алгоритм на график Continuous фьючерса на золото GC, данные с биржи СМЕ, период = 5 минут.

Посмотрим, что происходит в окне логов.

Алгоритм подсчитал, что за 111 дней торговли 1 контрактом по сигналам индикатора Super Trend:

  • было заключено 874 продаж, общий результат от продаж = -83,6 (-8360 долларов при торговле 1 контрактом);
  • было заключено  875 покупок, общий результат от покупок -29,9(-2990 долларов при торговле 1 контрактом);;
  • было достигнут средний результат на сделку = -6 тиков.

Если добавить комиссионные, возьмем среднее значение за круг 5.5 долларов, то получится на комиссию мы потратили бы примерно (874+875)*5,5 = 9619,5 долларов. Немного разочаровывает.

Попробуем изменить таймфрейм / период графика / тип графика. Что тогда?

Эксперимент 2. 

Добавим алгоритм на график E-mini фьючерса на индекс S&P-500. Данные биржи СМЕ, график типа Range 8, Scale = 4. График охватывает 230 дней.

Подсчет результатов торговли по индикатору Super Trend

В окне логов видим результат. Начиная с 7 октября 2020 до 26 августа 2021 года по индикатору Super Trend было произведено 598 сделок (комиссия в деньгах приблизительно 3289 долларов). Средний результат на сделку  чуть больше чем +1 тика без учета комиссионных и проскальзываний. То есть приблизительный результат близок к нулю.

Примечательно то, что общий результат по лонгам +33050 долларов, или  2644 / 299 = чуть более 110 долларов на одну покупку. А вот продажи приносят убыток. Это объясняется тем, что фондовый рынок США в загруженный на график период переживал бурный рост на фоне беспрецедентной поддержки со стороны властей.

Получается, что индикатор Super Trend можно с небольшим эффектом использовать для взятия прибыли на восходящих участках в рамках глобального роста? Да, но это справедливо и для многих других технических индикаторов.

Более того… Если мы загрузим данные по 30-минутному период за 1000 дней (с конца октября 2017 года), то получим следующие данные от алгоритма:

Если провести 2463 сделок, то заработать не получится. Каждая сделка будет в среднем приносить убыток 1 тик или 12,5 долларов.

Но что, если брать только покупки? Ведь на момент своего создания 1 января 1957 г S&P-500 равнялся 386.36. А в августе 2021 года он достиг 4500. Рост в 11 раз за 64 года, приблизительно 7,5% в год.

Алгоритм показывает, что если в течение 1000 дней открывать лонги по индикатору Super Trend, то за 1232 сделок получится заработать 3680 тиков*12,5 доллара = 46000 долларов, а с учетом комиссионных 46000 – 6776 = 39224 доллара.

Но в конце октября индекс равнялся 2575. И если бы мы открыли лонг и удерживали бы позицию, то заработок бы составил 4500-2575 = (1925*4 тика)*12,5 долларов = 96250 долларов. Более чем в 2 раза в отличии от сигналов на покупку от индикатора Super Trend. Без комментариев.

Эксперимент 3. Посмотрим на график типа Renko(6) на рынке золота.

Алгоритм подсчитал, что за 111 дней торговли 1 контрактом по сигналам индикатора Super Trend:

  • было заключено 2452 продаж, общий результат от продаж = 54570 доллара (с учетом комиссии 41084 доллара);
  • было заключено 2453 покупок, общий результат от покупок = 60200 доллара (с учетом комиссии 46708,5 доллара);
  • было достигнут средний результат на сделку = +230 долларов.

Прибыль получается и от покупок и от продаж. Почему результат улучшился? Это связано с тем, что графики Renko по-другому обрабатывают рыночные данные. Ведь чем более выражен тренд на рынке, тем чаще появляются свечи на Renko графике, а во флэте новые “кирпичи” появляются реже, и это может снижать количество ложных сигналов.

Но есть 2 нюанса.

Нюанс первый. 

Посмотрите на 8 августа (“широкий” волатильный день на графике). Это был Flash Crash на рынке золота. В понедельник утром, когда были открыты только азиатские рынки, в условиях пониженной ликвидности цена, как снежный ком, ускоряясь, понеслась вниз. Это произошло в условиях негатива от новостей по безработице в США, вышедших в пятницу. Также падению способствовали торговые роботы и закрытие лонгов по стоп-лоссу.

Алгоритм посчитал этот день так, как будто бы трейды моментально проводились именно по тем ценам, которые были актуальны на момент открытия свечи i+1. Но на практике там были бы жуткие проскальзывания, и если в теории этот день “рисуется” прибыльным, в реальности результат мог оказаться со знаком минус.

Нюанс второй.

Он связан с тем, как строятся открытия “кирпичей” при смене их цвета. Если “кирпич” на графике Renko меняет цвет, то его открытие строится по закрытию предыдущей свечи. А так как наш алгоритм считает результативность по ценам открытия (сразу после того, как поступил сигнал), то это вносит недостоверность в результат.

Насколько сильную? Посудите сами.

Если добавить алгоритм на Renko график (12) для рынка биткоинов на бирже Bybit (Scale = 25, так как шаг цены на криптовалютных биржах очень маленький), то получим подозрительно оптимистичный результат:

Подсчет результатов торговли по индикатору Super Trend

За 112 дней было заключено 1127 сделок, средний результат на сделку = плюс почти 90 долларов (при условии торговли 1 биткоином), а общий профит превысил 100 тысяч долларов.

А вот если переключить тип график на, например, Volume = 500 (Scale = 25), то получим такую картину:

На горизонте в 114 дней было совершено 1097 сделок, причем каждая принесла чуть более 29 долларов без учета комиссионных. При соизмеримой частоте сигналов на том же рынке общая прибыль снизилась более чем в 3 раза. Она стала приблизительно равняться размеру комиссионных.

Выводы. Если во время тестирования на истории вы получаете результаты, показывающие высокую прибыль, отнеситесь к этому с долей скепсиса и проведите дополнительную проверку. Перефразируя популярную поговорку, “7 раз отмерь на демо, 1 раз поставь на реал”.

Использовать индикатор Super Trend на популярных рынках с базовыми настройками видится бесперспективной идеей. Если использовать индикатор нестандартно или в комбинации с другими инструментами, тогда это может иметь рациональный смысл.

ПРЕИМУЩЕСТВА И НЕДОСТАТКИ ИНДИКАТОРА SUPER TREND

Индикатору Super Trend характерны те же преимущества и недостатки, которыми обладают многие технические индикаторы, построенные по простым формулам на основе прошлых цен.

Преимущества:

  • позволяет получить выгоду от затяжных трендов;
  • не перерисовывается;
  • простой в использовании и понимании;
  • при выверенных настройках дает маленькое статистическое преимущество;

Недостатки:

  • возможная прибыль от использования индикатора такова, что соизмерима с размером комиссионных;
  • некоторые сигналы приходят с опозданием;
  • большое количество ложных сигналов поступает на флэтовых рынках.

Устранить полностью недостатки индикатора Super Trend вряд ли возможно.

Чтобы их как-то сгладить, попробуйте использовать:

  • Совмещение периодов, когда сигналы со старших и младших таймфреймов совпадают;
  • Технический анализ. Открывайте shorts только около линий сопротивления, а longs – только около линий поддержки.

Но мы рекомендуем обратить внимание на:

  • кластерные графики. Они содержат ценную информацию, которая позволит вам лучше понимать, что на самом деле происходит на рынке.
  • индикаторы на основе потока ордеров. Например, индикатор Imbalance, Cluster Search или Tape Patterns.