English Deutsch 日本語
preview
Осциллятор Parafrac V2: Интеграция Parabolic SAR и среднего истинного диапазона (Average True Range)

Осциллятор Parafrac V2: Интеграция Parabolic SAR и среднего истинного диапазона (Average True Range)

MetaTrader 5Индикаторы |
347 1
Daniel Opoku
Daniel Opoku

Аннотация

Распространение технических индикаторов часто приводит к перегрузке графиков и аналитическому параличу для трейдеров. В этой статье представлен индикатор Parafrac V2 Oscillator, усовершенствованный инструмент технического анализа, разработанный на основе синтеза индикаторов Parabolic SAR (Stop and Reverse, «остановка и разворот») и Average True Range (ATR) («средний истинный диапазон»). Этот новый осциллятор устраняет критическое ограничение, выявленное в его предшественнике, индикаторе Parafrac Oscillator, который объединял параболический индикатор SAR с фрактальными индикаторами, где экстремальные, однобарные скачки цен могли генерировать аномальные и вводящие в заблуждение сигналы.

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


Введение

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

Оригинальный осциллятор Parafrac представлял собой первую попытку применения этой методологии, объединив возможности следования за трендом индикатора Parabolic SAR с определением волатильности индикатора Fractal. Несмотря на его эффективность во многих случаях, эмпирические наблюдения выявили уязвимость к искажению сигнала, вызванному отдельными ценовыми барами с высокой волатильностью. Для подавления этого шума на выход генератора был установлен ограничитель, фиксирующий его значения в диапазоне -10 до +10. Настоящее исследование развивает эту идею, предлагая более фундаментальное усовершенствование: замену фрактального индикатора на ATR. В данной статье рассматривается теоретическое обоснование этой замены и исследуется ее влияние на профиль генерации сигнала осциллятором, что позволяет ввести в применение осциллятор Parafrac V2.


Изучение индикаторов-компонентов

Механизм работы параболического SAR подробно описан в статье, посвященной введению в применение оригинального осциллятора Parafrac. Поэтому в данном разделе внимание будет уделено исключительно ключевому компоненту, представленному в следующей редакции: индикатору «Средний истинный диапазон» (ATR).

  • Индикатор среднего истинного диапазона (ATR)

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

Индикатор ATR легко доступен из торговой платформы. Чтобы найти его, откройте список индикаторов, перейдите в категорию «Осцилляторы», а затем выберите ATR из доступных вариантов, как показано на рисунке 1.

atr1

Рисунок 1. Выбор ATR

Индикатор ATR имеет один основной входной параметр, как показано на рисунке 2: период ATR. Это числовое значение определяет количество баров или свечей, используемых для расчета скользящей средней истинного диапазона. Меньшее значение периода (например, 7) сделает ATR более чувствительным к недавним изменениям волатильности, что приведет к более быстрой, но потенциально более шумной реакции на изменения волатильности. И наоборот, более длительный период (например, 21) обеспечит более сглаженное, усредненное измерение волатильности, которое будет медленнее реагировать на меняющиеся рыночные условия. 

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

atr_sett

Рисунок 2. Входные параметры ATR

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

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

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


Разработка осциллятора Parafrac V2

Оригинальный осциллятор Parafrac использовал индикатор Fractal для определения динамического ценового диапазона путем измерения расстояния между последними значимыми опорными максимумами и минимумами. Полученный диапазон значений использовался затем вместе со значением параболического индикатора SAR для генерации осциллятора, который колеблется вокруг центральной оси.

Методологическое усовершенствование Parafrac V2 заключается в переосмыслении этого «диапазона». Вместо того чтобы полагаться на дискретные опорные точки, определенные индикаторами Fractal (которые могут резко стать недействительными или вызвать резкие скачки в значении диапазона) осциллятор V2 использует диапазон, нормированный по волатильности, полученный из ATR. Эта замена коренным образом меняет конструкцию осциллятора.

  • Математическая концепция

Математическая формула осциллятора Parafrac V2 определена отдельно для условий бычьего или медвежьего тренда:

Для восходящих трендов:

upAtr

Для нисходящих трендов:

DnAtr

где ATR ≠ 0, а параболический индикатор SAR соответствует либо цене открытия, либо цене закрытия свечи.

Эта нормализация посредством ATR обеспечивает согласованность данных по различным рыночным инструментам. 


Результаты

1. Межрыночная нормализация

С момента нормализации осциллятор выдает сопоставимые значения по разным инструментам, как показано на рисунке 3. Например, если пара Gold/USD показывает значение ±5, то такая валютная пара, как GBP/JPY, будет отражать аналогичные уровни, что обеспечит трейдерам гибкость в разработке стратегий, применимых к различным классам активов.

parV2

Рисунок 3. Осциллятор Parafrac V2

Замечено, что сигналы осциллятора Parafrac V2 в целом остаются в пределах диапазона ±5. Когда значения превышают этот порог, рынок может вступать в фазу перегруженности (перекупленности или перепроданности), что указывает на повышенную вероятность потенциального разворота.

