• Internet-trading
  • 1

Metastock - Разработка собственных индикаторов

8.Примеры Пользовательских Индикаторов Метасток (Формулы) (Sample Custom Indicators Metastock)

В этом разделе руководства Метасток (Metastock) приводятся примеры нескольких популярных индикаторов Metastock и их формул написанных при помощи синтаксиса пользовательских индикаторов Metastock. Заметим, что это только примеры; все из приведенных ниже индикаторов входят в стандартный набор Метастока (т.е. их не нужно создавать, чтобы строить графики). Однако, это показательные примеры синтаксиса пользовательских индикаторов. Информацию по интерпретации индикаторов см. в разделе "Interpretation" Metastock.


 

8.1 Аккумуляция/Дистрибуция в Метасток (Accumulation/Distribution Metastock)

В эта формуле («Accumulation/Distribution») используется функция cum() (см. «Cumulate»), которая накапливает изменчивые показатели дневных значений.

cum( (((C-L) - (H-C)) / (H-L)) * V)

8.2 Полосы Боллинжера в Метасток (Bollinger Bands Metastock)

Здесь используется функция stdev() (см. «Standard Deviation»), чтобы рассчитать верхнюю и нижнюю границы полос.

Верхняя полоса рассчитывается, как:

mov( C, 20, S ) + ( 2 * stdev( C, 20 ))

Нижняя полоса рассчитывается, как:

mov( C, 20, S ) - ( 2 * stdev( C, 20 ))

8.3 Осциллятор A/D Чайкина в Метасток (Chaikin A/D Oscillator Metastock)

mov( ad(), 3, E) - mov( ad(), 10, E)

Этот индикатор может ссылаться на встроенный индикатор «Accumulation/Distribution indicator»  используя функцию ad(), как показано выше,  или же можно использовать формулу «Accumulation/Distribution formula» как показано ниже.

mov(cum((((C-L)-(H-C))/(H-L)) * V),3,E)-mov(cum((((C-L)-(H-C))/(H-L)) * V),10,E)

8.4 Средняя цена в Метасток (Median Price Metastock)

(high + low) / 2

8.5 Момент в Метасток (Momentum Metastock)

Формула момента использует функцию ref() (см. Reference), чтобы сослаться на цену закрытия 12 периодов назад.

(close / ref( close, -12 )) * 100

8.6 Скользящая средняя MACD в Метасток (Moving Average MACD Metastock)

