English 中文 Español Deutsch 日本語 Português 한국어 Français Italiano Türkçe
Технический анализ: Что мы анализируем?

Технический анализ: Что мы анализируем?

MetaTrader 5Трейдинг | 28 сентября 2010, 17:57
4 419 28
Victor
Victor

Введение

Сегодня очень легко начать торговать на колебаниях валютных курсов. Достаточно установить на компьютер программу MetaTrader (далее MT), открыть счет в каком-либо дилинговом центре и можно начинать торговлю. Но торговать хочется прибыльно. И тут к нам на помощь приходит многолетний мировой опыт торговли.

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

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


Что мы анализируем?

Современный финансовый рынок - это очень чувствительный организм. Практически любые события в мире, так или иначе, воздействуют на него. Огромное количество различных факторов постоянно оказывают влияние на рынок, в результате чего котировки валют непрерывно изменяются. Именно эти, непрерывно изменяющиеся котировки валют, являются единственным и достаточным предметом исследования при техническом анализе рынка.

Предположим, что у нас на компьютере установлен и подключен к дилинговому центру терминал MT. В этом случае на вход терминала котировки поступают в дискретной форме в виде отдельных отсчетов (тиков). Известно, что исходный непрерывный сигнал можно восстановить по его отсчетам, если  частота дискретизации более чем в два раза превышает максимальную частоту в спектре исходного сигнала. На данном этапе у нас нет необходимости восстанавливать исходный непрерывный сигнал, но если в нашем случае это теоретически возможно, то значит, что в процессе дискретизации исходный сигнал не был искажен.

К сожалению, при формировании тиков используется переменная частота дискретизации. Отсчеты котировок (тики) на вход терминала поступают с интервалом, ориентировочно равным от половины секунды до нескольких минут. Алгоритм изменения частоты дискретизации нам неизвестен, кроме того, неизвестна и максимальная частота в спектре исходного сигнала, что делает невозможным оценку величины вносимых в процессе дискретизации искажений.

Остается предположить, что при таком способе квантования не происходит потери информации и исходный непрерывный сигнал (рыночные котировки валют) не подвергается существенным искажениям. Исходя из этого предположения и учитывая, что частота дискретизации может достигать величины примерно 2 Гц, получим оценочное (ориентировочное) значение верхней границы спектра исходного сигнала равное 1 Гц.

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

Если в окне терминала MT выбрать режим отображения в виде линейного графика, то нам будет представлена последовательность отсчетов, с фиксированным интервалом дискретизации, который равен значению выбранного таймфрейма. Опустим некоторые подробности и в дальнейшем будем считать, что эта последовательность формируется из поступающих на вход терминала тиков.

Тогда, если из входной последовательности тиков строго каждые 30 минут выбирать один отсчет, то в результате получится последовательность с фиксированной частотой дискретизации 1/1800 Гц, это и будет последовательность отсчетов для таймфрейма М30. Тот же самый прием используется и для формирования последовательностей на других таймфреймах. Очевидно, что такой способ формирования последовательности отсчетов практически эквивалентен квантованию непосредственно исходного непрерывного сигнала с интервалом, равным значению выбранного таймфрейма.

 

Рисунок 1. Формы представления котировок

Рисунок 1. Формы представления котировок

В результате приведенных рассуждений мы пришли к выводу, что предметом технического анализа являются непрерывно изменяющиеся рыночные котировки, которые нам доступны в дискретной форме в виде отсчетов с переменной частотой дискретизации (тики) и отсчетов с фиксированной частотой дискретизации (таймфреймы). При этом спектр исходных котировок лежит в диапазоне от 0 Гц до 1 Гц.

Если в MT период младшего таймфрейма M1 равен 1 минуте, то согласно нашей модели, исходный сигнал котировок при формировании последовательности отсчетов будет подвергнут дискретизации с частотой 1/60 Гц. Эта частота в 120 раз ниже удвоенного значения верхней границы спектра исходного сигнала (2 Гц). Такое преобразование сигнала обязательно приведет к его необратимым искажениям. Рис. 2 иллюстрирует природу этих искажений.