2. Влияние настроек ATR

  • Более короткий период ATR (например, 20) быстрее реагирует на волатильность, что приводит к более частым колебаниям гистограммы.
  • Более длительный период ATR (например, 100) сглаживает гистограмму, отфильтровывая кратковременный шум.

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

3. Влияние разрыва параболического индикатора SAR

Расстояние между ценой и параболическим SAR, известное как разрыв PSAR, также влияет на осциллятор:

  • если ATR > разрыва PSAR, гистограмма осциллятора снижается;
  • если ATR < разрыва PSAR, гистограмма осциллятора увеличивается.

Таким образом, взаимосвязь между ATR и разрывом PSAR позволяет оценить силу рынка.

4. Нормализованный диапазон

В большинстве наблюдений осциллятор колеблется в диапазоне ±5. В отличие от оригинального осциллятора Parafrac, в котором в качестве крайних уровней использовалось значение ±10, в Parafrac V2 этот аспект усовершенствован за счет установки опорных уровней на уровне ±7. При настройках ATR по умолчанию цены редко выходят за пределы этого диапазона, хотя пользователи могут корректировать пороговые значения в соответствии со своими стратегическими предпочтениями.

comp1

Рисунок 4. Сравнение оригинальной и новой версии V2

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

5. Снижение пиковых значений для получения более четких сигналов

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

comp2

Рисунок 5. Сравнение осциллятора Parafrac с импульсом и V2 

На рисунке 5 нижняя панель иллюстрирует исходный осциллятор Parafrac без применения порога ±10, а верхняя панель отображает усовершенствованный осциллятор Parafrac V2. Ключевое различие сразу же становится очевидным: оригинальная версия создает выраженные всплески сигнала, часто вызванные резкими колебаниями цен, тогда как модель V2 демонстрирует более плавную реакцию без подобных аномалий. Это демонстрирует эффективность модификации на основе ATR при фильтрации шума и предоставлении трейдерам более стабильных и надежных сигналов.


Предполагаемые области применения в аналитических исследованиях

Осциллятор Parafrac V2 разработан для универсального применения в техническом анализе. Ожидается его применение в следующих областях:

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

Импульс тренда пользователь может задать в соответствии с выбранным временным интервалом, установив пороговые значения. Например, при анализе пары USDJPY на графике H4 резкое изменение направления в сочетании с пересечением двумя первыми гистограммами уровня +2.5 сверху сигнализирует о покупке, а пересечение ниже уровня –2.5 — о продаже. Такой подход дает пользователям возможность с легкостью определять, какой пороговый уровень следует использовать в качестве основы для выявления трендов.

trd1

Рисунок 6. Выявление трендов

  • Анализ дивергенций: одной из важнейших сфер применения является выявление дивергенций между осциллятором и движением цены. Например, если индекс S&P 500 достигает нового максимума, а Parafrac V2 формирует более низкий максимум (медвежья дивергенция), это может сигнализировать об ослаблении бычьего импульса и потенциальном развороте тренда.

div1

Рисунок 7. Расхождение между ценой и осциллятором

  • Условия перекупленности/перепроданности: хотя это и не является основной функцией, крайние значения вблизи предельных уровней +7 или -7 могут указывать на перекупленность или перепроданность рынка, благоприятную для возврата к среднему значению, особенно если это подтверждается сигналами ценового движения. Пользователь может установить пороговые уровни для условий перекупленности и перепроданности в зависимости от характеристик анализируемой ценной бумаги.

ovrbgt1

Рисунок 8. Состояние перекупленности

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


Структура кода

Хотя мы разработали версии осциллятора Parafrac V2 для MetaTrader 4 и MetaTrader 5, в дальнейшем обсуждении для наглядности будут рассмотрены отдельные фрагменты кода с использованием структуры MetaTrader 5.

// Input parameters
input double pstep = 0.02;
input double pMax = 0.2;
input int AtrPeriod = 7;

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

   // Set indicator buffers
   SetIndexBuffer(0, UpBuffer, INDICATOR_DATA);
   SetIndexBuffer(1, DownBuffer, INDICATOR_DATA);
   
   // Set empty values
   PlotIndexSetDouble(0, PLOT_EMPTY_VALUE, 0.0);
   PlotIndexSetDouble(1, PLOT_EMPTY_VALUE, 0.0);
   
   // Initialize buffers
   ArrayInitialize(UpBuffer, 0.0);
   ArrayInitialize(DownBuffer, 0.0);
   
   // Create indicator handles
   sarHandle = iSAR(_Symbol, _Period, pstep, pMax);
   if(sarHandle == INVALID_HANDLE)
   {
      Print("Error creating SAR handle");
      return(INIT_FAILED);
   }
   
   atrHandle = iATR(_Symbol, _Period, AtrPeriod);
   if(atrHandle == INVALID_HANDLE)
   {
      Print("Error creating ATR handle");
      return(INIT_FAILED);
   }

