Секреты TSLab | Торговые роботы | События
6 Июл

ATR наносит свой удар!

Не так уж чтобы и давно, я написал статью про EMA и ее каверзы. Многим, очевидно, статья показалась не очень информативной и даже, не побоюсь этого, высосанной из пальца. Последняя неделя показала что не совсем из пальца, и что проблема имеет место быть, и многих она ставит в тупик. Так что, будем разбирать реальные случаи (по новомодному это зовется КЕЙСЫ), когда EMA показывает свой оскал :).

ATR + сжатие = перерисовка кривой

Проблема

Данный случай не совсем относится к академическим и, в явной форме, тут нет EMA, но есть ATR, который очень часто содержит внутри себя ту самую EMA. Проблема заключается в следующем:

  1. базовый таймфрейм небольшой, например 1 минута.
  2. глубину истории подаем достаточно большую и ограничиваем эту глубину. Например ровно 1000 свечек.
  3. производим сжатие в 10 минут.
  4. по 10 минутному таймфрейму рисуем ATR с периодом 100.
  5. наблюдаем перерисовку кривой, по всей длине графика, ATR почти с каждым новым баром базового таймфрейма.

Если у нас есть перерисовка по всей длине графика, значит наши сделки тоже начнут дико плавать. Только что были, но с новым баром пропали или переехали в другую точку. Неприятный ситуэйшн :). НЕ ВЕРИТЕ? Пожалуйста, вот ссылка на реальную тему форума .

Для наглядности быстро накидаем тестовый скрипт, который проявит проблему во всей красе.

ATR наносит свой удар

Рисунок 1. Тестовый скрипт с проблемой сжатия и ATR.

Теперь смотрим на график

ATR наносит свой удар

Рисунок 2. Пояснение проблемы на графике.

Как видим из графика, первая свеча будет все время меняться, раз у нас фиксированное число свечек подается в скрипт. А раз меняется первая свеча базового таймфрейма, значит изменяется и сжатая свеча (иногда почти не меняется). Раз изменилась первая свеча сжатого таймфрейма, значит расчет ATR тоже изменится. А раз он изменится на начальном этапе, значит и дальше это  изменение будет проявляться. Конечно, ATR не требует такой же длины истории, как это требует EMA в чистом виде, но 2-3 периода подавать нужно. У нас же, всего 1 период.

Решение

  1. Подавать в скрипт нужно столько истории, чтобы сжатых свечек получалось минимум 2-3 периода ATR. Тогда в конце графика перерисовки кривой не будет. НО перерисовка останется в начальной части графика.
  2. Не фиксировать число свечек, а фиксировать начало истории через “Дата от”. Тогда значение ATR будет всегда одинаковым и перерисовки не будет совсем. Но картинка в агенте может отличаться от таковой в лаборатории (если подаются разные глубины истории).
  3. Собрать свой ATR без участия в нем EMA, тогда проблема полностью нивелируется. Пример скрипта ниже.

Рисунок 3. Расчет ATR без участия EMA.

Сложный скрипт на TSLab API + ATR = ошибочное закрытие/открытие позиций

Проблема

В данном случае проблема была не столь очевидной, так как скрипт был сложным и написан был на TSLab API . Осложнялось все тем, что скрипт не содержал в себе логики генерации сигналов (пользователь решил удалить эту часть кода). Проблема заключалась в следующем:

  1. Нетривиальная логика генерации сигналов на вход и выход.
  2. Небольшая глубина истории подаваемая в скрипт.
  3. В логике скрипта использовался ATR.
  4. Открытые позиции закрывались на следующем же баре.
  5. В лаборатории и в агенте открытие позиций происходило на разных барах, то есть было различие.

Привести пример скрипта или графику данного случая я не могу, так как эта информация  не подлежит разглашению. Но полагаю, что из описания ясно в чем была проблема.

Решение

  1. Проблема закрытия позиций на следующем же баре решилась через увеличение глубины подаваемой истории в скрипт.
  2. Проблема различия между лабораторией и агентом вылечилась одним из рецептов предыдущего описанного случая.

Во всяком случае, данный пользователь больше не пишет, очевидно все в порядке.

 

Выводы

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

Всем удачи! Надеюсь было интересно :).

 


comments powered by HyperComments

gaiver
2014-08-05 15:43:45
Очень! Спасибо!(:smile:)
ra81
2014-08-05 17:39:39
можно подкидывать темы для рассмотрения. Буду стараться осветить в будущем.
6
Ноя
2017

Доверительное управление. Результаты в октябре 2017 года.

Доверительное управление. Результаты в октябре 2017 года. В октябре продолжался боковик на всех торгуемых активах. Российский… »

7
Окт
2017

Доверительное управление. Результаты в сентябре 2017 года.

Доверительное управление. Результаты в сентябре 2017 года. В сентябре на основных торгуемых активах (Ri и… »

8
Сен
2017

Доверительное управление. Результаты в августе 2017 года.

Доверительное управление. Результаты в августе 2017 года. Стратегия “Опционы” принесла в августе прибыль в размере… »

6
Авг
2017

Доверительное управление. Результаты в июле 2017 года.

Доверительное управление. Результаты в июле 2017 года. В июле индекс РТС вновь колебался в достаточно узком… »

14
Июл
2017

Доверительное управление. Результаты в июне 2017 года.

Доверительное управление. Результаты в июне 2017 года. Июнь индекс РТС вновь провел преимущественно в боковых движениях, а… »