Рисунок 2. Наложение спектра
Рисунок 2. Наложение спектра

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

Снижение частоты дискретизации ниже удвоенного значения Fh приведет к наложению спектра в результирующей последовательности и она уже не будет являться аналогом исходного непрерывного сигнала. На Рис. 2 показан случай, когда частота дискретизации Fd2 немного ниже удвоенного значения Fh. Как уже упоминалось, для таймфрейма M1 частота дискретизации в 120 раз ниже допустимой.

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

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

Например, полученный при помощи дискретного преобразования Фурье спектр последовательности любого из таймфреймов не будет являться оценкой спектра исходного сигнала котировок. Это будет спектр исходных котировок, многократно наложенный сам на себя с некоторым сдвигом по частоте. Многократное наложение спектра может привести и к образованию фрактальной структуры в результирующей последовательности.

Количественная оценка величины вносимых в исходные котировки искажений выходит за рамки данной статьи, поэтому попытаемся просто продемонстрировать их существование.

В качестве исходного сигнала возьмем произвольный фрагмент последовательности отсчетов котировок пары GBPUSD таймфрейма M5. На Рис. 3 зеленым цветом показан результат фильтрации этого сигнала при помощи ФНЧ, аналогичного используемому в MT фильтру SMA с периодом 45.

Далее из исходной последовательности выберем каждый 15-й отсчет и сформируем последовательность таймфрейма M75 (в MT4 не существует). Таким образом, используя простое прореживание исходной последовательности, мы снизили в 15 раз частоту ее дискретизации.

На Рис. 3 красным цветом показан результат фильтрации полученного сигнала при помощи ФНЧ, аналогичного SMA с периодом 3. Период фильтра был снижен пропорционально снижению частоты дискретизации для того, чтобы частота среза ФНЧ осталась неизменной.

Рисунок 3. Фильтрация котировок GBPUSD

Рисунок 3. Фильтрация котировок GBPUSD

Будем исходить из предположения, что если в процессе снижении частоты дискретизации сигнал не подвергся искажениям, то после его фильтрации мы должны получить результат аналогичный фильтрации исходного сигнала. На Рис. 3 хорошо заметна разница между кривыми, полученными в результате обработки последовательностей M5 и M75. Скорее всего, это и есть влияние искажений, вызванных наложением спектра при снижении частоты дискретизации.

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

Использование последовательностей разных таймфреймов удобно для визуализации котировок, но если мы применяем тот или иной математический аппарат для их анализа, то переход на старшие таймфреймы может служить только для уменьшения объемов вычислений за счет снижения количества обрабатываемых отсчетов.

Если объемы вычислений не принимать в расчет, то переход на старшие таймфреймы не даст нам ничего, кроме дополнительных искажений исходного сигнала. Теоретически оптимальным является анализ котировок по поступающим на терминал тикам. Если бы мы располагали историей поступления тиков, то используя интерполяцию (например, сплайны) можно было бы осуществить переход к последовательности с фиксированной частотой дискретизации, выбрав значение этой частоты достаточно высоким.

При отсутствии таких исторических данных с точки зрения искажения исходных котировок для анализа выгоднее всего использовать последовательность младшего таймфрейма M1. В случае необходимости можно снизить частоту дискретизации этой последовательности, но при этом необходимо сначала подавить в ее спектре частоты, лежащие выше значения равного половине новой частоты дискретизации.

Степень влияния рассмотренных искажений на результат анализа котировок во многом зависит от чувствительности используемых для анализа алгоритмов. Вполне может оказаться, что в каких-то случаях эти искажения не будут оказывать существенного влияния на полученный результат, но для правильной интерпретации результатов вычислений всегда необходимо помнить об их присутствии.

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

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

Существует много работ, посвященных свечному анализу, в которых рассматриваются различные методы прогнозирования поведения котировок по форме свечей или по их комбинации. Не будем подвергать сомнению эффективность этих методов, но давайте посмотрим, с чем мы столкнемся, например, при попытке математического анализа значений «Low» и «High» на любом из таймфреймов.

