Обсуждение статьи "Разработка инструментария для анализа движения цен (Часть 21): Поиск разворотов рыночной структуры"

 

Опубликована статья Разработка инструментария для анализа движения цен (Часть 21): Поиск разворотов рыночной структуры:

Советник для поиска разворотов на рынке Market Structure Flip Detector позволяет отслеживать изменения рыночных настроений. Он использует пороговые значения, вычисленные на основе ATR, чтобы отслеживать изменения структуры. Советник помечает каждый более высокий и более низкий максимум. Благодаря быстрому выполнению кода и гибкому API, этот инструмент предлагает анализ в реальном времени, визуализирует информацию на графике и содержит интерактивную панель мониторинга для отслеживания количества и времени разворотов. Кроме того, можно настроить звуковые и push-уведомления, чтобы не пропустить ни один важный сигнал и строить действенные стратегии на основе простых входных данных и вспомогательных функций.

Представленный здесь советник решает одну из самых сложных задач в трейдинге — проблему ложных сигналов разворота. Рваное, флетовое движение цены сбивает с толку простые алгоритмы поиска разворотов, из-за чего трейдеры ловят в серию "пил". Детектор разворота рыночной структуры Market Structure Flip Detector решает эту задачу, преобразуя ATR в фильтр на основе количества баров. Он игнорирует незначительные колебания, фиксирует только валидные максимумы и минимумы, а затем сигнализирует о медвежьем развороте, когда более высокий максимум сменяется более низким максимумом, либо о бычьем развороте, когда более низкий минимум превращается в более высокий минимум. В статье мы увидим, как:

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

Ниже я привел GIF-анимацию с демонстрацией работы советника на EURUSD. На закрытии минутных свечей советник отслеживает последовательные минимумы в поисках свинг-минимума, превышающего предыдущую впадину. Когда появляется более высокий минимум, советник рисует зеленую стрелку HL, отмечая бычий разворот. В это же время обновляется панель — здесь она показывает 12 бычьих разворотов, 1 медвежий разворот и средний интервал HL в 108,0 минуты, — отражая обновленную статистику. Н апримере показан переход от нисходящей структуры к потенциальному восходящему движению.

Результаты на реальном рынке


Автор: Christian Benjamin

 
bool IsSwingHigh( int shift, int depth)
  {
   double p = iHigh ( _Symbol , _Period ,shift);
   for ( int i= shift-depth; i<=shift+depth; i++)
       if (i>= 0 && iHigh ( _Symbol , _Period ,i) > p)
         return false ;
   return true ;
  }

Здравствуйте, я не понимаю, почему вы пишете int i=shift-depth, разве нельзя было просто использовать int i=0 ?

Не могли бы вы объяснить это? Спасибо.