вторник, 28 июня 2011 г.

Индикатор Index


Индекс на основе среднего геометрического. Показывает отношение инструмента ко всем инструментам некоторого набора. Можно комбинировать индексы и пары.

Формула расчёта индекса

[math]Index(C)=(\prod\limits^{N}_{i=1}{C/C_i})^\frac{1}{N}[/math]

, где:
  • [m]C[/m] - валюта, для которой ищется индекс
  • [m]C_i[/m] - валюты набора (CalcCurrs), включая [m]C[/m]
  • [m]C/Ci[/m] - котировка кросса
  • [m]N[/m] - количество валют в наборе, включая [m]C[/m]
В индексе все кроссы рассчитываются через базовую валюту. Например, [m]EUR/CHF=EUR/USD\cdot USD/CHF[/m] при базовой валюте USD. Это снижает требования к истории котировок (достаточно всех кроссов валют из набора "Currency Set" и базовой валюты), а также дает возможность получить больше данных, так как для базовой валюты (в случае USD) у большинства брокеров больше исторических данных.

Вместо валют могут быть любые другие инструменты.

Основные свойства индекса



На картинке продемонстрированы два свойства индексов:
  • обратимость (отношение индексов двух валют равно их кроссу)
  • произведение всех индексов набора равно 1

Использование формулы

В формуле индикатора можно совмещать сразу несколько индексов или кроссов. Например, может быть интересно посмотреть совокупное движение нескольких инструментов и/или индексов.


Если взять зацикленную формулу (например, EURUSD*USDCHF/EURCHF), то получится горизонтальная прямая с небольшими выбросами. Эти выбросы появляются за счет небольшого (обычно в пределах спреда) расхождения котировок, а также из-за усредненных формул используемой цены (Median, Typical, Weighted), либо предельных (High, Low), время достижения которых может сильно не совпадать у разных инструментов для одного и того же бара.


В последних версиях индикатора формула приводится к парам с USD, и такая формула полностью вырождается в единицу без таких выбросов.

Логарифмический масштаб

Помимо варианта с умножением и делением формулу можно записать с использованием знаков плюс и минус, что укажет индикатору использовать в расчётах логарифмы.

Помимо более понятной формы записи, логарифмирование упрощает запись формул для оценки совместного движения. Например, если необходимо посмотреть совместное движение EUR и GBP, то формула может быть средним геометрическим их индексов: EUR^0.5 * GBP^0.5. Возведение в степень здесь необходимо, т.к. иначе исказится масштаб, особенно если валют ещё больше. В логарифмическом же масштабе формула будет выглядеть как EUR*0.5 + GBP*0.5, и здесь множители уже можно опустить, они никак не влияют на форму кривой.

История котировок

Если вы постоянно не контроллируете наличие котировок в вашем терминале, при использовании индикатора рекомендуется держать открытыми также графики всех пар валют из набора "Currency Set" с USD того же таймфрейма.

Параметры

Параметр Описание
Formula Формула. Допускаются символы из обзора рынка, индексы и операции между ними - умножение и деление. Чтобы явно указать индекс, нужно поставить перед символом знак "!".

Специальные значения:
  • [0] - символ графика
  • [1] - индекс первой части символа графика графика (например, EUR для EURUSD)
  • [2] - индекс второй части символа графика (например, USD для EURUSD)
Примеры:
  • EURUSD*EURCHF - произведение двух кроссов
  • /eurusd - реверс EURUSD
  • /USD - реверс индекса USD
  • /usd/eur - произведение реверсов индексов
  • xauusd*usd - произведение кросса и индекса
  • !#AA*!#AAPL - произведение индексов двух CFD
  • [0]*[1] на графике EURUSD будет равнозначно EURUSD*USD
  • EUR+GBP - логарифмический вариант EUR*GBP
  • EUR^0.5*USD^1.5 - вариант с весами
  • EUR*0.5+USD*1.5 - лог. вариант с весами
Знаки '^' и '/' не могут быть смешаны с '+' и '-'. Если нет никаких знаков (отдельный индекс или инструмент), подразумевается обычный вариант. Если необходимо логарифмировать, добавьте '+' в начале, либо вес в соответствующем виде:
  • EUR - индекс евро в обычном масштабе
  • +EUR - индекс евро в лог. масштабе
  • EUR^2 - квадрат индекса евро в обычном масштабе
  • EUR*2 - квадрат индекса евро в лог масштабе
Currency Set Инструменты для расчета индексов (как индексы). Все составляющие символов формулы также будут добавлены в этот список автоматически. Этот набор будет использован для расчета всех индексов в формуле.

Примеры:
  • AUD,CAD,CHF,EUR,GBP,JPY,NZD,USD - набор по умолчанию
  • #AA, #AAPL, #AIG, #AMZN - небольшой набор из CFD на акции

См. также

Загрузка

Последнюю версию можно найти здесь: https://gitlab.com/fxcoder/mt-script.

MetaTrader 5 и собственные символы

Начиная с билда ~1700 в MT5 появилась возможность создавать собственные символы на основе формул. Этот функционал почти полностью заменяет функционал этого индикатора и подобных, однако требует ручного разбора всех индексов в формуле.

9 комментариев:

  1. У меня такое впечатление, что индикатор со стандартными настройками всего лишь показывает реверс. Возможно ли его настроить так, чтобы он действительно показывал индекс доллара, евро или другой валюты, как здесь: https://www.mataf.net/ru/forex-charts/usd?

    ОтветитьУдалить
    Ответы
    1. Доллар - сильная валюта, неудивительно, что, если смотреть её индекс в сравнении с кроссами с ней, то для большинства пар типа C/USD будет казаться, что это просто реверс, так как валюта C мало что решает.

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

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

      Удалить
    2. Нашёл тему, где этот индикатор начинался, там же исследовался вопрос похожести различных подходов, а также схожие темы:
      http://www.speculant.com/forum/showthread.php?t=168

      Рекомендую хотя бы к беглому к прочтению.

      Удалить
    3. Действительно, там используется не USDX. Но часто можно увидеть расхождения, когда индекс остановился, а валюта продолжает двигаться. Затем происходит разворот и общее падение. Также встречаются ситуации, когда индекс пробивает поддержку/сопротивление, а валюта делает откат. После чего происходит продолжение движения. В общем рекомендую понаблюдать.

      ЗЫ Прочитал всю ветку, но в формулах не силен. Поэтому основные мысли уловить не смог.

      Удалить
    4. По поводу "сильной валюты" поправлю. Здесь это скорее "волатильная валюта". Чем больше она движется, тем больший вклад в индекс она вносит. Доллар в последние месяцы трендит, отсюда и его явное влияние на индикатор.

      Удалить
    5. Скорее "сильная валюта" определяется ее весом в корзине индекса доллара. Евро 52%, Иена 33% и 15% все остальные хард кёрренси. Фунт может летать через весь экран, а индекс доллара не шелохнется, еврик пройдет фигуру и индекс отреагирует половиной фигуры

      Удалить
  2. Уважаемый автор, а могли бы Вы, если это вообще возможно, доработать индикатор index.mt4_7.1, что бы его можно было ставить на оффлайн график РЕНКО?

    ОтветитьУдалить
    Ответы
    1. Не очень понял, что нужно - индекс (ренко по индексу), рассчитанный по ренко кроссов, или ренко по индексу, рассчитанный по кроссам. Надеюсь, вы сами знаете и сможете передать более чёткое задание тому, кто возьмётся за эту доработку, я не возьмусь.

      Удалить
  3. Спасибо за труд!!! Классный индикатор, СПАСИБО!!!

    ОтветитьУдалить