Этот фрагмент кода:

  • установить буфер индикатора
  • установить пустые значения
  • инициализировать буферы
  • создать маркеры индикатора 

Этот код настраивает хранилище данных (буферы) для осциллятора Parafrac V2, инициализирует их, а затем создает связи со встроенными в MetaTrader 5 индикаторами Parabolic SAR и ATR. Эти данные впоследствии будут использованы в вычислениях для генерации значений осциллятора.

   for(int i = pStart; i < rates_total; i++)
   {
      // Skip if data is not valid
      if(sarArray[i] == EMPTY_VALUE || atrArray[i] == EMPTY_VALUE || atrArray[i] == 0)
      {
         UpBuffer[i] = 0;
         DownBuffer[i] = 0;
         continue;
      }
      
      // Determine trend and compute histogram value
      if(close[i] > sarArray[i])  // Uptrend condition
      {
         double diff = (high[i] - sarArray[i]) / atrArray[i];
         UpBuffer[i] = diff;
         DownBuffer[i] = 0;
      }
      else if(close[i] < sarArray[i]) // Downtrend condition
      {
         double diff = (low[i]-sarArray[i]) / atrArray[i];
         DownBuffer[i] = diff; // Negative value for downtrend
         UpBuffer[i] = 0;
      }
      else // If Close equals SAR, no value is plotted
      {
         UpBuffer[i] = 0;
         DownBuffer[i] = 0;
      }
   }

Этот цикл заполняет буферы индикатора, сравнивая цену закрытия с показателем Parabolic SAR. Он вычисляет, насколько цена отличается от SAR, нормализованного по ATR (волатильности рынка). Результат:

  • UpBuffer — положительные бары осциллятора во время восходящего тренда.
  • DownBuffer — отрицательные бары осциллятора во время нисходящего тренда.
  • Нулевые значения — отсутствие сигнала, если SAR и цена перекрываются или данные недействительны.


Заключение

Осциллятор Parafrac V2 представляет собой логичное и теоретически обоснованное развитие концепции составного индикатора. Заменив индикатор Fractal на ATR, этот новый инструмент непосредственно решает проблемы шума и чувствительности к пикам, присущие его предшественнику. Благодаря использованию ATR, осциллятор получает встроенный механизм корректировки волатильности, что позволяет получать не только более надежные и сглаженные, но и контекстно-зависимые от меняющихся рыночных условий сигналы.

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

Перевод с английского произведен MetaQuotes Ltd.
Оригинальная статья: https://www.mql5.com/en/articles/19354

Прикрепленные файлы |
Последние комментарии | Перейти к обсуждению на форуме трейдеров (1)
Conor Mcnamara
Conor Mcnamara | 18 сент. 2025 в 15:57

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

Думаю, будет лучше, если вы окрасите гистограмму в серый цвет на ослабленной волатильности в тренде. Я приложил правку кода.

Машинное обучение и Data Science (Часть 38): Применение трансферного обучения (Transfer Learning) на валютных рынках Машинное обучение и Data Science (Часть 38): Применение трансферного обучения (Transfer Learning) на валютных рынках
Прорывы в области искусственного интеллекта, о которых пишут в новостях, от ChatGPT до беспилотных автомобилей, создаются не на основе отдельных моделей, а благодаря накопленным знаниям, перенесенным из различных моделей или общих областей. Теперь этот же подход "обучить один раз, применять везде" можно использовать для трансформации наших моделей ИИ в алгоритмической торговле. В этой статье мы узнаем, как можно использовать полученные с помощью различных инструментов данные для улучшения прогнозов посредством трансферного обучения.
От новичка до эксперта: Создание индикатора для определения зон ликвидности От новичка до эксперта: Создание индикатора для определения зон ликвидности
Протяженность зон ликвидности и величина диапазона пробоя являются ключевыми переменными, существенно влияющими на вероятность повторного тестирования. В этом обсуждении мы описываем полный процесс разработки индикатора, который включает в себя эти коэффициенты.
Нейросети в трейдинге: Масштабируемые трансформеры со структурной декомпозицией признаков (Окончание) Нейросети в трейдинге: Масштабируемые трансформеры со структурной декомпозицией признаков (Окончание)
Статья посвящена практической реализации Field-Aware архитектуры для алгоритмической торговли в среде MQL5. Рассматривается проблема слабой переносимости классических attention-моделей на финансовые данные: нестабильность вне выборки, чувствительность к смене рыночного режима и избыточная вычислительная сложность.
Знакомство с языком MQL5 (Часть 31): Освоение API и функции WebRequest в языке MQL5 (V) Знакомство с языком MQL5 (Часть 31): Освоение API и функции WebRequest в языке MQL5 (V)
Узнайте, как использовать функцию WebRequest и вызовы внешних API, чтобы получать свежие свечные данные, преобразовывать каждое значение в пригодный тип и аккуратно сохранять информацию в табличном виде. Этот шаг закладывает основу для создания индикатора, который визуализирует данные в свечном формате.