Как известно, величины «Low» и «High» равны минимальному и максимальному значению котировок на периоде выбранного таймфрейма. В какой именно момент времени эти значения были достигнуты, мы не знаем. Величины «Low» и «High» не имеют однозначной привязки к оси времени, все, что нам о них известно, так это то, что котировки достигли эти значений, где то в пределах выбранного таймфрейма. Следовательно, как «Low», так и «High» являются последовательностью отсчетов с переменным периодом дискретизации, который принимает случайное значение в диапазоне от нуля до величины равной периоду таймфрейма.

С точки зрения математических методов цифровой обработки сигналов, такое представление значений «Low» и «High», как функций от времени, является довольно экзотическим. Конечно, никто не может нам запретить использовать стандартные алгоритмы для обработки этих последовательностей, но как интерпретировать полученные результаты? Например, чему будет равна частота среза простейшего фильтра НЧ первого порядка при фильтрации таких сигналов?

Для работы с функциями, представленными в форме последовательности со случайно изменяющейся частотой дискретизации, наверное, требуется соответствующий математический аппарат, а применение алгоритмов, разработанных для последовательностей с фиксированной частотой дискретизации, при анализе «Low» и «High» должно приводить к неопределенности получаемых результатов. Поэтому к прогнозированию поведения котировок по результатам математического анализа последовательностей «Low» и «High» надо относиться очень внимательно.

При представлении котировок в виде свечей, каждой из них принадлежат не только значения «Low» и «High» о которых мы говорили, но и значения «Open» и «Close», которые все вместе и формируют свечу. Давайте посмотрим, насколько однозначно на интервале таймфрейма свеча отображает последовательность котировок.

 

Рисунок 4. Формирование свечи
Рисунок 4. Формирование свечи

На Рис. 4 показаны три совершенно разные последовательности, приводящие к формированию одной и той же свечи. Как видим, по форме свечи практически невозможно определить характер поведения котировок, а величины «Low» и «High» не имеют привязки по времени.

Такие примеры можно приводить до бесконечности. Может быть, представление котировок в виде свечей и является удобным инструментом для быстрой визуальной оценки их поведения, но отсчеты «Low» и «High», которые формируют тени свечи, оказываются малопригодны для математического анализа. С «Open» и «Close» дело обстоит немного лучше, но и тут мы сталкиваемся с неопределенностью момента взятия отсчета этих последовательностей.

Например, в качестве значения «Open» принимается величина первого поступившего в анализируемом периоде тика, если за весь период таймфрейма ни одного тика так и не поступило, то данная свеча и вовсе не будет сформирована. Кроме того, при использовании «Open» и «Close» не будем забывать и о наличии ошибок, связанных с наложением спектра.

Напрашивается вывод, что для математического анализа котировок, как было упомянуто ранее, корректнее всего использовать последовательность «Close» самого младшего таймфрейма, а дополнительные отсчеты «Low», «High» и «Open», формирующие свечу, скорее всего, не несут в себе никакой принципиально новой информации.

Для анализа котировок, вместо значения «Close» можно попробовать использовать деленную на два сумму величин «Open» текущего бара и «Close» предыдущего. Возможно, такой прием позволит в некоторой степени снизить влияние неопределенности моментов взятия отсчетов «Open» и «Close» и уточнить привязку к времени начала таймфрейма.


Заключение

Рассмотренный в статье способ представления котировок довольно широко распространен. Он используется не только в MT, но и на других платформах. Те же самые таймфреймы, бары и свечи мы видим и в новом MetaTrader 5. Можно сказать, что такое представление котировок является традиционным и, наверняка, имеет определенные преимущества, но с формальной точки зрения, котировки, предоставляемые пользователю для математического анализа, при этом  оказываются искаженными.

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

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

Последние комментарии | Перейти к обсуждению на форуме трейдеров (28)
[Удален] | 1 окт. 2010 в 06:59
Prival:

А Вы не задумывались над таким фактом (рис.4). Поясню на примере, многие трейдеры используют свечной анализ. И допустим произошел «факт» свеча закрылась и если это молот то по методике нужно продавать (или покупать не важно). Посмотрите еще раз на рис.4 и просто представьте, что бар начался строиться немного не в тот момент времени, а смещен, начало смещено влево или право.

