Jump to content
  • entries
    3
  • comments
    0
  • views
    1,449

Nat_trade

1,008 views

Определение состояний рынка в различные периоды времени — основа торговли. От того, насколько точен прогноз движения цены, зависит успех трейдера. На эту тему уже написан ряд статей: например, "Несколько способов определения тренда на MQL5". В ней были описаны способы определения трендового состояния рынка, написаны по ним индикаторы и торговые советники. Тренду была посвящена и одна из моих предыдущих статей "Сравнительный анализ 10 трендовых стратегий", в которой разрабатывались и тестировались трендовые стратегии. В этой статье мы тоже выберем несколько способов определения тренда, но только с целью определить его длительность по отношению к флэтовому состоянию рынка. Принято считать, что тренд соотносится с флэтом в пропорции 30% : 70%. Это мы и проверим.

Постановка задачи

Для проведения исследования определимся с задачами и их условиями.

  1. Выбрать способы определения тренда и флэта так, чтобы можно было количественно оценить их и привести к процентному соотношению. Для этого пригодятся только системы, которые могут показывать оба состояния рынка. Желательно, чтобы в них были встроены качественные показатели — сила тренда или ярко выраженное определение бокового состояния рынка.
  2. Иметь возможность определить и оценить соотношение на различных временных периодах, а также на разных рынках одного и разных типов, будь то валютные рынки, фондовые или фьючерсные.
  3. Разработать инструмент, который читатель мог бы использовать в самостоятельных исследованиях в интересующих его условиях.
  4. Провести сравнительный анализ на основе данных, полученных в различных условиях, поискать корреляцию.
  5. Реализация

    1. Выбор способов определения тренда.

    1.1. Начнем исследование с классического индикатора силы тренда ADX. Оценкой присутствия тренда или флэта будет служить уровень TrendLevel. Считаем, что тренд есть, если основная линия поднимается выше этого уровня. На рис.1 представлен пример определения зоны тренда и зоны флета по этому способу. Подсчет состояния рынка будет производиться по количеству свечей, на которых значение ADX будет выше TrendLevel из заданной выборки.

    EURUSDDaily.png

    Рис.1 Определение зоны тренда/флэта с помощью ADX

    1.2. Следующим рассмотрим Индикатор силы и направления тренда, но под наши задачи выберем здесь только один индикатор Боллинджера и уменьшим количество цветов для отображения до двух (красного и зеленого). На рис.2 прекрасно видно, где происходят сильные движения рынка: свечи здесь окрашены в заданные цвета.

    002.png

    Рис.2 Определение зон тренда/флэта с помощью полос Боллинджера.

    1.3. Третьим был рассмотрен Percentage of Trend, который тоже подвергся модификации: из него убран второй период и добавлена цветовая индикация тренда. Результат работы получившегося индикатора представлен на рис.3.

    003.png 

    Рис.3 Определение зон тренда/флэта с помощью Percentage of Trend.

    1.4. Еще один способ определения тренда/флэта — RSIFilter. Для удобства подсчета индикатор RSI отображается в виде гистограммы, где уход значений индикатора в заранее заданные зоны перепроданности/перекупленности отображается как столбец. Здесь тоже внесены изменения в оригинальный индикатор: состояние флэта не отображается, и буфер, отображающий значение высоты гистограммы в таком состоянии рынка, равен нулю. Сделано так, чтобы удобнее было определять наличие тренда, при котором значение буфера равно единице. Пример работы индикатора показан на рис.4.

    004.png

    Рис.4  Определение зон тренда/флэта с помощью RSIFilter.

    1.5. И, наконец, рассмотрим способ из статьи "Несколько способов определения тренда , а именно — определение состояний тренда/флэта с помощью индикатора ZigZagTrendDetector. В нем никаких изменений не проводилось. Работа его представлена на рис.5.

    5__2.png

    Рис.5  Определение зон тренда/флэта с помощью ZigZagTrendDetector.

    2. Разработка и реализация инструмента для подсчета состояний рынка и отображение результатов.

    Результат каждого способа определения тренда/флэта будет представлен в виде сводной таблицы по нескольким таймфреймам. Для наглядности отображения я воспользовался библиотекой EasyAndFastGUI на основе серии статей Графические интерфейсы. Был разработан специальный класс CTrendCountUI для визуализации результатов. Чтобы более четко представлять, как он будет выглядеть, на рис.6 представлен изначальный шаблон, в который будут записываться все подсчеты.

    6__2.png 

    Рис.6 Шаблон отображения подсчета результатов тестирования.

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

  • Upvote 1

0 Comments


Recommended Comments

There are no comments to display.

Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...