Большинство аналитиков (включая аналитиков EQUIS International's) утверждают, что MACD-индикатор представляет собой «разницу между 12- и 26 дневными экспоненциальными скользящими средними». Однако, реально это разница между 0.15 и 0.075 экспоненциальными скользящими средними. (более точно  0.153846 и 0.076923).

См. «Moving Average Calculation Methods»  для более подробной информации по методам калькуляции MACD.

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

mov( close, 12, E) - mov( close, 26, E)

MACD-триггер (9-дневная экспоненциальная скользящая средняя MACD) может быть рассчитан, как показано ниже:

mov( macd(), 9, E)

8.7 Индекс негативного объема в Метасток (Negative Volume Index Metastock)

Встроенному индексу негативного объема соответствует функция nvi(). Однако, для пользовательского индикатора можно использовать следующую формулу:

cum( if( V < ref(V,-1), roc(C,1,%), 0 ))

8.8 Баланс Объема в Метасток (On Balance Volume Metastock)

Следующая формула рассчитывает индикатор баланс объема («On Balance Volume»):

cum( if( C > ref(C,-1),+V, if( C < ref(C,-1),-V, 0) ))

Далее объясняется каждый компонент приведенной выше формулы:

cum(               Расчет куммуляты, следующих величин

if(                    если,

C                     цена закрытия сегодня

>                     больше, чем

ref(C,-1),         цена закрытия предыдущего дня

+V,                  тогда прибавь сегодняшний объем

if(                    в противном случае, если

C                     цена закрытия сегодня

<                     меньше, чем

ref(C,-1),         цена закрытия предыдущего дня

-V,                  вычесть объем

))         в противном случае,  ничего не делать.

8.9 Индекс положительного Объема в Метасток (Positive Volume Index Metastock)

Встроенному индексу положительного объема соответствует функция pvi(). Однако, для пользовательского индикатора можно использовать следующую формулу:

cum( if( V > ref(V,-1), roc(C,1,%), 0 ))

8.10 Ценовой осциллятор в Метасток (Price Oscillator Metastock)

Следующая формула рассчитывает 10/20 - дневный Прайс-осциллятор выраженный  в абсолютных значениях:

mov( close, 10, E) - mov( close, 20, E)

Приведенная ниже формула рассчитывает 10/20 - дневный Прайс-осциллятор выраженный  в процентах:

(( mov(C, 10, E) - mov(C, 20, E) )/mov(C, 20, E)) * 100

8.11 Коэффициент изменения цены в Метасток (Price Rate-Of-Change Metastock)

Следующая формула рассчитывает 12-дневную степень изменения цены (“Price Rate-Of-Change”):

(( C - ref(C,-12)) / ref(C,-12)) * 100

Можно также использовать функцию roc():

roc( close, 12, % )

Чтобы выразить показатели индикатора в абсолютных значениях можно использовать следующую формулу:

close - ref(close, -12)

8.12 Объемно-ценовой тренд в Метасток (Price Volume Trend Metastock)

Следующая формула использует функцию cum() для расчета объемно-ценового тренда

cum( ((C - ref(C,-1)) / ref(C,-1)) * V)

Эту формулу также можно написать при помощи функции roc(), как показано ниже:

cum( roc(close, 1, %) * volume )

8.13 Стандартное отклонение в Метасток (Standard Deviation Metastock)

4-дневное стандартное отклонение может быть рассчитано при помощи двух формул. Первая формула это просто 4-дневная простая скользящая средняя. Формулу, показанную ниже, будем именовать “4-period ma”

mov( close, 4, S )

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

sqrt(( power(fml("4-period ma") - C, 2) +

power(fml("4-period ma") - ref(C,-1), 2) +

power(fml("4-period ma") - ref(C,-2), 2) +

power(fml("4-period ma") - ref(C,-3), 2) ) / 4 )

Более легкий способ- это извлечь квадратный корень из вариации  цены закрытия за 4-дневный период (функция var( close, 4 )):

sqrt( var( close, 4 ) )

Конечно, на самом деле Вы можете использовать встроенную функцию стандартного отклонения  stdev() (см. Standard Deviation).

8.14 Стохастический осциллятор в Метасток (Stochastic Oscillator Metastock)

Следующая формула рассчитывает 5-дневный %K Стохастический Осциллятор с 3-дневным замедлением:

(sum( C - llv(L,5), 3 ) / sum(hhv(H,5) - llv(L,5), 3) ) * 100

Приведенная ниже формула калькулирует 3-дневный %D от %K в предыдущей формуле.

mov( stoch(5,3), 3, E )

8.15 Волатильность, Чайкин в Метасток (Volatility, Chaikin Metastock)

Формула волатильности показанная ниже использует 10-дневную скользящую среднюю и 12-дневный rate-of-change:

roc( mov( high-low, 10, E), 12, %)

8.16 Объемный Осциллятор в Метасток (Volume Oscillator Metastock)

Следующая формула рассчитывает 10/20 - дневный Volume-осциллятор выраженный  в абсолютных значениях:

mov( volume, 10, E) - mov( volume, 20, E)

Приведенная ниже формула рассчитывает 10/20 - дневный Volume -осциллятор выра

женный  в процентах:

(( mov(V, 10, E) - mov(V, 20, E) )/mov(V, 20, E)) * 100

8.17 Коэффициент изменения объема в Метасток (Volume Rate-Of-Change Metastock)

(( V - ref(V,-12)) / ref(V,-12)) * 100

Также может быть использована функция roc(), показанная ниже:

roc( volume, 12, % )

8.18 Взвешенная цена закрытия в Метасток (Weighted Close Metastock)

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

((close * 2) + high + low ) / 4

8.19 Аккумуляция/Дистрибуция Вилльямса в Метасток (Williams' Accumulation/Distribution Metastock)

Чтобы упростить объяснение этой формулы, мы разобьем ее на 3 формулы. Первая формула возвращает “истинное значение” максимальной цены ("True Range High")

max( ref(close, -1), high )

Аналогичным образом, вторая формула возвращает “истинное значение” минимальной цены ("True Range Low").

min( ref(close, -1), low )

Третья формула (предполагается, что приведенные выше формулы были поименованны как "True Range High" и "True Range Low"), рассчитывает значения индикатора.

cum(if(C  > ref(C,-1),C - fml("True Range Low"), if(C < ref(C,-1),C - fml("True Range High"),0)))

%R Вилльямса (Williams' %R)

Эта формула рассчитывает 14-дневный %R Вильямса. Заметим, что формула была инвертированна умножением ее на 100

((hhv(H,14) - C)/(hhv(H,14) - llv(L,14))) * -100

Информацию по интерпретации индикаторов см. в разделе "Interpretation" Metastock

Matastock Formula Primer - Формулы Метасток

Фондовый навигатор

7. Вставка функций в формулы Метасток (Pasting Functions Into Formulas Metastock)

Используя кнопку «Functions»  диалога «Indicator Editor dialog» Metastock, Вы можете вставлять функции непосредственно в формулу, которую в данный момент редактируете. Эта возможность не только экономит время, но также освобождает Вас от необходимости запоминать синтаксис функций (или вводить их вручную) и их параметров.

Кликните по рисунку для увеличения

Вставка функций в формулы Метасток (Pasting Functions Into Formulas Metastock)

Диалог «Рaste Functions dialog» Metastock  подразделяет функции на 11 категорий.  Категории собраны в список категорий («Function Category list») расположенный в левой стороне  окна диалога.  Функции входящие в выбранную категорию располагаются в правой стороне окна в виде списка их Английских имен или других имен функций в зависимости от того имеется ли флажок в окошке «Show English Names checkbox».

Во время скроллирования списка функций в нижней части окна диалога отображается строка описывающая синтаксис выбранной функции. Если Вы хотите вставить в функцию аргументы, выберите окошко «Paste Arguments checkbox».

Щелчок по клавише «ОК» или двойной щелчок по имени функции вставляет ее в формулу в позицию курсора.

Чтобы вставить функцию надо:

  • В сеансе редактирования формулы щелкнуть по кнопке «Functions».
  • Щелкнуть по необходимой категории в списке «Functions Category list».
  • Выполнить двойной щелчок по имени функции.


Metastock Formula Primer - Формулы Метасток

Фондовый навигатор

5.Копирование и Удаление Пользовательских индикаторов  Метасток (Copying and Deleting Custom Indicators Metastock)

Вы можете сделать копию выбранного пользовательского индикатора в “Indicator Builder dialog” Metastock при помощи кнопки “Copy”.  Это полезно, когда Вы хотите разработать новый индикатор похожий на уже существующий.

Например, ели пользовательский индикатор “А” очень похож на вновь создаваемый, Вы должны используя кнопку “Copy” в диалоге “Indicator Builder dialog” Metastock сделать его копию. Затем Вы можете внести необходимые изменения и присвоить индикатору новое имя.

При помощи клавиши “Delete” Вы можете удалить пользовательский индикатор из списка диалога  “Indicator Builder dialog” Metastock.  Выбор этой кнопки приводит к появлению диалога “Delete Custom Indicator dialog”.

6. Печать Пользовательских Индикаторов Метасток (Printing Custom Indicators Metastock)

Используя диалог «Print dialog» Вы можете распечатать имена или формулы пользовательских индикаторов на принтер определенный по умолчанию.  Этот диалог можно вызвать щелкнув по кнопке «Print» в диалоге «Indicator Builder dialog» Metastock.

Print What. Выберите, что Вы хотите печатать, только Имя  (Names Only) или вместе Имя и Формулу (Names and Formulas) для выбранных пользовательских индикаторов.

Copies. Введи количество копий.

Print Range. Выберите, хотите ли Вы печатать только выбранный индикатор или все пользовательские индикаторы.

Printer. Показывает диалог, где можно выбрать необходимый принтер, установить ориентацию и размер бумаги.

Metastock Formula Primer - Формулы Метасток

Фондовый навигатор

4.  Диалог “Редактор Индикаторов” Метасток (Indicator Editor Dialog Metastock)

Диалог “Indicator Editor dialog” Metastock используется для создания новых и редактирования существующих пользовательских индикаторов.

Диалог “Редактор Индикаторов” Метасток (Indicator Editor Dialog Metastock)

Name. Вы можете ввести имя индикатора длинной до 50 символов. Это имя будет появляться в заголовке внутреннего окна в котором отображается график индикатора при его вызове.  Список индикаторов в «Indicator Builder dialog» Metastock сортируется по имени.

Display in QuickList. Выберите  это «окошко» (появляется флажок), если Вы хотите, чтобы имя Вашего индикатора было включено в «QuickList».  Наличие индикатора в  «QuickList» позволяет использовать метод «захвати и сбрось»  аналогично тому как используются другие (встроенные) индикаторы. См. «Using the Indicator QuickList» Metastock.

Formula. Здесь вводится формула пользовательского индикатора. Формула может содержать до 1 024 символов на нескольких строках. Нажимайте «ENTER» для перехода к другой строке. См. «Formula Tips»  для получения информации по использованию нескольких строк. См. «Formula Tutorial» Metastock.

Functions. Выбор этой кнопки вызывает «Paste Functions dialog»,  где Вы можете выбрать из необходимую функцию из списка и вставить ее в формулу.  Эта кнопка неактивна , пока Ваш курсор находится за пределами окна редактирования формулы «Formula edit box».  См. «Pasting Functions Into Formulas». Вы можете использовать стандартные клавиатурные команды во время редактирования формулы(См. «Formula Tips» Metastock).

Сохранение изменений

Если Вы во время редактирования пользовательского индикатора, теста системы или исследования щелкните по кнопке «Cancel» появится окно с запросом «желаете ли Вы сохранить изменения». Выбор «Yes» сохраняет изменения,  выбор «No» не сохраняет изменений.

Metastock Formula Primer - Формулы Метасток

Фондовый навигатор

3.  Диалог  “Построитель Индикаторов” Метасток (Indicator Builder Dialog Metastock)

“Indicator Builder” Metastock - диалог появляется после выбора опции «Indicator Builder» из меню Tools Metastock или аналогичной кнопки главной панели инструментов.

Кликайте по рисунку для увеличения.

Диалог  “Построитель Индикаторов” Метасток (Indicator Builder Dialog Metastock)

New. Выбор этой кнопки приводит к вызову диалога «Indicator Editor dialog», во время которого Вы можете  присвоить имя и написать формулу нового индикатора.  См. «Indicator Editor Dialog» Metastock

Edit. При выборе этой кнопки появляется диалог «Indicator Editor dialog», где Вы можете отредактировать предварительно выбранный пользовательский индикатор.   См. «Indicator Editor Dialog» Metastock

Copy. При выборе этой кнопки делается копия выбранного индикатора в диалог «Indicator Editor dialog».  После внесения изменений, нажмите кнопку OK, чтобы сохранить копию пользовательского индикатора. См. «Copying and Deleting Custom Indicators» Metastock.

Delete. При помощи этой кнопки удаляется выбранный пользовательский индикатор. См. « Copying and Deleting Custom Indicators» Metastock.

Print. Выбор этой кнопки распечатывает выбранный индикатор. См. «Printing Custom Indicators» Metastock

Metastock Formula Primer - Формулы Метасток

Фондовый навигатор

Разработка собственных индикаторов

Что такое «Indicator Builder Metastock  - Построитель индикаторов Метасток»?

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

Технический анализ постоянно совершенствуется, и новые индикаторы появляются каждый день. Эти новые индикаторы вытесняют некоторые  из давно используемых. По этой причине программа технического анализа Метасток - Metastock Indicator Builder Metastock имеет мощный инструмент – построитель индикаторов. Indicator builder позволяет Вам создавать любые индикаторы.

Metastock - Метасток Разработка собственных индикаторов Indicator Builder Metastock

 

Прочитав о новом индикаторе в любом специализированном журнале или вновь приобретенной книге, Вы имеете возможность при помощи Indicator Builder записать этот индикатор в Metastock – Метасток и использовать его в анализе ценных бумаг.

Indicator Builder Metastock - мощный инструмент. Однако, чтобы его эффективно использовать надо научиться разбираться в основных ма­тематических концепциях и логических выражениях .

Индикаторы, разработанные при помощи Indicator Builder Metastock – построителя индикаторов, используются по тому же принципу, что  и встроенные индикаторы. Их можно “перетащить” с панели Indicator QuickList или же вызвать из диалога Indicators. Если Вы знакомы с написанием формул в про­граммах для электронных таблиц типа Excel, то Вы легко освоитесь с формулами в Indicator builder и cможете разрабатывать собственные  индикаторы. В случае, если вам не приходилось делать этого раньше, не огорчайтесь, Учебник по формулам (см. Formula Tutorial) поможет вам довольно быстр раз­обраться в теме.

 

Комментарии