И что происходит ?  история тиковая не поменялась, а вот бар может великолепно превратиться из молота, в какую ни будь «завесу облаков» и по методике уже нужно не продавать, а покупать…моё мнение, свечной анализ ( с его множеством комбинаций) – это не что иное как попытка вытащить информацию о «характере движения тиков» которые спрятала свеча.


Вот тут и начинаешь понимать СИЛУ ТИКОВ и РАЗНИЦУ ВО ВРЕМЕНИ РАЗЛИЧНЫХ ДЦ.

Gorez:

по-моему мнению, свеча прекрасно дает 5 параметров, иногда и 6 :)

но прежде чем принять решение по сформировавшемуся сигналу (пусть это будет молот) нужно дождаться его точного превращения в молот , а не в нечто другое :) Именно , здесь и "пролетаем", когда пытаемся на текущем баре (молоте) принять решение о сделке.Хотя, если подходить строго - этот бар мы обязаны пропустить , и ,только после следующего минимум, принять решение :) 

Довольно часто, ситуация "фальшивых " звезд и молотов возникает после выходных, когда ДЦ начинает/заканчивает торги чуть раньше/позже, и вот тогда не обрашавший раньше на часовые пояса трейдер, ловит себя на мысли : "неужели я ошибся в фигуре ?"  :)

Удачи всем.

Prival, как я понимаю, имел введу совсем другое.

Два трейдера торгующих на разных ДЦ могут видеть "разные" графики, анализируя рынок в одно и тоже время. Это связано с различием во времени начала и окончания торгов на этих ДЦ.

В ситуации когда время открытия и закрытия баров различается закрытые и сформированные свечи МОГУТ быть СОВЕРШЕННО РАЗНЫМИ. Свечи могут различаться не только по форме но и по цвету.

sergeyas
sergeyas | 2 окт. 2010 в 17:42

Когда Мунехисо Хомма создавал свои свечные графики, он понятия не имел что такое спектры,ЦОС,матожидание и прочие современные инструменты.Свечки нужны были ему для удобства визуального восприятия.Для анализа и интерпретации  использовались совсем другие модели и образы из обихода и уклада жизни.Можно с уверенностью сказать, что свечи созданы, по  сути ,совсем не для компьютерного моделирования.Совершенно такая же ситуация была в шахматах еще совсем недавно - почитайте комментарии шахматных аналитиков ....Но другого у нас пока нет и никто не оценил количественно степень его неэффективности

Представление котировок в виде свечей уже само по себе есть и способ дискретизации по времени со "встроенным" дискриминатором по амплитуде,и ФНЧ.Глядя на свечу ,мы видим результат работы некоего конвертера-алгоритма по обработке тиковой истории(массива данных) на определенном отрезке времени в визуальный образ.Я допускаю,что этот алгоритм имеет какие-то недостатки с точки зрения математика и программиста.Возможно,что мы теряем часть информации.Но тут мы все равны,так  как видим результат работы одного и того же  алгоритма.И искажения и потери,обусловленные методом Хоммы они для всех одни.Другое дело искажения,вносимые (вольно или невольно!)конкретным ДЦ.

 Если кто-нибудь придумает новый эффективный способ отображения котировок и более пригодный для матмоделирования - тому и достанется место в истории рядом с Хоммой.:)

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

Denis Kirichenko
Denis Kirichenko | 2 окт. 2010 в 18:29
Как известно, MetaTrader —  это информационно-торговая платформа. В частности, в неё входит MetaTrader 4 Manager. Если не ошибаюсь, именно там сохраняется файл с таким расширением как *.ticks. Т.е. в любом ДЦ, который использует МТ, есть история тиков по умолчанию. Почему они не выкладывают её для общественности в открытом доступе - это большой вопрос...
sergeyas
sergeyas | 2 окт. 2010 в 19:37
Interesting:

Вот тут и начинаешь понимать СИЛУ ТИКОВ и РАЗНИЦУ ВО ВРЕМЕНИ РАЗЛИЧНЫХ ДЦ.

Prival, как я понимаю, имел введу совсем другое.

Два трейдера торгующих на разных ДЦ могут видеть "разные" графики, анализируя рынок в одно и тоже время. Это связано с различием во времени начала и окончания торгов на этих ДЦ.

В ситуации когда время открытия и закрытия баров различается закрытые и сформированные свечи МОГУТ быть СОВЕРШЕННО РАЗНЫМИ. Свечи могут различаться не только по форме но и по цвету.

Interesting:

Вот тут и начинаешь понимать СИЛУ ТИКОВ и РАЗНИЦУ ВО ВРЕМЕНИ РАЗЛИЧНЫХ ДЦ.

Prival, как я понимаю, имел введу совсем другое.

Два трейдера торгующих на разных ДЦ могут видеть "разные" графики, анализируя рынок в одно и тоже время. Это связано с различием во времени начала и окончания торгов на этих ДЦ.

В ситуации когда время открытия и закрытия баров различается закрытые и сформированные свечи МОГУТ быть СОВЕРШЕННО РАЗНЫМИ. Свечи могут различаться не только по форме но и по цвету.

В сети среди трейдеров иногда звучат мнения,что в рамках одного ДЦ торговля идет  как бы между собой,что якобы вносит свои искажения в формирование свечей.?????
[Удален] | 2 окт. 2010 в 19:51
sergeyas:
В сети среди трейдеров иногда звучат мнения,что в рамках одного ДЦ торговля идет  как бы между собой,что якобы вносит свои искажения в формирование свечей.?????

Не думаю что торговые операции совершаемые в рамках одного ДЦ (не биржи, а именно ДЦ) хоть как-то влияют на формирование свечей.

Построение кода индикаторов с несколькими индикаторными буферами для начинающих Построение кода индикаторов с несколькими индикаторными буферами для начинающих
Процесс превращения простого в сложное зачастую сопровождается нагромождением количественных изменений до таких размеров, что непосвященному начинает казаться, что невозможно подобное хоть как-то объять разумом. Совсем другое дело, когда все фундаментальные элементы этого сложного уже до боли знакомы и процесс созидания превращается в незатейливую демонстрацию того, как на деле все необыкновенно просто. В данной статье автор, основываясь на материалах двух своих предыдущих статей, знакомит читателей с тем, как написать код такого индикатора, как Aroon.
Растущий нейронный газ - реализация на языке программирования MQL5 Растущий нейронный газ - реализация на языке программирования MQL5
В статье приводится пример написания на языке MQL5 программы, реализующий адаптивный алгоритм кластеризации, называемый "Растущий нейронный газ" (Growing neural gas, GNG). Статья рассчитана на пользователей, изучивших документацию к языку, а также уже имеющих определенные навыки программирования и базовые знания в области нейроинформатики.
Повышаем качество кода при помощи Unit Test Повышаем качество кода при помощи Unit Test
Даже в простых программах зачастую находятся ошибки, которые кажутся невероятными. "Как я такое написал?" - первое, что приходит в голову, когда мы обнаруживаем такую ошибку. Второй вопрос - "Как этого избежать?" - приходит гораздо реже. Нельзя написать 100%-ный безошибочный код, особенно в больших проектах, но можно использовать технологии для их своевременного обнаружения. Статья рассказывает о том, как можно повысить качество MQL4 кода, применяя распространенную методику модульного тестирования (Unit Testing).
Поиск ошибок и ведение лога Поиск ошибок и ведение лога
В редакторе MetaEditor 5 есть возможность отладки, но часто при написании программ на MQL5 требуется просмотр не отдельных значений, а массовых выводов сообщений во время онлайн-работы или при тестировании. При больших объемах содержимого лог-файла встает вопрос механизации для удобного и быстрого поиска интересующего сообщения. Мы рассмотрим способы поиска ошибок в программах на MQL5 и способы ведения лога. А также упростим запись логов в файлы и познакомимся с простенькой программой LogMon для комфортного просмотра логов.