Currency Strength Oscillator MT5
- Индикаторы
-
Narayanan Mohanan Mohanan Krishnan
Разработчик MT5/MQL5, создающий Expert Advisors, пользовательские индикаторы, а также инструменты для тестирования и валидации. Моя специализация — чистый, хорошо документированный код без перерисовки (No Repaint): логика по закрытым барам, проверенные буферы, корректное управление хэндлами и - Версия: 1.0
- Активации: 10
Индикатор строит историю относительной силы восьми основных валют, раскладывая её из 28 главных пар. Панель показывает, как обстоят дела сейчас. Здесь видно, как рынок к этому пришёл: какая валюта укреплялась, какая уже развернулась и где сменился лидер.
Все восемь рядов доступны как документированные буферы индикатора, поэтому советник может читать силу валют напрямую.
Как работает декомпозиция
Каждая из восьми валют встречается в семи из двадцати восьми пар. Её сила — это среднее этих семи значений, причём знак инвертируется там, где валюта является котируемой: падение AUDJPY означает укрепление иены, а не её ослабление.
Каждая пара влияет ровно на две валюты — положительно на базовую и отрицательно на котируемую, — поэтому по всему набору эти вклады взаимно компенсируются и сумма восьми значений силы равна нулю. Индикатор использует это как внутреннюю проверку: если бы значения не сходились, декомпозиция была бы ошибочной. Это также означает, что показания относительны, а не абсолютны. Валюта сильна не сама по себе, а лишь относительно остальных валют набора.
Поскольку расчёт опирается на валюты, а не на график, одни и те же восемь линий появляются на любом символе, к которому подключён индикатор.
Что показывает история и не может показать моментальный снимок
Рейтинг говорит о порядке на сегодня. История показывает, как долго он держится, продолжает ли лидер расти или уже разворачивается и когда две валюты поменялись местами. Пересечения — это моменты смены позиций в рейтинге.
Отдельные валюты можно отключить, и часто это полезнее, чем следить за всеми восемью сразу. Вывод только двух валют, образующих символ текущего графика, даёт ясное представление о том, какая сторона им движет.
Два способа измерения силы
Скорость изменения — процентное движение за период наблюдения. Значения напрямую сопоставимы между парами, поскольку они относительны.
Стандартизированное отклонение от среднего выражает то же движение в стандартных отклонениях, что позволяет удерживать на одной шкале инструменты с очень разной волатильностью.
При длинных периодах они ведут себя по-разному. При периоде 200 скорость изменения накапливает устойчивое смещение — несколько валют находятся выше или ниже нуля на протяжении всего окна, ни разу его не пересекая, — тогда как стандартизированная мера остаётся центрированной. Ни одна из них не является неверной. Скорость изменения описывает движение, которое действительно произошло; стандартизированная мера описывает, насколько оно было необычным. При коротких периодах разница невелика.
Парный режим
В парном режиме строится одна линия: сила одной валюты минус сила другой. Это та же декомпозиция, сведённая к одному отношению, и она работает на любом графике — CHF минус JPY можно наблюдать, торгуя EURAUD.
Это не то же самое, что цена CHFJPY. Цена — это котировка одного рынка; здесь же показана разница между двумя валютами, каждая из которых измерена относительно всей матрицы.
За пределами основных валют
Индикатор работает на любом графике, не только на форексе. На графике золота или индекса валютные линии по-прежнему описывают валюты, и часто именно это и требуется: инструмент, котируемый в долларах, читается легче, когда сам доллар виден рядом. Можно подключить несколько экземпляров с разными периодами, чтобы сравнить быстрый и медленный взгляд.
Обратите внимание, что здесь утверждается, а что нет. Золото не входит в матрицу из 28 пар и не имеет собственного значения силы. График показывает доллар, измеренный по валютной матрице, рядом с ценой золота. Корректное прочтение — доллар ослаб, пока золото росло, а не «золото было сильным».
Чтение из советника
Доступны и документированы десять буферов. Порядок буферов фиксирован и алфавитен и не меняется при переключении отображения: скрытие валюты убирает её с графика, но буфер сохраняет значения, поэтому настройки отображения пользователя не влияют на работу советника.
int h = iCustom(_Symbol, _Period, "CurrencyStrengthOscillator"); double jpy[]; ArraySetAsSeries(jpy, true); CopyBuffer(h, 5, 0, 100, jpy); // буфер 5 — всегда JPY
- 0 — AUD
- 1 — CAD
- 2 — CHF
- 3 — EUR
- 4 — GBP
- 5 — JPY
- 6 — NZD
- 7 — USD
- 8 — нулевая линия
- 9 — парный спред, база минус котируемая валюта, заполняется в парном режиме
Входные параметры
- Мера силы — скорость изменения или стандартизированное отклонение от среднего
- Период наблюдения — окно, по которому измеряется каждое значение, в барах; по умолчанию 14
- Сглаживание — скользящее среднее, применяемое к результату; по умолчанию 3, значение 1 отключает сглаживание
- Количество баров для расчёта — насколько далеко назад считать; по умолчанию 500, значение 0 — вся доступная история
- Суффикс символа — определяется автоматически, при нестандартных названиях у брокера может быть задан вручную
- Показать спред одной пары — переключение в парный режим с выбором базовой и котируемой валюты
- Показать AUD … Показать USD — по одному переключателю на валюту, все включены по умолчанию и игнорируются в парном режиме
Что показано на скриншотах
- Три графика рядом — NZDUSD, NZDJPY и USDJPY, на каждом показаны только две собственные валюты. Общие линии повторяют друг друга на разных графиках: новозеландский доллар одинаков на первых двух, иена — на последних двух. Индикатор читает валюты, а не график.
- Все восемь валют на часовом GBPUSD — иена отрывается от остальных, доллар и фунт отстают, рядом видно сопровождавшее это движение цены.
- Окно данных — все десять буферов на одном баре, с подписями и доступные советнику. Восемь валютных значений в сумме дают −0,001 — свойство нулевой суммы на практике, а не в теории.
- Дневной USDJPY только с двумя валютами — доллар и иена, где пересечения совпадают с разворотами цены и ничто другое не отвлекает внимание.
- Часовое золото с выделенным долларом, на двух периодах — два экземпляра индикатора в отдельных окнах, один медленнее, другой быстрее. Короткий период разворачивается первым, длинный подтверждает.
- Парный режим на дневном CHFJPY — одна линия: швейцарский франк минус иена.
- Одно и то же окно EURGBP H4 при двух мерах — один скриншот для скорости изменения, другой для стандартизированной меры, всё остальное без изменений. При периоде 200 описанное выше смещение видно на первом и отсутствует на втором.
- Недельный AUDUSD — цена идёт с 2019 года, а осциллятор начинается в конце 2020-го. Этот разрыв — самая короткая общая история у брокера, о чём сказано ниже.
- Окно параметров — все настройки, за которым виден сам индикатор.
Насколько далеко строится история
Для осмысленной декомпозиции на баре нужны все 28 пар, поэтому доступная глубина равна самой короткой истории среди них, а по второстепенным кроссам брокеры хранят заметно меньше истории, чем по основным парам. Если доступной истории меньше запрошенной, индикатор строит то, что может, и один раз сообщает об ограничении в журнале Experts.
На младших таймфреймах это незаметно. Это становится видно на неделе и месяце, где общая история может составлять несколько сотен баров или меньше, и осциллятор начинается не с начала графика, цена на котором уходит значительно дальше назад. Это ограничение данных, а не ошибка. Оно свойственно данным брокера и касается любого инструмента измерения силы валют — просто большинство из них об этом не сообщает.
Количество баров для расчёта по умолчанию равно 500. Увеличение этого значения или установка 0 для всей доступной истории даёт более длинный обзор ценой более медленной первой загрузки на новом таймфрейме.
Поведение расчёта
Значения на закрытых барах окончательны. Формирующийся бар обновляется до закрытия и пересчитывается на каждом тике, а не фиксируется при первом касании, поэтому его значение устанавливается по закрытию, а не отражает цену на момент открытия бара.
Каждый бар раскладывается либо по всем 28 парам, либо не раскладывается вовсе. Каждая валюта усредняется по тем парам, которые действительно внесли вклад, а не по условным семи, и если пары не хватает, бар остаётся пустым. Разрыв заметен сразу; сила, рассчитанная по неполному набору, выглядит как обычное значение, и позже отличить её от корректной невозможно.
Если время баров пары не совпадает с графиком — пропуск в истории брокера, что встречается на младших таймфреймах, — эта пара исключается из затронутых баров, а не смещается на чужие, и об исключении сообщается в журнале Experts.
Примечания
- Строится в отдельном окне и имеет десять буферов индикатора. Приведённая выше карта буферов фиксирована и не зависит от переключателей отображения.
- У брокера должны быть доступны все 28 основных пар. Индикатор сообщает об отсутствующих поимённо в журнале Experts.
- Диапазон построения ограничен самой короткой историей среди 28 пар, что заметно на неделе и месяце. Об ограничении один раз сообщается в журнале Experts.
- К одному графику можно подключить несколько экземпляров с разными периодами или разными мерами.
- Никаких внешних зависимостей. Все значения рассчитываются внутри индикатора. Он не вызывает другие индикаторы, поэтому нет хендлов, которые могли бы дать сбой, нечего устанавливать дополнительно и нет зависимости от состояния вашей стандартной папки индикаторов.
Чем это является и чем не является
Это инструмент технического анализа и фильтрации рыночных условий. Это не торговая система, он не выдаёт сигналов на покупку или продажу, не даёт инвестиционных рекомендаций и не открывает позиции и не управляет ими.
Он описывает, а не прогнозирует. Он измеряет то, что восемь валют уже делали; он не предсказывает их дальнейшее поведение, и никаких заявлений о доходности не делается.
| Другие инструменты этого разработчика Я разрабатываю индикаторы и советники для MT5, уделяя особое внимание чистому, документированному коду без перерисовки: логика на закрытых барах, проверенные буферы и отсутствие зависимостей от других индикаторов. Если нужна текущая картина сразу по всем 28 парам и девяти таймфреймам, Multi Timeframe Currency Strength Panel распространяется бесплатно и использует ту же декомпозицию. Этот индикатор — её история. Посмотреть все опубликованные продукты → Есть вопросы о расчёте, буферах или использовании индикатора в собственном советнике? Напишите мне в личные сообщения — с удовольствием отвечу. |
Разработано и поддерживается Narayanan Mohanan, разработчиком MT5/MQL5.
Если вы заметили ошибку в переводе этой страницы, сообщите мне — я ее исправлю.
