Light Style© by Fisana

Перейти к содержимому


Инвестиционные фонды NordFx: профессиональное управление и прозрачность


NordFX

Фотография

Семинар по МТС


  • Пожалуйста, авторизуйтесь, чтобы ответить
4 ответов в этой теме

#1 Игорь.

Игорь.

    живет тут

  • Заблокированные
  • PipPipPipPipPip
  • 1 750 сообщений

Опубликовано 03 Ноябрь 2005 - 03:13

Поделилюсь одним семинаром проводимым в одном из ДЦ, стоимостью 150$... Читайте и наслаждайтесь.... :lol:

Семинар 1. Понятие о механической торговой системе (МТС).
Основные стадии построения МТС

1.1. Роль субъективного фактора при принятии торговых решений.

Проектирование и применение механических торговых систем (МТС) - раздел технического анализа, основанный на широком применении технических индикаторов рынка.
Как известно, весь технический анализ, с некоторой степенью условности, по применяемым методам можно разделить на два направления:
- классический технический анализ – графический анализ, основанный на изучении и анализе графиков цен;
- компьютерный анализ, основанный на построении и анализе технических индикаторов рынка.
Не важно, использует тот или иной «графический аналитик» компьютерные технологии или нет, его основным рабочим инструментом является график цены. Все остальное вторично. Анализ графиков является делом достаточно субъективным. Успех его во многом зависит от мастерства данного конкретного аналитика и является не наукой, а скорее искусством.
В случае же использования компьютерных методов анализа, основанных на применении технических индикаторов рынка, вся исходная информация проходит количественный анализ посредством разнообразных алгоритмов обработки данных, включая широкий класс методов анализа временных рядов и математической статистики. В результате такого анализа на основании данных об изменении цены формируется график технического индикатора рынка. Анализ этого графика обычно сводится к процедуре принятия формальных решений и программируется так, чтобы компьютер выдавал сигналы к покупке и продаже.
Вне зависимости от сложности подобных компьютерных систем анализа рынков основная цель их создания заключается в том, чтобы свести к минимуму или полностью исключить субъективный человеческий фактор из процесса принятия решения, подвести под него некоторую научную основу.

1.2. Системная торговля.

Для всех трейдеров, за исключением немногих, системная торговля дает лучшие результаты, чем интуитивная торговля.
Торговля по интуиции включает субъективные решения, которые часто бывают пристрастными и ведут к убыткам. Знание и разум легко вытесняются из процесса принятия решений такими факторами, как аффект, неуверенность, жадность и страх, которые начинают выступать в роли ведущей торговлю силы. Кроме того, очень трудно протестировать торговый метод, в котором отсутствуют жесткие правила принятия решений. Следовательно, мы никогда не будем уверены в правильности интуитивно принятых решений.
С другой стороны, системная торговля объективна. В ней нет места эмоциям. При помощи запрограммированной логики и представлений такие механические торговые системы определяют действия трейдера. Самое лучшее в них – возможность простого тестирования. При этом плохую систему можно отбросить или скорректировать, а хорошую – улучшить.

1.3. Что такое технический индикатор и его физический смысл.

Индикаторы представляют собой результат некоторой математической обработки цены. В результате этой обработки мы имеем график индикатора, анализ которого позволяет сделать выводы о дальнейшем направлении движения цены.
Что мы знаем о ценах? Строго говоря, мы знаем четыре основных ценовых параметра для интервала построения графика – O, H, L, C - и дополнительно объем V. Этот набор чисел и характеризует бар или свечу, последовательность которых образует график цены того или иного инструмента финансовых рынков. Математическая обработка этих чисе и дает индикатор.
Индикаторы можно разделить на две большие группы:
- индикаторы тренда или трендследящие индикаторы;
- индикаторы скорости изменения цены или осцилляторы.
Несколько особняком стоят индикаторы, использующие показатели объема торгов и индикаторы настроений.
Индикаторы тренда применяются при работе на трендовых рынках и неэффективны, когда тренд отсутствует.
Осцилляторы наоборот плохо работают на трендовых рынках и эффективны при боковом тренде в случае отсутствия направленного движения цены.




1.4. Тренд как фактор принятия торговых решений.

Изменение рыночных цен происходит в форме тренда. Характер тренда определяется многими переменными. На движение цен влияют перемены, происходящие на уровне фундаментальных экономических факторов. Таким образом, в момент возникновения тренда причина его появления не всегда очевидна. Определить обстоятельства, способствовавшие рождению конкретного тренда, не всегда удается даже по прошествии значительного временного периода. Технические индикаторы рынка – это один из инструментов идентификации тренда и изменений в нем. Отметим, однако, что причины формирования тренда с помощью технических индикаторов объяснить и описать невозможно.
Тренды имеют обыкновение длиться. Время их жизни заранее определить невозможно. Однако с уверенностью можно сказать, что о скором завершении тренда свидетельствует нарушение баланса в системе спроса и предложения на соответствующий финансовый инструмент. Любой трейдер заинтересован в том, чтобы первым узнавать о грядущих изменениях в трендах.
Изменение рыночной ситуации обуславливает поведение трейдеров, а реакция их различна в зависимости от опыта, торговых приемов и целей каждого. Начало нового тренда подобно расхождению кругов по воде, в которую бросили камень. Первые волны – это реакция на сложившиеся обстоятельства наиболее информированной и опытной части трейдеров. За ними следуют волны операций, производимых менее информированными и опытными участниками рынка, и т.д. до тех пор, пока самые неискушенные трейдеры не последуют примеру своего окружения. Этот момент – канун гибели тренда и начала обратного движения. Ценовые тренды, таким образом, проявляются в виде волн покупок и продаж.
Инструменты финансовых рынков продаются и покупаются людьми, а человек по своей природе эмоционален. Факторами, наиболее важными для принятия торговых решений и определяющими поведение участников рынка, помимо фундаментальных экономических обстоятельств являются особенности массовой психологии, учитываемые в так называемых индикаторах настроения (sentiment indicators).
Тренды действуют на различных временных отрезках, их длина варьируется от нескольких лет до нескольких минут. Направления трендов также различны: тренды движутся либо вверх, либо вниз, либо в сторону.
Тренды по длительности принято подразделять на следующие основные категории:
- долгосрочные или основные тренды длительностью от 6 месяцев и более;
- среднесрочные или промежуточные – от 2 недель до 6 месяцев;
- краткосрочные или малые тренды – менее 2-х недель;
- сверхкраткосрочные, чье влияние значимо только для внутридневных трейдеров.
Установление наилучшего соотношения прибыль/риск в условиях одновременного существования трендов различных направлений и длительности возможно только в случае верного определения подходящих для конкретной ситуации технических индикаторов рынка и правильного определения их параметров.

1.5. Что такое механическая торговая система?

Полная механическая торговая система, которая может тестироваться совершенно объективным образом, без вмешательства человека, должна содержать точные правила для входов и для выходов из рынка.
Чтобы быть действительно полной система должна давать следующую информацию:
- когда и по какой цене входить в рынок;
- когда и по какой цене выходить из рынка с убытком;
- когда и по какой цене выходить из рынка с прибылью.
Сигналы входа механической торговой системы могут быть простыми, например, однозначный сигнал покупки или продажи при открытии торгов на следующий день. Можно также использовать стоп-ордера для определения ценовых уровней на следующий день.
Выходя торговой системы также могут основываться на приказах различных типов – от простых до очень сложных. Выход из убыточной сделки часто достигается с помощью защитной остановки (ордер стоп-лосс), которая прекращает сделку до того, как будет нанесен серьезный убыток. Эта остановка представляет собой стоп-приказ для избежания неконтролируемых потерь и выполняет функцию контроля риска.
Выход с прибылью может достигаться несколькими способами. Одним из них является выход с использованием целей прибыли – лимитных приказов, расположенных так, что сделка заканчивается после некоторого движения рынка в пользу трейдера. Также могут применяться трейлинг-стопы, представляющие собой стоп-приказы, необходимые для выхода с прибылью при начале противоположного движения рынка. Возможно также большое разнообразие других видов приказов и их сочетаний.

1.6. Взаимосвязь торговой стратегии и целей трейдинга.

Прежде всего необходимо, не торопясь, оценить свои инвестиционные потребности и возможности.
Каждому участнику рынка подходит свой, особенный индикатор. Допустим, что некоторая торговая система отвечает задачам инвестора, имеющего большой начальный капитал, не работающего с заемными средствами и открывающего позиции в расчете на получение прибыли от долгосрочных вложений. Очевидно, что подобного рода стратегия окажется неподходящей для трейдера с маленьким капиталом и большим кредитным плечом, чья цель – путем краткосрочных операций заработать прибыль при минимальных рисках.
Крупный инвестор, следующий за долгосрочным трендом, в состоянии перенести существенные падения капитала, связанные с вторичными коррекциями к основному тренду. В то же время более мелкий трейдер, извлекающий выгоду из сиюминутных колебаний цены, нуждается в краткосрочной, обладающей высокой чувствительностью торговой системе, которая не допускает значительных падений капитала и приносит стабильную прибыль.
Принявший стратегию следования за трендом крупный инвестор имеет возможность существенно увеличить свой капитал за счет долгосрочных трендов, медленно разворачивающихся в течение продолжительных временных периодов. Поиск торговой системы в этом случае не займет много времени, поскольку имея графики, отражающие долгосрочные перспективы рынка, и одну из книг по основам технического анализа, выявить основной тренд бывает несложно.
Инвестор, работающий на коротких временных интервалах, в большей степени зависим от случайных изменений рынка. На его прибыли могут сказаться внезапные перемены в настроениях толпы, происходящие, на первый взгляд, безо всяких оснований. Его успех или неудачу определят также непредвиденные информационные сообщения, переменчивые ожидания участников рынка, разнообразные слухи. Непредсказуемость подобного рода событий обуславливает и характер торговой системы, основными качествами которой должны быть гибкость и хорошая приспособляемость к моментальным скачкам.
Краткосрочные трейдеры стремятся как можно быстрее фиксировать даже небольшую прибыль, поскольку прибыльная позиция может быстро превратиться в убыточную при изменении рыночной ситуации. Чувствовать, что попадаешь в точку и понемногу зарабатываешь, приятно. Между тем, стратегия, рассчитанная на краткосрочную торговлю, лишает трейдера возможности получить существенную прибыль. К тому же глубоко укоренившееся в каждом из нас ощущение собственной правоты и нежелание признать подчас очевидную ошибку нередко заставляет трейдеров, работающих с краткосрочными позициями, держать проигрышную позицию куда дольше, чем следовало бы. Очевидно, однако, что трейдер, готовый терпеть потери продолжительное время, только увеличивает свой проигрыш.
Основное достоинство краткосрочных торговых позиций – возможность быстро и практически «из воздуха» получать определенную прибыль. Торговые системы подобного рода окажутся востребованными на любом рынке.
Инвестору, рассчитывающему на успех, следует самому позаботиться о торговой стратегии. Купить готовую торговую систему, где основные принципы принятия решений ясны для разработчика, но не для пользователя, и получать стабильную прибыль не всегда возможно: стресс, растущий проигрыш или сумятица на рынке заставят вас отказаться от следования правилам, суть которых вы до конца не понимаете. Понимание и доверие – вот главные элементы успешной работы с любой стратегией. Торговая система, которую вы изучили от корки до корки и собственноручно протестировали на материале реальных исторических данных, поможет вам заключить больше выгодных сделок, чем прочие, пусть более эффективные, зато менее ясные стратегии. Вера в успех – одна из немаловажных составляющих выигрыша.
К сожалению, до сих пор немало инвесторов растрачивают огромные состояния и долгие годы на то, чтобы убедиться в непригодности принципов, суть которых они знают понаслышке или из книг, но которые не были ими ни осмыслены ни проверены. Деятельность таких инвесторов отличается нестабильностью и, как правило, низкой прибыльностью, в которой они готовы винить кого угодно, но только не себя. Установить истинную причину проигрыша в этом случае трудно, поскольку процесс принятия решений идет сбивчиво и непланомерно.
Рынок подобен фронту: чтобы выжить среди сумятицы и шума, необходимо иметь заранее продуманный план; придерживаясь его не следуетподдаваться посторонним влияниям, прислушиваться к чужим советам, обращать внимание на слухи и болтовню прессы. Вам хочется спросить у кого-нибудь, что происходит и как поступить? Тревожный знак: он свидетельствует об утрате необходимого хладнокровия и дисциплинированности. Оказавшись в подобной ситуации, стоит немедленно закрыть все позиции и спокойно разобраться в причинах собственной неуверенности. Кризисы, постоянно происходящие на рынке и вокруг него, не должны влиять на способ работы трейдера. Напомним, однако, что сохранять верность стратегии можно лишь в том случае, если все правила принятия решений были сконструированы на основе действенных индикаторов, прошедших тщательное предварительное тестирование.
Моделирование торговли на исторических данных – наиболее эффективный способ сформулировать и применить на деле знания, накопленные инвестиционным сообществом за многие десятилетия функционирования рынка. Мы рассмотрим способы оценки качества торговых стратегий. Инвестор, получивший достоверную информацию на базе прошлого материала, будет чувствовать себя уверенно и сумеет успешно действовать в будущем.



1.7. Торговая модель.

Торговая модель является первым и основным шагом на пути создания механической торговой системы (МТС).
Торговая модель является следствием анализа поведения рынка и технических индикаторов, проведенного самостоятельно и с использованием литературы. В результате такого анализа, базирующегося на тщательных наблюдениях и логических умозаключениях, формулируется некоторая торговая гипотеза, идея, принцип, на основании которого по нашему мнению должны совершаться сделки. Эта идея и составляет основу торговой модели. Следует отметить, что таких торговых моделей может быть несколько.
Торговая модель, положенная в основу МТС, должна допускать возможность формализации и количественного или логического описания в виде математической модели, допускающей возможность прямого или опосредованного наблюдения предпочтительно без зависимости от субъективных суждений. Процедуры принятия решений существенно облегчаются в случае, если используемые переменные поддаются количественному или логическому исчислению. Использование математических методов – точных и дающих однозначный результат – позволяет упорядочить процесс работы трейдера и инвестора. Именно поэтому нам следует быть особенно внимательными, выбирая переменные и устанавливая взаимоотношения между ними. Иными словами мы должны четко сформулировать принципы принятия торговых решений, допускающие их воспроизведение при помощи соответствующих программ тестирования МТС.
Полученная модель является упрощенной схемой реальной рыночной ситуации. Конечная цель модели – показать «ядро» естественного феномена, освобожденное от случайных наслоений и описанное через ограниченное число переменных. Чем менее сложной является модель, тем она эффективнее: искусственно созданная картина, благодаря свое простоте, поддается более полному, по сравнению с реальным поведением рынка, осмыслению.
В задачи технического аналитика не входит создание модели, приближенной к действительности во всех отношениях. Наша цель заключается в получении простейшей схемы, способной в общих чертах предсказывать будущее поведение рынка и дающей пользователю возможность принимать достаточно эффективные торговые решения.

1.8. Выбор торговой модели: шесть наиболее распространенных ошибок.

Многие инвестиционные идеи основаны на ошибочных, логически необоснованных умозаключениях. Руководствуясь простым здравым смыслом и логикой можно избежать таких ошибок и сэкономить немало времени и сил. Приведем шесть наиболее распространенных ошибок, которых очень просто избежать на начальной стадии построения МТС.
1. Необходимо избегать индикаторов, подающих по два разных сигнала на одних и тех же данных, в первый раз, когда новые данные включаются в расчет, и вторично, когда те же данные выпускаются из скользящего окна данных, подвергающихся обработке. Стохастические осцилляторы, моментум-индикаторы и даже простые скользящие средние подают сигнал дважды, в частности, когда в скользящее окно включаются или из него выпадают данные, сильно отличающиеся от остальных данных, участвующих в расчете. Очевидно, что реальный рынок не может реагировать на предпринятое аналитиком перемещение скользящего окна вперед. Поэтому любой индикатор, находящийся в сильной зависимости от прошлых данных, вносит в исследование элемент случайных ошибок.
2. Следует учитывать структурные изменения, происходящие на рынке с течением лет. При существенном изменении условий торговли характер поведения рынка и, соответственно, поведение индикаторов изменяется. По этой причине становится невозможным корректное сравнение показателей ряда индикаторов. Подобные данные должны быть статистически нормализованы, чего в большинстве случаев не происходит. Вместо того, чтобы работать с абсолютными значениями индикаторов, попробуйте использовать различные нормализующие отношения, например, поделите индикатор на его собственную скользящую среднюю, взятую за большой период. В большинстве случаев подобные модификации позволяют нормализовать индикатор, так что он ведет себя более стабильно на протяжении длительных периодов времени.
3. При большом диапазоне изменения цен актива целесообразноиспользовать процентные соотношения и логарифмическую шкалу. В этом случае вы сохраняете возможность проводить верные сравнения сегодняшнего поведения рынка с его поведением прошлом. Это обстоятельство имеет особенное значение для фондовых рынков и меньшее – для валютного рынка FOREX.
4. Не усложняйте торговую модель. Модель, состоящую из многих частей, использующую различные типы данных или несколько вычислительных методов, нелегко, а порой и невозможно понять. Не разобравшись в сути индикатора инвестор не может быть вполне уверен в нем, а значит, в моменты стресса, смятения, сомнений не сможет беспрекословно подчиняться его сигналам. Оптимизация, проведенная с большим количеством изменяемых параметров, лишит модель ее практической ценности. Чрезмерно сложные и избыточно оптимизированные методы, как правило, плохо функционируют в реальном времени.
5. Не думайте, что опыт – ваш наилучший учитель. Опытным путем инвестор получает материал не только не систематизированный, но подчас и откровенно случайный, не поддающийся осмыслению. При отсутствии теоретической основы исследование торговли, совершающейся в реальном времени, будет донельзя затруднено всевозможными разнородными вкраплениями: непредсказуемыми событиями, несогласованными мнениями, мгновенными скачками цен. На восприятии материала также неизбежно скажутся личные пристрастия инвестора, его эмоциональное состояние. К тому же ошибки, совершенные в ходе реальной торговли, стоят, как правило, больших денег. Смоделировать функционирование системы на исторических данных куда менее хлопотно и опасно, чем медленно и с большими потерями получать реальный опыт.
6. Не следует оставлять в исследовании «черных дыр». Инвестор должен быть уверен, что результаты его анализа пригодны для любых ситуаций. Тестируя систему, он не имеет права обходить стороной экстремальные обстоятельства. Неуверенность и, как следствие, эмоциональный срыв – результат работы с системой, не рассчитанной на неблагоприятные условия на рынке. Инвестор должен знать, что выбранная торговая стратегия, несмотря ни на какие финансовые бури, позволит быстро и эффективно принимать решения.

1.9. Подготовка данных.

Необходимо разыскать как можно больше исторических данных по интересующему вас финансовому инструменту. Обилие обработанной информации обеспечивает большую статистическую значимость полученных результатов.
Полученные данные необходимо тщательно проверить, удостоверившись в том, что в них не содержится грубых ошибок. Простейший способ проверки – построение графиков, на которых всегда хорошо видны выбросы и нехарактерные движения. Полученные данные необходимо сравнить с информацией из независимых источников и, при необходимости, отредактировать. Качественные данные – необходимое условие результативного тестирования системы.
Базу данных необходимо разделить на интервалы (сегменты), сделав первый сегмент более крупным, чем остальные.

1.10. Оптимизация.

Этап 1. Первоначальная оптимизация.
Изучите первый сегмент данных и выделите специфические параметры торговой модели, способные увеличить эффективность система, на пример соотношение вознаграждение/риск – P/DD, в этом временном периоде. Под оптимизацией понимают систематический поиск наилучших параметров системы – наилучших, т.е. дающих самую высокую и постоянную прибыль при наименьшем падении капитала.
Оптимальный параметр для первого сегмента подыскивается путем простого подбора: в выбранной формуле индикатора величина параметра варьируется и таким образом подыскивается его значение, при котором размер P/DD оказывается наибольшим. Напомним, что оптимизация должны производиться исключительно в пределах наиболее раннего по времени сегмента данных. Этот первый сегмент, используемый для поиска наилучшего специфического параметра, принято называть выборкой (sample). Данные более позднего времени, не подвергавшиеся анализу, именуются данными вне выборки (out-of-sample).
Наиболее ранние из данных вне пределов выборки будут в свое время использованы для продолжения оптимизации (этап 2).
На этапе 1 необходимо выделить специфический параметр, связанный с оптимальным значением P/DD, однако фиксировать информацию об эффективности системы, исходя из данных в пределах выборки, не следует. Результаты, описывающие эффективность параметра, могут быть подсчитаны только после проведения анализа данных вне выборки (на этапе 5).

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

Этап 3. Добавление данных.
Сегмент данных, использованный на этапе 2, добавляется к сегменту этапа 1, увеличивая тем самым количество данных в выборке.

Этап 4. Циклическая оптимизация..
Многократно повторяется процедура, проведенная на этапах 1-3 до исчезновения данных вне выборки. Т.е. процесс оптимизации, описанный в п.1, проводится с использованием данных, вошедших после этапа 2 в выборку. Повторив оптимизацию, проверяем полученный параметр на следующем сегменте данных вне выборки и т.д. Этапы 1,2 и3 повторяются до тех пор, пока количество данных вне выборки не будет исчерпано.

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

В случае, если параметр МТС, протестированный на материале всей совокупности данных вне выборки оказался эффективным, следует провести последнюю оптимизацию на базе всех имеющихся данных и получить значение параметра для последующего использования в реальном времени.
Однако не стоит пропускать описанные выше этапы и сразу переходить к тесту на основе всех имеющихся данных, так как при этом будет упущена важнейшая информация о слабых и сильных сторонах МТС, а также об эволюции, которую она претерпевает с течением времени.
Проводя моделирование и оптимизацию, вы можете оставлять в выборке все данные, независимо от того, насколько они устарели. Законы поведения рынка устанавливаются людьми, а человеческая природа мало меняется с течением лет. Старые данные, таким образом, могут быть весьма значимыми, а поведенческие модели, характерные для прошлого – иметь тенденцию к повторению.
И, наоборот, для ускорения процесса допустимо систематически удалять из выборки некоторое количество данных, относящихся к наиболее раннему периоду, заменяя их равным количеством данных из периода вне выборки. Иными словами, для выявления специфического параметра может использоваться скользящее временное окно установленной длины. Если допустить, что основные характеристики рынка существенно меняются с течением времени, стремление аналитика опускать наиболее древние исторические данные представляется оправданным. Кроме того, такой подход позволяет проследить эволюцию параметров МТС.

1.11. Критерии оценки торговых систем

Для оценки торговых систем необходим некоторый критерий качества, с помощью которого можно было бы сравнивать параметры различных МТС.
Процент прибыльных сделок кажется очевидным критерием, но не является наиболее значимым при оценке торговой системы. В частности, некоторые высокоэффективные торговые системы чаще совершают убыточные сделки, чем прибыльные. В то же время ряд сомнительных моделей может чаще попадать в цель, чем промахиваться, но цена таких редких промахов будет очень высока.
Основным параметром действенности МТС является отношение общей чистой прибыли к максимальному падению капитала, известное также как отношение вознаграждение/риск. Уровень максимального падения капитала – показатель практической ценности стратегии. Модель, допускающая большие потери, нежизнеспособна, даже если общая конечная прибыль и высока.
Максимальное падение капитала – это наибольшее нисходящее изменение капитала от пика до дна. Его не следует смешивать с максимальными суммарными потерями от нескольких убыточных сделок, поскольку в длинном ряду убытков может оказаться одна удачная сделка, после которой падение капитала продолжится.
Наилучший и наиболее простой способ оценить отношение вознаграждения к риску – исследовать график величины капитала, на котором будут заметны все значительные падения. В случае, если величина падения капитала в используемой торговой системе существенно превышает аналогичный показатель прочих систем, система должна быть признана непригодной.
Существует множество способов измерить эффективность торговых систем, причем, хотя большинство подобных методов требует сложнейших статистических вычислений, ни один из них не является столь показательным, как график величины капитала.
Другим, не менее ценным, но также весьма эффективным критерием является профит-фактор - отношение суммы всех прибыльных сделок к сумме всех убыточных.
Профит-фактор является интегральным показателем, оценивающим совокупные профитные характеристики системы как при тестировании, так и на стадии применения. Эмпирически принимается, что граничное значение профит-фактора должно составлять не менее 1,6. Если профит фактор системы превышает 1,6, то система показывает хорошую эффективность, если менее 1,6, то недостаточную. В этом случае необходимо проанализировать статистику совершенных торговых операций, выявить сделки, которые внесли максимальный вклад в снижение профит-фактора, и провести целенаправленную модификацию системы.
Мы так малы в масштабах рынка - что нами можно пренебречь;)

#2 Игорь.

Игорь.

    живет тут

  • Заблокированные
  • PipPipPipPipPip
  • 1 750 сообщений

Опубликовано 03 Ноябрь 2005 - 03:13

Семинар 2. Программный комплекс Метасток.

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

Начало работы

1. Общие положения

МетаСток основывается на концепции “визуального” инвестирования. “Визуальное” инвестирование предлагает работать с программой Вашим глазам, освобождая разум для более важных вещей, например, таких как Ваши деньги.
“Визуальное” инвестирование стало возможным благодаря объектно-ориентированному подходу и строгому следованию принципам “Microsoft” при разработке пользовательского интерфейса. В результате получен современный совместимый интерфейс.
Простое выражение “объектно-ориентированный принцип” подразумевает, что команды для объектов содержатся в самих объектах. Более эффективно вызвать команду непосредственно из объекта, чем искать ее в лабиринтах меню и панелей инструментов.
Так, чтобы начать работать с МетаСтоком для Windows, Вам необходимо знать две команды:
• Щелчок правой кнопкой мыши по объекту, в результате которого выводится меню с командами для этого объекта.
• Техника “захвати и сбрось” (Drag and drop). Это дает возможность рисовать “исследовательские” линий прямо на экране, легко перемещать индикаторы, цены, вставлять внутренние окна и т.д. Все это помогает Вам обнаружить благоприятный момент для инвестиций.
Владея только этими двумя командами, Вы можете при помощи обширной МетаСтоковской коллекции аналитических инструментов осуществить “лучшие” торговые операции.


2. Установка МетаСтока для Windows (Installing MetaStock for Windows)

Чтобы инсталлировать МетаСток Windows:
• Загрузите Windows.
• Вставьте “Диск ” в дисковод или выберите соответствующий раздел на жестком диске.
• Запустите команду setup.
• Следуйте появляющимся на экране инструкциям.

3. Запуск программы (Running MetaStock for Windows)

Для того, чтобы запустить МетаСток:
• Запустите Windows.
• Выполните двойной щелчок по иконке “EQUIS International group”.
• Выполните двойной щелчок по иконке МетаСтока.


4. Помощь (Getting Help)

В МетаСтоке каждый диалог содержит кнопку “Help”. После щелчка по этой кнопке МетаСток выводит экран с детальной помощью по этому диалогу. Фактически почти вся информация содержащаяся в данном руководстве может быть получена при помощи щелчка мыши. Многие из экранов помощи предоставляют примеры в которых шаг за шагом объясняется решение той или иной задачи.
Систему помощи, также можно вызвать простым нажатием клавиши F1.


Концепция графика

МетаСток предоставляет три способа управления вашими данными: графики, форматы и шаблоны. Все три типа файлов управляются из главного меню (File).

1. Графики (Charts)

«График» - графическое представление ЦБ в одиночном окне. График может содержать цены, индикаторы, линии исследования, текст и т.п. как в основном, так и в нескольких внутренних окнах. Вы можете снабдить график именем или имя присваивается автоматически с характеристиками MetaStock's Smart Chart.

2. Форматы (Layouts)

«Формат» - графическое представление одной или нескольких ЦБ в одном или нескольких окнах. Формат может содержать линии цен, линии исследований, текс и т.д. При помощи формата Вы можете сгруппировать графики одной или разных ЦБ в одном управляемом блоке. Например, Вы хотите просматривать графики загруженные в компьютер вместе, но не единожды, а каждый день. Для этого Вы должны загрузить все эти графики, расположить их на экране как Вам удобно, а затем сохранить в качестве формата, который будете впоследствии использовать. Или может Вы желаете периодически просматривать график цены закрытия НК «Лукойл» вместе с ее 14-дневным Стохастическим индексом, 9-дневным Индексом относительной силы и скользящей средней с периодом 10. Также используйте для этого формат.

3. Шаблоны (Templates)

«Шаблон» - набор установок, который может повторно использоваться для различных графиков. Например, Вы можете создать шаблон, который включает индикаторы MACD и RSI, две скользящие средние и шкалу расположенную справа, а затем использовать его для других графиков с тем же самым результатом. (т.е. будет один и тот же вид для разных ЦБ).

4. Открытие, Закрытие и Сохранение. Общие вопросы (Opening, Closing and Saving. General)

В этом разделе объясняются команды Open (Открыть), Сlose (Закрыть) и Save (Сохранить) файл, которые используются во многих диалогах. Эти команды расположены в меню «File».

4.1 Диалог “New” (New Dialog)

Диалог «New» используется для создания нового графика. Выберите команду «New» из меню «File», а затем выберите опцию «Chart».
Security Name. В этом текстовом поле появляется имя ЦБ, которую Вы выберете из списка и для которой создается новый график. Вы также можете выбрать несколько ЦБ. Для этого необходимо нажать и удерживать о клавиши SHIFT или CTRL и в это время проводить выбор необходимых инструментов при помощи мыши. Новый график будет создан для каждой из выбранных ЦБ.
Directories. (Каталоги) Используйте дерево каталогов для выбора каталога в котором находятся файлы с ЦБ, которые Вы хотите представить в списке. Дерево каталогов расположено в правой половине этого диалога. Для того чтобы выбрать каталог нужно сделать двойной щелчок мышью непосредственно по его имени в дереве каталогов. Текущий катало располагается на вершине дерева.
Drives. (Устройства) Используйте раскрывающийся список устройств, чтобы выбрать диск на котором локализуются Ваши ЦБ.
Remove Existing Charts. (Закрывать открытые Графики) Выберите этот бокс, если хотите, чтобы все открытые ранее графики были закрыты прежде, чем новый график будет выведен на экран.
Templates. (Шаблоны) Щелкните по этой кнопке, чтобы выбрать шаблон в приложение к ЦБ.
Options. (Опции) Выберите эту кнопку, чтобы специфицировать количество данных, которое будет загружаться и выводиться на экран для создаваемого графика.

4.2 Диалог “Open” (Open Dialog)

Диалог «Open» (Открытие) используется для открытия существующих графиков и форматов. Выберите «Open» из меню «File».
Security Name. (Наименование ЦБ) В этом поле выводится имя графика или формата, который Вы выбираете из нижлежащего списка, для того чтобы открыть его. Также можно выбрать несколько графиков или форматов при помощи клавиш SHIFT или CTRL, одну из которых следует нажать и удерживать во время манипуляций с мышью.
List Files Of Type. (Список типов файлов) Выберите из этого ниспадающего списка необходимый тип файла, т.е. charts (график), Smart Charts (быстрый график), или layouts (формат). В результате в вышележащем списке будут отражаться файлы только этого типа. Для каждой ЦБ Smart Chart существует уже изначально и находится в каталоге. Smart Chart представляет из себя обычный график ЦБ, и выводится в том же виде, что и при окончании предыдущей работы с ним. В большинстве случаев используется именно этот тип графиков.
Description. (Описание) Имя файлов, сохраняемых графиков или форматов может содержать только 8 символов, однако Вы можете снабдить эти файлы описанием их содержимого.
Directories. (Каталоги) Для выбора набора файлов, которые Вы хотите видеть в списке, используется дерево каталогов. Произвести выбор можно двойным щелчком мыши прямо по дереву каталогов. Текущий каталог располагается на вершине дерева.
Drives. (Устройства) Используйте раскрывающийся список для выбора устройства, на котором находятся Ваши данные.
Remove Existing Charts. (Убрать открытые графики) Выберите этот бокс, чтобы все открытые ранее графики закрывались, перед тем как на экран будет выведен новый график или формат.
Templates. (Шаблоны) Щелкните по этой кнопке, чтобы выбрать для ЦБ шаблон. Эта кнопка недоступна, если в списке «List Files of Type» было выбрано «Charts» или «Layouts
Options. (Опции) При помощи этой кнопки Вы можете специфицировать количество загружаемых и выводимых на экран данных, когда график будет открыт.

4.3 Команды “Close” и “Close All” (Close and Close All Commands)

Команда «Close» используется, чтобы закрыть выбранный график или формат. Команда «Close All» закрывает все открытые графики или форматы. Выбор этих команд производится из меню «File». Если в графике или формате были сделаны какие-либо изменения, то МетаСток запросит Вас желаете ли Вы сохранить эти изменения.
Мы рекомендуем Вам закрывать график тот час как Вы закончили с ним работать с целью экономии памяти.
Вы также можете закрыть график при помощи двойного щелчка по системному значку, расположенному в верхнем левом углу экрана.

4.4 Команда “Save” (Save Command)

Команда «Save» используется для сохранения графиков или форматов. Когда Вы открываете график или формат МетаСток копирует их с жесткого диска на экран. Изменения, произведенные в графиках временно сохраняются в памяти до тех пор, пока Вы их не сохраните на жестком диске.
Команда «Save» располагается в меню «File». Если выбранному графику или формату еще не присвоено имя, то при сохранеии будет выведен диалог «Save As», в котором Вам предложат ввести имя для графика. Мы рекомендуем использовать команду «Save» в процессе работы над графиком, чтобы не «потерять» сделанное в результате отключения питания или по каким либо другим незапланированным причинам.

4.5 Диалог “Save As” (Save As Dialog)

Диалог «Save As» (Сохранить как) используется для того, чтобы сохранить график или формат в файле с именем которым Вы его снабдите. Команда «Save As» находится в меню «File». Когда Вы пытаетесь покинуть график или формат в которые были внесены какие-либо изменения МетаСток автоматически запрашивает Вас желаете ли Вы сохранить изменения.
File Name. (Имя файла) Напечатайте имя файла (не более 8 символов) в котором Вы хотите сохранить график. Текущий путь и имя выбранного графика, формата или шаблона отображается в поле «File Name». Вы можете сохранить существующие путь и имя или задать новые. Файлы графиков сохраняются с расширением *.mwc, форматов *.mwl и шаблонов *.mwt. Если Вы активировали бокс «Save as Smart Chart» то поле «File Name» будет недоступно, т.к графику типа «Smart Charts» имя присваивается автоматически.
Save File As Type. (Сохранить файл как определенный тип) Выберите тип файла в котором Вы хотите сохранить Вашу работу. Выберите «Chart», если Вы хотите сохранить график с определенным именем. Выберите «Template», если Вы получить шаблон на основе настроек выбранного графика. Если Вы отметили бокс «Save as Smart Chart», то в поле «File Name» будет автоматически отображено имя, а само поле будет недоступно.
Чтобы сохранить графики в качестве формата, используйте команду «New» из меню «File» - «Creating a New Layout».
Directories. (Каталоги) Используйте дерево каталогов, для выбора каталога, где Вы хотите сохранить Ваши файлы. Выбор производится двойным щелчком мыши непосредственно по дереву каталогов. Текущий директорий находится на вершине дерева. Если вы активировали бокс «Save as Smart Chart», то дерево каталогов недоступно, т.к. графики сохраняются автоматически в каталоге MSSMART.
Drives. (Устройства) Используйте ниспадающий список для выбора устройства, на котором Вы хотите сохранить Ваши файлы.
Save as Smart Chart. (Сохранить как быстрый график) Выберите этот бокс если хотите, чтобы выбранный график был сохранен как «security's smart chart». Если Вы выбрали этот бокс, то все другие средства управления в этом диалоге становятся недоступными, за исключением поля «Description» (Описание) и график автоматически сохраняется под именем ЦБ.

4.6 Команда “Save All” (Save All Command)
Команда «Save All» (Сохранить все) сохраняет все открытые графики и форматы под их существующими именами. Если график или формат не имеет имени, то будет выведен диалог «Save As» предлагающий назначить имя файлу.

5. Удаление файлов Графиков, Шаблонов и Форматов (Deleting Chart, Template, and Layout Files)

Информация содержащаяся в графиках, шаблонах и форматах сохраняется в отдельных файлах - по одному на каждый график, шаблон или формат. Графики сохраняются в файлах с расширением *.mwc, форматы - *.mwl, а шаблоны - *.mwt.
Поскольку это актуальные файлы для их удаления с жесткого диска необходимо использовать любой Менеджер файлов Windows или Нортон командер и т.п.

Работа с графиками – общие принципы

1. Что такое График?

График - это узловой момент из многого, что Вы делаете в МетаСтоке. График - это графическое представление базовых данных ЦБ как изолированных, так и в комбинации с индикаторами и линиями исследования. В МетаСтоке график располагается в одиночном окне, которое может разделяться на несколько окон, где отображаются необходимые цены или индикаторы.
График помогает проводить визуальную интерпретацию отображенных базовых цен и индикаторов. Индикаторы помогают Вам оценить, как вели себя цены в прошлом, ведут себя сейчас и как могут вести себя в будущем. Линии исследования показываю Вам как цены меняют направление на определенных уровнях и в определенные временные интервалы.

1.1 Удобства быстрых графиков (The Convenience of Smart Charts)
Для удобства работы с графиками МетаСток автоматически создает для каждой ЦБ график специального типа, который называется “быстрый график” (Smart Chart). Быстрый график - обычный график, который автоматически сохраняется под именем ЦБ, каждый раз после работы с ним. Когда Вы снова загружаете быстрый график ЦБ, на экране Вы увидите ту же картину, что и при окончании предыдущего сеанса его редактирования. Это освобождает Вас от необходимости сохранения графика при помощи несколько более длинной (однако более гибкой) процедуры с командой “Save As”.
Список Быстрых графиков располагается в диалоге “Open” под полем с именем ЦБ. Для того, чтобы в этом списке находились Быстрые графики в списке типов файлов (List Files of Type) должен быть выбран тип - “Smart Charts”. Для каждой ЦБ в МетаСтоке имеется только один Быстрый график.
Если в Вашей работе достаточно иметь один график на ЦБ, тогда самый удобный способ это использование Быстрых графиков. Однако, если Вы хотите иметь большую гибкость в работе и необходимо иметь несколько графиков для одной ЦБ, то Вам придется использовать команду “Save As” и сохранять каждый график под своим именем.
Если Вы желаете сохранить Быстрый график в файле с уникальным именем, то выберите команду “Save As” из меню “File”, а в тип сохраняемого файла специфицируйте как "Chart".

1.2 Использование для Быстрых графиков данных “только для чтения” (Accessing Smart Charts from Read-only Media)
Чтобы сохранить Быстрый график и информацию в нем содержащуюся (например, линии тренда, индикаторы, скользящие средние и т.п.) обычным способом необходимо, чтобы устройство, на котором находятся эти данные было, доступно для записи. Если Вы вызываете данные с устройства “только для чтения” (Read-only), например, таких как CD-ROM, сетевой драйвер и т.п., изменения внесенные в Быстрый график не могут быть сохранены. В этом случае для сохранения данных воспользуйтесь командой “Save As” и сохраните график в файле с типа “Chart”.


2. Создание нового Графика (Creating a New Chart)

Для создания нового графика используется команда “New” из меню “File”. При создании и отображении на экране нового графика используется специальный шаблон (по умолчанию), вызываемый из файла DEFAULT.MWT в соответствии с которым определяется внешний вид вновь созданного графика.
Для вновь создаваемого графика можно назначить другой шаблон, выбрав кнопку “Template” из диалога “New”.
Имя вновь создаваемого графика появляется в поле заголовка графика. Первоначально график по умолчанию именуется "CHARTx.MWC", где "x" - порядковый номер из открытых непоименованных графиков.
Если Вы попытаетесь закрыть или сохранить график с имеющим имя по умолчанию типа "CHARTx", то будет выведен диалог “Save As”, который предложит Вам снабдить график пользовательским именем.
Чтобы создать новый график:
• Выберите команду “New” из меню “File”. Выберите “Chart”.
• Выберите каталог, в котором находятся необходимые Вам ЦБ.
• Сделайте двойной щелчок по имени ЦБ, базовые данные которой будут использованы в графике.

3. Вывод существующих Графиков (Displaying Existing Charts)

После того как Вы сохранили вновь созданный график (или “вручную” или как Быстрый график), его можно вызвать вновь при помощи “Open” из меню “File”.
Выберите в списке типов файлов “List Files of Type” тип файлов, которые будут выводится в списке ЦБ (“Charts” или “Smart Charts”). Если Графика или Быстрого графика, которые Вы желали бы открыть нет в списке, проверьте правильность установки устройства или каталога.
Для того, чтобы за раз открыть несколько Графиков, выберите их при помощи мыши из списка диалога “Open”, удерживая при этом клавишу CTRL или SHIFT, а затем щелкните по кнопке <OK>.
При выделении из списка имени какой либо ЦБ в поле описания (Description) появляется описание выбранного графика. (Если описание было предварительно введено.)
Если в поле “List Files of Type” установлен тип файла “Charts”, то кнопка “Template” становится недоступной. Это превентивная мера для предотвращения случайного повреждения сохраненных ранее графиков, на которые возможно было потрачено много часов работы. Рекомендуется использовать нужный Вам шаблон с вновь создаваемым графиком.
Однако, Вы можете использовать пользовательский шаблон с графиком типа “Smart Chart”, выбрав для этого кнопку “Template” из диалога “Open”. См. “Recycling Your Work with Templates”.
Если Вы попытаетесь открыть уже открытые ранее графики типа “Chart” или “Smart Chart”, то МетаСток переместит Вас на уже открытые графики. Если Вам необходимо сделать прототип (копию, "clone") открытого графика, используйте команду “New” из меню “Window”.
Чтобы открыть уже существующий график:
• Выберите “Open” из меню “File”.
• Установите в поле “List Files of Type” необходимый тип файла (“Charts” или “Smart Charts”).
• Если Вы установили “Smart Charts”, то при необходимости можно использовать шаблон. Для этого необходимо щелкнуть по кнопке “Template”.
• Из дерева каталогов (Directories) выберите каталог, в котором располагаются файлы необходимых Вам графиков.
• Выполните двойной щелчок по имени необходимого Вам графика.
Чтобы быстро открыть несколько графиков:
• Выберите “Open” из меню “File”.
• Установите в поле “List Files of Type” необходимый тип файла (“Charts” или “Smart Charts”).
Если Вы установили “Smart Charts”, то при необходимости можно использовать шаблон. Для этого необходимо щелкнуть по кнопке “Template”.
• Из дерева каталогов (Directories) выберите каталог, в котором располагаются файлы необходимых Вам графиков.
• Выберите необходимые Вам графики при помощи мыши, нажав и удерживая при этом клавишу CTRL.
• Щелкните по кнопке <OK>.





4. Сохранение Графиков (Saving Charts)

Когда Вы открываете График, МетаСток копирует его с жесткого диска на экран. Изменения, произведенные в графиках, временно сохраняются в памяти до тех пор пока Вы их не сохраните на жестком диске.
Графики сохраняются при помощи команд «Save» или «Save As», расположенных в меню «File». МетаСток также автоматически сохраняет изменения, произведенные в графиках типа “Smart Charts”.
Если Вы попытаетесь сохранить график, которому еще не присвоено имя при помощи команды “Save”, то для сохранения будет выведен диалог «Save As», в котором будет предложено присвоить графику имя. При попытке закрыть график, в котором ранее были сделаны какие-либо изменения, выводится запрос на подтверждение сохранения таких изменений в графике.
Мы рекомендуем чаще использовать команду «Save» в процессе работы с графиком, чтобы не «потерять» сделанное в результате отключения питания или по каким либо другим незапланированным причинам.
Несмотря на то, что для каждой ЦБ автоматически поддерживается график типа “Smart Chart”, возможны варианты, когда необходимо данные специфического графика типа "Chart" переписать в автоматически создаваемый график типа “Smart Chart”. Для этого в диалоге “Save As” необходимо выбрать опцию “Save as Smart Chart”. В результате этого данные выбранного графика будут сохранены в графике типа “Smart Chart”, а имя соответствующей ЦБ будет появляться в списке ЦБ, имеющих Быстрые графики.
Чтобы сохранить график:
• Выберите график, который Вы будете сохранять при помощи щелчка непосредственно по этому графику.
• Выберите команду “Save” из меню “File”.
Если этот вновь созданный график и не имеет имени, Вам будет предложено ввести это имя в диалоге “Save As”.

5. Закрытие Графиков (Closing Charts)

После того, как Вы закончили работу с графиком, необходимо освободить его из памяти. Если Вы попытаетесь закрыть график, в который были внесены какие-либо изменения, МетаСток запросит Вашего подтверждения на сохранение графика с этими изменениями. Если Вы попытаетесь закрыть график, который ранее никогда не сохранялся (например, вновь созданный график), МетаСток выведет диалог “Save As”, где будет предложено присвоить графику имя.
Чтобы закрыть график:
• Выберите график, который Вы хотите закрыть и выполните одноиз следующих действий:
• выберите команду “Close” из меню “File”.
• Выполните двойной щелчок по системному значку, расположенному в левом верхнем углу графика.
Если график ранее изменялся, будет запрошено подтверждение на сохранение изменений. если график не имеет имени, будет предложено снабдить его именем.
Чтобы закрыть все открытые графики:
• Выберите команду “Close All” из меню “File”.
Если какие-либо графики были изменены, будет запрос на подтверждение сохранения изменений. Если какие-либо графики не имеют имен, будет предложено присвоить им эти имена.

6. Смена Графика при помощи команды “Change Security” (Scanning Charts with the Change Security Commands)

Использование команд “Change Security” это быстрый способ сканирования (пролистывания) ЦБ в их подкаталоге. Эти команды заменяют на графике базовые данные одной ЦБ на данные другой ЦБ (предыдущей, следующей или конкретной) расположенной в этом же подкаталоге. Все находящиеся на графике индикаторы пересчитываются (используя те же самые параметры) для базовых данных новой ЦБ. Все остальное остается в графике неизменным.
Существует три способа обращения к командам “Change Security”.
• Их можно выбрать из меню “File” при помощи опции “Change Security”.
• Можно нажать комбинации клавиш ALT+ПРАВАЯ СТРЕЛКА для перехода к следующей ЦБ или ALT+ЛЕВАЯ СТРЕЛКА для перехода к предыдущей ЦБ.
• Можно щелкнуть по кнопке “Change Security” на панели инструментов графика.
Эта функции помогает сэкономить много времени, особенно для тех, кто любит смотреть свои ЦБ с одним и тем же набором индикаторов.
Если во время сканирования набора ЦБ, Вы сделаете в каком либо графике изменения, это отразится на всех последующих графиках.
Графики типа “Smart Charts” не затрагиваются, пока Вы не сделаете изменений на графике. Если изменения сделаны на графике, выведенном на экран, то Быстрый график для этой ЦБ будет переписан.
Опция “Keep Line Studies” (Сохранять линии исследования) в диалоге “Application Properties” позволяет Вам установить, будут или не будут перемещаться линии исследования от одного графика к следующему во время сканирования.
Опция “Use Smart Charts” в диалоге “Application Properties” позволяет Вам установить будет или не будет отображаться индивидуальный Быстрый график ЦБ во время сканирования.
Для сканирования графиков:
• Выведите на экран график, который Вы хотите использовать в качестве основы для сканирования.
• Выполните, что-либо одно из следующего:
• Выберите команду “Change Security” из меню “File”. Выберите “Next”.
• Нажмите комбинацию клавиш ALT+ПРАВАЯ СТРЕЛКА.
• Щелкните кнопку “Next Security” на панели инструментов графика.

7. Прокручивание Графиков (Scrolling Charts)

Полоса горизонтальной прокрутки располагается в нижней части каждого графика. Эта полоса дает Вам возможность двигаться взад вперед по датам, загруженным в график. Щелчок по кнопке Прокрутка влево двигает Вас по данным назад, и наоборот щелчок по кнопке Прокрутка вправо - вперед. Также можно использовать для более быстрого передвижения по графику бегунок полосы прокрутки.
Прокрутка данных становится необходимой, когда в график загружено больше данных, чем умещается в окне графика. Вы можете использовать диалоги “Load Options” или “X-Axis properties” для уменьшения количества выводимых на экран данных по сравнению с количеством загруженных.

7.1 Обучение на графике (Learn as You Plot)
Вы имеете возможность прокручивать график только на один временной период (т.е., один день, одну неделю, один месяц и т.д.). Для этого нажимается и удерживается клавиша SHIFT, а мышью производится щелчок по правой или левой кнопкам горизонтальной прокрутки.
Это полезно в том случае, который мы называем обучение на графике. Анализируя график и, затем, прокручивая его вперед, Вы как бы симулируете прошедшее время, это помогает быстро повысить мастерство технического анализа.

7.2 Масштабирование оси Y (Rescale Y-Axis)
Кнопка “Rescale Y-Axis” (Масштабировать ось Y) используется для того, чтобы вручную масштабировать ось Y. Этот инструмент обычно используется, когда применяется горизонтальная полоса прокрутки для перемещения по данным графика. Эту команду также можно выбрать из меню “View”.
Во время прокрутки графика вперед или назад, диапазон значений оси Y остается фиксированным. (Если, однако, в диалоге “Application Properties” не была выбрана опция “Scroll Rescales Y-Axis”). В то же время, значения данных во время прокрутки могут уходить за границы диапазона этой оси вверх и вниз. В этом случае необходимо заново масштабировать ось Y при помощи кнопки “Rescale Y-axis”, чтобы данные графика были видны полностью.


Работа с графиками цен


1. Концепция базовой ЦБ (Base Security Concept)

Каждый График имеет базовую ЦБ. Базовая ЦБ - это та ЦБ, которая была выбрана при первоначальном создании Графика. Все индикаторы, которые выводятся в новом внутреннем окне расчитываются на данных базовой ЦБ. Имя базовой ЦБ выводится в строке заголовка Графика.
Базовая ЦБ Графика может быть изменена при помощи команды “Change Security” из меню “File”.
Вы можете закрыть внутреннее окно с базовой ЦБ, однако, закрытие этого внутреннего окна не прерывает связи с базовой ЦБ.
Если Вы закрыли внутреннее окно с базовой ЦБ или удалили ее, Вы можете востановить ее вновь. Для этого щелкните правой кнопкой мыши по Графику и выберите из контекстного меню опцию “Display Base Security” (Показать базовую ЦБ). При этом будет создано новое внутреннее окно в котором будет выведен график базовой ЦБ.
Несмотря на то, что График может иметь только одну базовую ЦБ, ценовые данные других ЦБ могут быть отображены во внутренних окнах на этом же Графике. В связи с тем, что все внутренние окна имеют одну общую ось дат, то все данные, отображаемые во внутренних окнах, должны относиться к одному и тому же периоду.

2. Типы графиков Цен (Types of Price Plots)

МетаСток предлагает девять способов просмотра информации о ценах ЦБ: "candlesticks" (подсвечники), "candlevolume" (объемные подсвечники), "equivolume" (равный объем), "kagi" (кад-жи), "high/low/close bars" (штриховой график типа максимум-минимум-закрытие), "line" (линейный график), "point & figure" (график крестики-нолики), "renko" (график Ренко), и "three line break". Наиболее часто используется график типа "high/low/close".
Для линейных графиков необходимо иметь только цены закрытия, в то время как для графика японских свечей необходимо иметь все четыре цены (открытие, максимальную, минимальную и закрытия). И как уже следует из их имен, графики типа "Equivolume" и "Candle-volume" соединяют в себе информацию о ценах и объеме.

3. Модификация графика Цен (Modifying a Price Plot)

Графики цен имеют различные свойства, включая стиль и цвет. Свойства графиков цен изменяются при помощи диалога "Price Plot's Properties".
Этот диалог можно вызвать разными способами:
• Указать на график цен и щелкнуть правой кнопкой мыши, а затем выбрать из контекстного меню опцию Security's name) Properties”.
• Двойным щелчком непосредственно по графику цен, чтобы, минуя контекстное меню, сразу попасть в этот диалог.

3.1 Двусмысленное меню (Ambiguity Menu)
Когда Вы щелкаете по графику (цен, индикаторов, линий исследования и т.д.), который тесно прилегает к другим графикам, может появиться "двусмысленное меню" (ambiguity menu). Это связано с тем, что, когда графики лежат близко друг к другу, МетаСток не может точно определить какой график Вы хотели выбрать. В "двусмысленном" меню показывается список имеющихся на экране объектов, и Вы можете просто выбрать необходимый Вам график из этого меню.

3.2 Вкладка Цвет/Стиль (Color/Style Page)

Price Styles. (Стиль графика цены) Из раскрывающегося списка вы можете выбрать 9 типов (стилей) графиков цены. Информацию по интерпретации различный стилей вы найдете в разделе Интерпретация (Interpretation).
Up. (Вверх) Из этого раскрывающегося списка Вы можете выбрать цвет элемента графика, когда цена движется вверх (т.е. сегодняшняя цена закрытия выше предыдущей). Заметьте, что данный цвет действует, только для текущего типа графика (Price Style).
Down. (Вниз) (Вверх) Из этого раскрывающегося списка Вы можете выбрать цвет элемента графика, когда цена движется вниз (т.е. сегодняшняя цена закрытия меньше предыдущей). Заметьте, что данный цвет действует, только для текущего типа графика (Price Style).
Weight. (Толщина) Из этого раскрывающегося списка Вы можете выбрать толщину линий графика.
Чтобы изменить «Style» (Тип) графика цены:
• Выполните двойной щелчок по линии графика цены.
• На вкладке «Color/Style», щелкните по кнопке списка «Price Styles».
• Выберите необходимый тип графика и щелкните <OK>.
Чтобы изменить цвет линий графика:
• Выполните двойной щелчок по линии графика цены.
• Выберите вкладку «Color/Style».
• Из раскрывающегося списка «Up» выберите цвет линии графика при изменении цены вверх.
• Из раскрывающегося списка «Down» выберите цвет линии графика при изменении цены вниз.
• Нажмите клавишу <OK>.

3.3 Изменение свойств выбранного объекта

Объектами могут быть графики цен, индикаторы или линии исследования. Выбор осуществляется щелчком мыши непосредственно по объекту. Признаком того, что объект выбран является появление на объекте меток в виде маленьких квадратиков. Далее правой кнопкой мыши вызывается меню «Свойства объекта».

4. Копирование, Удаление и Перемещение графиков цен (Copying, Deleting, and Moving Price Plots)

Копирование, перемещение и наложение графиков цен выполняется при помощи базовой «drag and drop» техники. Например, Вы можете разместить графики трех различных ЦБ на одном и том же графике. Или же можете «наложить» друг на друга несколько графиков различных ЦБ в одном и том же внутреннем окне.
Перемещение (Moving) подразумевает, что выбранный график убирается из его текущей локализации и перемещается на новое место. Копирование (Copying) подразумевает, что выбранный график копируется (т.е. остается на месте) в его текущей локализации, а затем вставляется на другое место. Удаление (Deleting) подразумевается, что выбранный график просто удаляется из окна Графика.

4.1 Копирование и перемещение графиков цен (Copying and Moving a Price Plot)
Вы можете скопировать график цены из одного внутреннего окна в другое, выбрав нужный график, а затем переместив его при помощи мыши на нужное место, нажав и удерживая при этом клавишу CTRL.
Перемещение гарфика цены осуществляется тем же способом, что и описано выше, за исключением нажатия на клавишу CTRL. Перемещение графика базовой ЦБ из одного графика в другой невозможно. В данном случае всегда нужно выполнять операцию копирования. Это предотвратит «случайное» удаление базовой ЦБ из еу графика.
Если после щелчка по графику цены, появляется «двусмысленное» меню, это означает, что линия графика лежит тесно с другими линиями (скользящими средними, линиями тренда и т.п.).
Рядом указателем мыши может появится и следовать за ним метка "not", если перемещяемый график цены нельзя сбросить в какой-либо области.
Чтобы копировать или преместить график цены в новое окно в том же или другом Графике:
• Открыть два Графика.
• Позиционировать указатель мыши над линией графика, который Вы хотите копировать или переместить.
• Нажать клавишу CTRL. Затем нажать и удерживать левую кнопку мыши и переместить график на строку заголовка нужного Графика.
• Когда указатель мыши будет позизионирован на нужной строке заголовка отпустить кнопку мыши.
Чтобы наложить график цены на существующий график:
• Позиционировать указатель мыши над графиком цены, который Вы желаете копировать или переместить.
• Нажать и удерживать клавишу CTRL (только при копировании). Зтем нажать левую кнопку мыши и перетащить график цены во внутреннее окно, которое уже содержит другой график цены или индикатор на которые Вы хотите провести наложение. Внутреннее окно может располагаться на том же самом графике или на другом.
• Отпустить кнопку мыши.
• Выбрать необходимые опции из диалога «Scaling Options» и нажать клавишу <OK>.
4.1.1 Диалог «Scaling Options» (Scaling Options Dialog)
При копировании или перемещении графика (т.е. графика цены или индикатора) в другое внутреннее окно может случиться так, что шкала оси Y будет несовместима с новыми графиками. В этом случае МетаСток выводит диалог «Scaling Options» (Параметры шкалы) в котором Вы можете выполнить необходимые Вам настройки шкалы.
Display New Scale on Left. (Показывать новую шкалу слева) При выборе этой опции на левой стороне внутреннего окна появляется новая шкала, которая соответствует новому графику. Существовавший ранее график остается на экране, однако левая шкала оси Y корреспондируется с новым графиком.
Display New Scale on Right. (Показывать новую шкалу справа) При выборе этой опции на правой стороне внутреннего окна появляется новая шкала, которая соответствует новому графику. Существовавший ранее график остается на экране, однако правая шкала оси Y корреспондируетсяя с новым графиком.
Merge with Scale on Left. (Подстроить левую шкалу) Подстраивает существующую левую шкалу оси Y, так чтобы она соответствовала новому графику.
Merge with Scale on Right. (Подстроить правую шкалу) Подстраивает существующую левую шкалу оси Y, так чтобы она соответствовала новому графику.
Overlay without Scale. (Наложить без шкалы) Накладывает новый график на существующий без соответствия определенной шкале. Это обычно делается в том случае, когда Вы хотите только сравнить относительные движения обоих графиков.
4.2 Удаление графика цены (Deleting a Price Plot)
Удаление графика цены из внутреннего окна убирает его из окна и оставляет это окно интактным.
Вы можете выполнить удаление выбранного графика нажав клавишу DEL или щелкнуть на графике правой кнопкой мыши и выбрать из контекстного меню команду «Delete». В случае, если в диалоге «Application Properties» активирована опция «Confirm Deletion of Objects» на экране появится диалог «Confirm Deletions» с запросом на подтверждение удаления объекта.
Наряду с этим Вы также можете удалить график цены при помощи команды «Cut» из меню «Edit» или соответствующего контекстного меню. При этом следует помнить, что эта команда помещает "вырезанный» объект в буфер обмена Windows.
Если Вы удалили график базовой ЦБ, Вы можете вывести его на экран вновь. Для этого щелкните правой кнопкой мыши в каком-либо внутреннем окне и выберите команду «Display Base Security» из контекстного меню. В результате в верхней части Графика будет открыто новое внутреннее окно, где будет выведен вновь график базовой ЦБ.
Чтобы удалить график цены сделай одно из следующего:
• Щелкните правой кнопкой мыши на графике и выберите команду «Delete» из контекстного меню.
• Щелкните левой кнопкой мыши по графику и нажмите клавишу DEL.
• Выберите «Yes» при выводе запроса на подтверждение удаления.
4.2.1 Подтверждение Удаления (Confirm Deletions)
В случае, если Вы хотите удалить из Графика графики цен, индикторы или линии исследования и если при этом активизированна опция «Confirm Deletion of Objects» в диалоге «Application Properties», то на экран будет выведен диалог «Confirm Deletions».
Выберите «Yes», если Вы желаете, чтобы выбранный объект был удален. Выберите «No», чтобы отменить данную операцию.
Вы также можете отменить появление диалога «Confirm Deletions», активизировав непосредственно в этом диалоге опцию "Don't display this message anymore. Аналогичный результат будет получен, если деактивизировать флажок "Confirm Deletion of Objects" в диалоге «Application Properties».


Работа с аналитическими линиями


1. Что такое аналитическая линия (What is a Line Study?)

Аналитические линии - специальные линии, которые Вами рисуются или размещаются на Графике. Например, это линии тренда (Trendlines), уровни Фибоначчи, арки Фибоначчи (Fibonacci Arcs), и т.п. Каждая линия исследования является объектом, который содержит набор параметров. Этот набор может быть вызван при помощи щелчка правой кнопкой мыши непосредственно по линии исследования.
Большинство линий исследования не могут выходить за пределы одного внутреннего окна. Однако, некоторые линии исследования (циклические линии, временные зоны Фибоначи и вертикальные линии) могут пересекать в вертикальном направлении все внутренние окна Графика.
Имеется два типа аналитических линий:
1. Связанные с построением в окне линий;
2. Не связанные с построением таких линий.
Первый тип требует, чтобы Вы отмечали щелчком мыши начальную точку линии, перемещали указатель мыши и отмечали щелчком конечную точку.
При втором типе линии появляются, как только указатель мыши будет перемещен во внутреннее окно. При помощи щелчка мыши аналитическая линия закрепляется здесь.

2. Построение Аналитических линий (Drawing a Line Study)

Для того, чтобы на Графике нарисовать аналитическую линию необходимо выбрать нужную кнопку на панели инструментов рисования, или же выбрать необходимый тип аналитической линии из меню «Insert».
Чтобы нарисовать аналитическую линию:
• Выберите необходимую аналитическую линию на панели инструментов рисования или из меню «Insert».
• Если в основе аналитической линии лежат линии тренда, то установите указатель мыши на начальную точку, нажмите левую клавишу мыши и удерживая ее переместите указатель в конечную точку линии тренда.
• Если аналитическая линия не относится к линиям тренда, то просто установите указатель мыши в ту позицию, где Вы хотите ее закрепить и щелкните левой кнопкой мыши.

Когда Вы на панели инструментов рисования выбрали какую либо аналитическую линию указатель мыши изменяет свой вид, что указывает на то, что вы переключились из режима Выбора (Select mode) в режим Рисования (Drawing mode). Когда Вы находитесь в режиме Рисования Вы можете рисовать аналитические линии, но не можете выбрать другой объект на Графике (например, график цены или аналитическую линию)
Чтобы вернуться в режим Выбора после выполнения работы в режиме Рисования, щелкните по кнопке «Select Mode» на панели рисования. В диалоге «Application property» на вкладке «General» можно активизировать опцию «Return to Select Mode after Drawing» (Возвращаться в режим Выбора после рисования). Это приведет к тому, что сразу после того как будет нарисована аналитическая линия МетаСток автоматически возвратиться в режим Выбора.

3. Модификация аналитических линий (Modifying a Line Study)

У нарисованных аналитических линий Вы можете модифицировать некоторые из их свойств (начальная и конечная дата, начальное и конечное значение, цвет и т.п.) при помощи диалога «line study's Properties». Кроме того аналитические линии могут быть скопированы или перемещены в новое внутреннее окно в том же или другом Графике. Также аналитическую линию можно перемещать в пределах внутреннего окна.
Диалог «line study's Properties» может быть вызван тремя способами:
• Правый щелчок непосредственно по аналитической линии и выбор команды «Properties» из контекстного меню.
• Двойной щелчок по аналитической линии.
• Щелчок по аналитической линии, а затем выбор пункта «Selected Object» из меню «Format».
Если Вы пытаетесь выбрать аналитическую линию расположенную тесно с другими линиями (цен, индикаторов и т.д.), то может появиться «двусмысленное» меню, где можно выбрать нужную линию исследования.
Следующий диалог «Properties» для аналитической линии типа «Fibonacci Arc» является типичным для многих аналитических.
Чтобы модифицировать свойства аналитической линии:
• Установите указатель мыши на аналитическую линию и щелкните правой кнопкой мыши.
• Выберите пункт «Properties».
• Сделайте необходимые изменения в диалоге «line study's Properties».
• Нажмите клавишу <OK>.
3.1 Общие свойства для большинства линий исследования (Properties Common to Many Line Studies)
Каждый диалог “line study Properties” включает две вкладки: “Parameters” и “Color/Style”. Вкладки “Color/Style” идентичны у всех аналитических линий, в то время как вкладки “Parameters” отличаются. Ниже приводятся несколько видов настройки, которые являются общими для многих аналитических линий.
3.1.1 Вкладка “Parameters” (Parameters Page)
Вкладка “Parameters” у большинства аналитических линий включает один или больше параметров из списка (шесть типов) представленного ниже. эти параметры полностью присутствуют у аналитической линии “Trendline” (Линия тренда).
Start Date. (Начальная дата) Дата, где начинается аналитическая линия. Вы можете изменить эту дату напечатав новое значение в поле ввода или же “захватив” крайнюю левую точку аналитической и переместив ее влево или вправо.
Start Value. (Начальное значение) Значение по оси Y начальной точки аналитической линии. Вы можете изменить это значение в поле ввода или же “захватить” крайнюю левую точку аналитической линии и переместить ее вверх или вниз.
End Date. (Конечная дата) Дата, где заканчивается аналитическая линия. Вы можете изменить эту дату напечатав новое значение в поле ввода или же “захватив” крайнюю правую точку аналитической и переместив ее влево или вправо.
End Value. (Конечное значение) Значение по оси Y конечной точки аналитической линии. Вы можете изменить это значение в поле ввода или же “захватить” крайнюю правую точку аналитической линии и переместить ее вверх или вниз.
Left Extension. (Продолжение влево) Активизируйте этот флажок, если хотите продлить аналитическую линию влево за начальную дату. Даже если аналитическая линия продлена, первоначально установленные начальная и конечная даты остаются, так что можно восстановить при необходимости первоначальный вид линии.
Right Extension. (Продолжение вправо) Активизируйте этот флажок, если хотите продлить аналитическую линию вправо за конечную дату. Даже если аналитическая линия продлена, первоначально установленные начальная и конечная даты остаются, так что можно восстановить при необходимости первоначальный вид линии.
3.1.2 Вкладка “Color/Style” (Color/Style Page)
Вкладка “Color/Style” используется для модификации только выбранной аналитической линии. Если Вы хотите, чтобы все новые аналитические линии были изменены, используйте команду “Default Colors & Styles” из меню “Tools”, которая вызывает одноименный диалог.
Color. (Цвет) Раскрывающийся список с набором цветов для аналитической линии.
Style. (Стиль) Раскрывающийся список с набором стилей для аналитической линии.
Weight. (Толщина) В этом раскрывающемся списке можно установить толщину. Если выбрана толщина больше чем минимальная, то выводится будут всегда монолитные линии.

4. Подгонка, Копирование, Удаление и Перемещение Аналитических линий (Adjusting, Copying, Deleting, and Moving Line Studies)

Аналитические линии могут быть перемещаться приблизительно также как и графики цен и индикаторы при помощи техники “перетащи и сбрось”. Вы можете скопировать линию тренда (trendline) для того чтобы образовать канал с параллельными линиями выше и ниже графика цены. Или возможно Вы хотите настроить диапазон “Fibonacci Retracements” (Уровни Фибоначи) на участок графика. Или Вам необходимо убрать с Графика старые линии Квадрантов (Quadrant line). Все это просто осуществляется при помощи стандартной техники Windows, т.е. щелчок, перемещение и сброс.
Всякий раз, когда Вы пытаетесь выбрать какую либо аналитическую линию на переполненном другими линиями Графике появляется "двусмысленное" меню. Из этого меню Вы можете выбрать необходимую линию.
С целью копирования, перемещения или удаления можно выбрать несколько аналитических линий. Для этого в период манипуляций мышью необходимо нажать и удерживать клавишу “SHIFT”.

4.1 Копирование и Перемещение Аналитических линий (Copying and Moving Line Studies)
Копирование и удаление аналитических линий осуществляется аналогично копированию и удалению графиков цен и индикаторов.
Заметим, что копирование очень удобно для создания каналов, когда параллельные линии проходят выше и ниже графика цены.
Характерным для аналитических линий является то, что они могут быть скопированы вместе с индикатором. Например, если Вы хотите нарисовать на индикаторе линию тренда, выберите индикатор и аналитическую линию и переместите их в новую позицию.
Чтобы переместить или скопировать аналитическую линию:
• Установите указатель мыши над аналитической линией, которую Вы хотите копировать или переместить.
• Нажмите и удерживайте клавишу CTRL. Затем, нажав и удерживая левую кнопку мыши, переместите аналитическую линию в нужное место. Новая локализация может находиться на том же или другом графике.
• Отпустите кнопку мыши.
• Выберите необходимые опции из диалога “Scaling Options dialog”.
• Щелкните <OK>.

4.2 Настройка Аналитических линий (Adjusting Line Studies)
Для того чтобы точно позиционировать (подогнать) аналитическую линию нужно ее выделить (признак выделения - появление меток в виде маленьких квадратиков в области концевых точек линии), установить указатель мыши на одну из концевых меток и переместить ее в нужном направлении. Когда указатель мыши установлен на концевую метку, рядом с указателем мыши появляется значок в виде сжатой ладони, который сигнализирует, что можно производить подгонку данной линии.
Чтобы подогнать аналитическую линию:
• Укажите мышью нужную аналитическую линию и щелкните левой кнопкой мыши.
• Установите указатель мыши на одну из концевых меток аналитической линии.
• Нажмите левую клавишу мыши и не отпуская ее переместите метку в нужную позицию.
• Отпустите кнопку мыши.


4.3 Удаление Аналитических линий (Deleting Line Studies)
Аналитическую линию можно удалить выполнив на ней правый щелчок мыши и выбрав из контекстного меню команду “Delete”. Другой способ - это выделив аналитическую линию, нажать клавишу “DEL”. Также как и в случае удаления графиков цен и индикаторов может появиться диалог подтверждения удаления если соответствующая опция активизирована на странице “General” в диалоге “Application Properties”.
Если Вы хотите удалить из Графика все аналитические линии одним махом, выберите команду “Delete All” из меню “Edit”.
Чтобы удалить аналитическую линию:
• Укажите мышью на нужную линию.
• Щелкните правой кнопкой мыши.
• Выберите из контекстного меню пункт “Delete”.
Чтобы удалить все аналитические линии из Графика:
• Выберите График из которого должны быть удалены аналитические линии.
• Выберите пункт “Delete All” из меню “Edit”. В появившемся диалоге отметьте флажок “Line Studies”
• Щелкните по клавише <OK>.

Работа с индикаторами

1. Что такое Индикатор (What is an Indicator?)

Индикатор - математическое преобразование цен ЦБ и/или объемов сделок, в результате которого получается значение, которое используется для прогнозирования будущих изменений цен ЦБ. Индикатор обычно рисуется рядом с графиком цены ЦБ или во внутреннем окне или накладывается прямо на этот график (например, как скользящая средняя).
В МетаСтоке имеется три типа индикаторов, которые мы рассмотрим ниже.
Price Indicators. (Ценовые индикаторы) Эти индикаторы всегда рассчитываются на основе данных о ценах и объемах.
Custom Indicators. (Пользовательские индикаторы) Пользовательские индикаторы рассчитываются на основе формул, которые создаются при помощи Построителя индикаторов (Indicator Builder).
Plot-based Indicators. (Накладываемые индикаторы) Сюда относятся индикаторы, которые накладываются на уже существующие графики. Это могут быть графики цен или других индикаторов. Например, скользящая средняя является накладываемым индикатором, потому что всегда калькулируется на основе существующих цен или индикаторов. Если накладываемый индикатор непосредственно не перемещен на какой либо график (т.е. он рисуется в отдельном внутреннем окне), то для расчета всегда используются данные базовой ЦБ.
Все типы индикаторов располагаются вместе в списке “Indicator QuickList” и диалоге “Indicators”.

2. Построение Индикаторов (Plotting an Indicator)

В МетаСтоке имеется три способа построения графиков индикаторов. Вы можете захватить и сбросить индикатор из списка “Indicator QuickList” или выбрать опцию “Indicators” из меню “Insert”, чтобы вызвать диалог “Indicators”.
Когда индикатор выводится на экран, он обычно рассчитывается на данных базовой ЦБ. Однако, некоторые индикаторы (т.е. накладываемые индикаторы) могут рассчитываться на основе данных других индикаторов. например, скользящая средняя может рассчитываться на основе данных какого-либо графика. Это может быть график индикатора, другой скользящей средней или цены.
Если индикатор рассчитывается на основе данных ЦБ не являющейся базовой для данного Графика, то после имени индикатора в круглых скобках будет выведено имя этой ЦБ.

2.1 Использование диалога “Indicators” (Using the Indicators Dialog)
Диалог “Indicators” (Индикаторы) вызывается при помощи выбора опции “Indicators” из меню “Insert”. В этом диалоге Вам предлагается выбрать необходимый индикатор и внутреннее окно в котором этот индикатор будет нарисован.
Вы можете выбрать один или несколько индикаторов из списка индикаторов (“Indicators”), расположенного левой части диалога. Далее выберите внутреннее окно в котором будет выведен индикатор(ы) из списка внутренних окон (“Inner Windows”) расположенного в правой части данного диалога. Если выбранный индикатор относится к налагаемым ("plot-based") индикаторам, то в списке внутренних окон представлены окна всех имеющихся на Графике графиков. Это дает возможность выбрать именно тот график на основе данных которого будут рассчитываться значения индикатора.
В списке из правой части диалога внутренние окна нумеруются в порядке их расположения сверху вниз в Графике, т.е. Inner Window #1, Inner Window #2 и т.д.
Если Вы выберите из этого списка “New Inner Window”, то индикатор будет нарисован в новом внутреннем окне, которое расположится в верхней части Графика.
Как нарисовать индикатор при помощи диалога “Indicators”:
• Выберите График на котором Вы будете рисовать индикатор.
• Выберите опцию “Indicators” из меню “Insert”.
• Выберите необходимый индикатор из списка индикаторов в левой стороне диалога.
• Выберите внутреннее окно для индикатора из списка внутренних окон в правой стороне диалога.
• Нажмите клавишу <OK>.
2.2 Использование списка “Indicator QuickList” (Using the Indicator QuickList)
Список “Indicator QuickList”, который располагается на главной панели инструментов, предоставляет возможность быстрого вызова любых индикаторов МетаСтока.
Вы можете перетащить индикаторы из этого списка и сбросить их на Ваш График. Если Вы сбрасываете индикатор на строку заголовка Графика, то для этого индикатора автоматически создается внутреннее окно.
Также индикатор можно сбросить на уже существующее внутреннее окно. Такие индикаторы как скользящие средние (Moving averages), Огибающие линии (Envelopes) и полосы Боллинджера (Bollinger Bands) почти всегда сбрасываются на уже существующие внутренние окна, поскольку они обычно накладываются на уже существующие графики. Если Вы сбросили индикатор в существующем внутреннем окне, может появиться диалог “Scaling Options”. Этот диалог предлагает установить способ корреспонденции новых графиков со шкалами внутреннего окна.
При перетаскивании индикатора из списка “QuickList” в строке состояния выводится полезная информация о местоположении (т.е. в каком окне) указателя мыши. См. “Using the Status Bar”. В качестве визуальной подсказки график на основе данных которого будут производится расчеты изменяет свой цвет как только в его зону попадает перетаскиваемый индикатор.
Быстрый путь, выбора необходимого индикатора из списка “QuickList” это щелкнуть по списку и нажать на клавиатуре первую букву из имени индикатора. МетаСток мгновенно находит первый индикатор начинающий на эту букву и выводит его имя в поле списка “QuickList”.
Как нарисовать индикатор в новом внутреннем окне при помощи “QuickList”:
• Щелкните по списку “Indicator QuickList” на панели инструментов и пролистывайте список пока не обнаружите нужный индикатор.
• Установите указатель мыши на значок расположенный слева от имени индикатора. Заметьте, что указатель мыши приобретает форму раскрытой ладони.
• Нажмите и удерживая левую кнопку мыши, переместите индикатор на строку заголовка Графика. Заметьте, что при позиционировании над строкой заголовка указатель мыши также приобретает характерный внешний вид (появляется рисунок в виде маленького окна).
• Отпустите кнопку мыши.
• Как нарисовать индикатор на существующем графике:
• Щелкните по списку “Indicator QuickList” и пролистывайте его пока не появится нужный налагаемый индикатор с характерным для него значком.
• Установите указатель мыши на значок расположенный слева от имени индикатора. Заметьте, что указатель мыши приобретает форму раскрытой ладони.
• Нажмите и удерживая левую кнопку мыши, переместите индикатор в на график на основе которого будут произведены расчеты. Заметьте, что при этом график изменит свой цвет, что является подсказкой, что будут использованы данные именно этого графика.
• Отпустите кнопку мыши.

3. Модификация Индикаторов (Modifying an Indicator)
После того как индикатор будет нарисован Вы можете модифицировать некоторые из его свойств (например, цвет. число периодов и т.д.) при помощи диалога “indicator's Properties”. Индикаторы также могут быть скопированы или перемещены в другое внутреннее окно на этом или другом Графике.
Диалог “indicator's Properties” может быть вызван тремя способами:
• Вы можете щелкнуть правой кнопкой мыши непосредственно по линии индикатора и выбрать пункт “Properties” из контекстного меню.
• Можно выполнить двойной щелчок по линии индикатора.
• Можно выбрать индикатор, а затем выбрать пункт “Selected Object” из меню “Format”.
Если Вы щелкнули по линии индикатора, которая слишком близко расположена к другим линиям (цен, скользящих средних и т.д.), появится меню из которого Вы можете выбрать необходимую линию.
Если индикатор не требует параметров (например, “Median Price”, “Typical Price” и т.п.), то в диалоге “Properties” отсутствует вкладка “Parameters”.
Как модифицировать свойства индикаторов:
• Позиционируйте мышь на индикаторе и выполните двойной щелчок.
• Внесите необходимые изменения в свойства индикаторов в диалоге “Indicator's Properties”.
• Нажмите клавишу <OK>.
3.1 Свойства общие для всех Индикаторов (Properties Common to All Indicators)
Каждый диалог “Indicator Properties” содержит две вкладки одинаковые для всех индикаторов: вкладка “Color/Style” и “Horizontal Line”. Вы можете редактировать параметры этих вкладок для каждого индикатора МетаСтока.
Диалог вызывается, как показано выше.
3.1.1 Вкладка “Color/Style” (Color/Style Page)
Вкладка “Color/Style” используется для модификации цвета и стиля линий только выбранного индикатора. Эта вкладка находится в диалоге “indicator's Properties”. Вызов диалога описанного выше.
Если Вы хотите изменить цвета или стиль заданные по умолчанию для всех новых индикаторов, используйте команду “Default Colors & Styles” из меню “Tools”.
Color. (Цвет) Выберите нужный цвет для линий выбранного индикатора из раскрывающегося списка.
Style. (Стиль) Выберите стиль для линий выбранного индикатора из раскрывающегося списка .
Weight. (Толщина) Выберите необходимую толщину для линий выбранного индикатора из раскрывающегося списка. Если Вы выбрали толщину больше чем минимальная, то стиль линии всегда будет - сплошная линия.
3.1.2 Вкладка Горизонтальные линии (Horizontal Lines Page)
При интерпретации многих индикаторов используются их определенные значения. Например, при уровне стохастического осциллятора выше 80 говорят о том, что данные ЦБ перекуплены, a при уровне ниже 20 - перепроданы. Горизонтальные линии, которые обычно располагают на этих уровнях, помогают при интерпретации индикатора.
Во вкладке “Horizontal Lines” Вы можете установить уровни расположения горизонтальных линий для каждого индикатора. Каждый раз когда выводится индикатор специфицированные горизонтальные линии также выводятся автоматически.
Вкладка “Horizontal Lines” располагается в диалоге “indicator's Properties”. О вызове диалога рассказано выше.
В этой вкладке Вы также можете установить цвет (color), стиль (line style) и толщину (weight) горизонтальных линий. Для этого щелкните по кнопке “Color/Style” в результате появится диалог “Horizontal lines Color&Style”. Цвет, стиль и толщина установленные в этом диалоге будут использованы для всех горизонтальных линий индикатора.

3.2 Диалог “Default Colors and Styles” (Default Colors and Styles Dialog)
Диалог “Default Colors and Style” (Цвет и стиль по умолчанию) вызывается одноименной командой из меню “Tools”. В этом диалоге можно установить цвета и стили линий вновь создаваемых Графиков (индикаторов, линий исследования и текста/символов). Заметим, что установки цвета и стиля по умолчанию не влияют на существующие Графики. Они действуют только на новые элементы. Например, если Вы хотите, чтобы новые индикаторы всегда имели прерывистые голубые линии взамен сплошных красных, Вы должны вызвать диалог “Default Colors and Styles” и внести необходимые изменения.
Вкладки “Indicators” и “Line Studies” этого диалога обычно включают раскрывающиеся списки Color (Цвет), Style (Стиль), Weight (Толщина) для модификации линий индикаторов и линий исследования. См. “Color/Style Page”. Если Вы выбрали толщину больше чем минимальная, то стиль линии всегда будет - сплошная линия.
На вкладке “Text/Symbols” Вы можете установить шрифт для Текста и размер Символов.
3.2.1 Изменение шрифтов (Changing Fonts)
Вы можете изменить шрифт для текста, осей X и Y, символьных меток, заголовков и “подвалов” графиков выводимых на печать. Для этого используется стандартный диалог Windows “Font”.
Font. (Шрифт) Выберите шрифт. Размер и тип шрифта появляющегося на этом листе зависит от установок Вашего принтера.
Font Style. (Начертание шрифта) Выберите начертание шрифта.
Font Size. (размер шрифта) Выберите размер пункта шрифта.
Effects. (Атрибуты) Отметьте флажки для установки необходимый эффектов.
Color. (Цвет) Выберите цвет шрифта.
Sample. (Образец) В этом поле Вы увидите образец выбранного шрифта.

4. Копирование, Удаление и Перемещение Индикаторов (Copying, Deleting, and Moving Indicators)

Индикаторы можно перемещать также просто как и графики цен и линии исследования. Возможно Вы хотите увидеть три Ваших любимых индикатора наложенных один на другой. Или может быть Вы хотите копировать RSI индекса Dow на График IBM. Или может Вы хотите удалить скользящую среднюю из Графика Corn.
Каждый раз когда Вы попытаетесь выбрать индикатор в переполненных другими линиями окнах будет появляться “двусмысленное” меню, при помощи которого можно выбрать нужный график.
Вы можете выбрать несколько индикаторов для копирования, перемещения или удаления. Для этого нужно нажать и удерживать во время операции выбора клавишу SHIFT.

4.1 Копирование и Перемещение Индикаторов (Copying and Moving Indicators)
Копирование и перемещение индикаторов осуществляется при помощи техники “drag and drop”. Различие между копированием и перемещением заключается в том, что при копировании необходимо нажать и удерживать клавишу CTRL. Если рядом с указатель мыши позиционированный на линии индикатора появилась четырехсторонняя стрелка (курсор перемещения), тот данный индикатор может быть перемещен.
Когда индикатор (или любой значащий объект) копируется, то при его перемещении рядом с указателем мыши появляется значок копирования - маленький знак “+”.
Если Вы переместили и сбросили его в существующем внутреннем окне, то будет выведен диалог “Scaling Options”. Этот диалог предлагает выбрать способ привязки нового графика к шкалам внутреннего окна.
Вы можете копировать (или переместить) индикатор в новое внутреннее окно перетащив и сбросив индикатор на строку заголовка Графика.
Как переместить (или копировать) индикатор в существующее внутреннее окно:
• Установите указатель мыши на индикатор, который Вы хотите переместить или скопировать.
• Нажмите и удерживайте клавишу CTRL (только при копировании). Нажмите и удерживайте левую кнопку мыши и переместите индикатор в другое внутреннее окно. Внутреннее окно может располагаться на этом же или на другом Графике.
• Отпустите кнопку мыши.
• Отметьте необходимую опцию в диалоге “Scaling Options” и щелкните <OK>.
• Как переместить (или скопировать) индикатор в новое внутреннее окно:
• Установите указатель мыши на индикатор который Вы хотите переместить или скопировать в новое внутреннее окно.
• Нажмите и удерживайте клавишу CTRL (только при копировании). Нажмите левую кнопку мыши и удерживая ее, переместите индикатор на строку заголовка Графика. График может быть тем же самым или другим.
• Отпустите кнопку мыши.

4.2 Удаление Индикаторов (Deleting Indicators)
Вы можете удалить выбранный индикатор, нажав клавишу DEL или щелкнуть по индикатору правой кнопкой мыши и выбрать из контекстного меню команду «Delete». В случае, если в диалоге «Application Properties» активирована опция «Confirm Deletion of Objects» на экране появится диалог «Confirm Deletions» с запросом на подтверждение удаления объекта.
Как удалить индикатор:
• Установите указатель мыши на нужный индикатор.
• Щелкните правой кнопкой мыши
• Выберите команду «Delete» из контекстного меню.
Мы так малы в масштабах рынка - что нами можно пренебречь;)

#3 Игорь.

Игорь.

    живет тут

  • Заблокированные
  • PipPipPipPipPip
  • 1 750 сообщений

Опубликовано 03 Ноябрь 2005 - 03:14

Семинар 3. Пользовательский индикатор, как основа МТС.

1. Что такое “Построитель индикаторов” (Indicator Builder)?

Технический анализ постоянно развивается. Новый хорошо работающий сегодня индикатор мо-жет быть вскоре оттеснен другим индикатором. По этим причинам, МетаСток снабжен мощным инстру-ментом, называемым Indicator Builder, который позволяет Вам создавать индикаторы.
Прочитав о новом индикаторе в специальном журнале или новой книге, Вы имеете шанс воспро-извести этот индикатор при помощи Indicator Builder.
Indicator Builder - мощный инструмент, однако, чтобы эффективно его использовать, необходимо разбираться в основных математических концепциях и логических выражениях.
Индикаторы, разработанные при помощи Indicator Builder, используются точно также как и встро-енные индикаторы. Они могут быть “перетащены” с панели Indicator QuickList или же вызваны из диалога Indicators. Если Вы хорошо владеете написанием формул в программах для EXEL, то Вы легко освои-тесь с формулами здесь и можете начинать разрабатывать Ваши индикаторы немедленно. Если же Вы с этим не знакомы, не огорчайтесь, Учебник по формулам поможет вам быстро во всем разобраться.

2. Учебник по формулам (Formula Tutorial)

Формула - математическое выражение того, что Вы хотите определить. Они используются, чтобы определять пользовательские индикаторы, тесты систем (торговых систем), и исследований. Наряду с предопределенными встроенными в Indicator QuickList индикаторами, Метасток предлагает мощную кол-лекцию инструментов, которую Вы можете использовать при разработке Ваших индикаторов. В этой гла-ве объясняется, как создать и отобразить эти “пользовательские индикаторы”.
Вы можете разработать свыше 1000 различных “пользовательских” индикаторов. Индикаторы ав-томатически сохраняются Метастоком и, поэтому, нет необходимости каждый вводить их заново, когда Вы хотите отобразить индикатор. Формулы создаваемые при помощи меню из Indicator Builder и формулы используемые для расчетов во встроенных индикаторах совершенно независимы друг от друга. Измене-ния сделанные в формулах пользовательских индикаторов никак не отразятся на встроенных индикато-рах.

2.1 Начало работы (Getting Started)

Выведи на экран какой либо график, выберите опцию “Indicator Builder” из меню Tools. На экране появится “Indicator Builder”-диалог.
• Щелкни по клавише New. Напечатай имя формулы "Tutorial"
• Щелкни по окошку “Display in QuickList” - наличие галочки в этом окне указывает на то, что данный индикатор можно будет выбрать из меню “Indicator QuickList” на главной панели инст-рументов.
• Щелкни по окну “Formula edit box” в котором Вы можете начать печатать необходимую форму-лу.

2.2 Идентификаторы массива цен (Price Array Identifiers)

Идентификаторы массива цен специфицируют поля цен. Идентификаторами массива цен являют-ся цены открытия (open), максимальная (high), минимальная (low), закрытия (close), а также объем сде-лок (volume), количество открытых позиций (open interest) и индикатор.
Например, напечатайте слово “HIGH" and щелкните по клавише OK. Этим Вы создаете формулу, график которой будет выводить максимальную дневную цену.
Вместо полного имени идентификаторов массива цен могут использоваться аббревиатуры, как показано ниже.

Полное имя Аббревиатура
Open O
High H
Low L
Close C
Volume V
Interest OI
Indicator P


2.3 Построение графика пользовательского индикатора (Plotting a Custom Indicator)

• Щелкни по клавише “Indicator QuickList”, чтобы показать все имеющиеся в наличии встроенные и пользовательские индикаторы.
• Перетащи индикатор с именем "Tutorial" из списка “QuickList” и сбрось его на головную часть графика. Откроется новое внутреннее окно, в котором будет отображен график максимальных дневных цен.
• Вы можете отличить “пользовательский” индикатор от других в списке “QuickList “ по уникальной “иконке”, расположенной слева от имени индикатора.
• Сейчас выберите опцию “Indicator Builder” из меню “Tools” или щелкните по аналогичной кнопке на главной панели инструментов.

2.4 Математические операторы (Mathematical Operators)

Формулы могут содержать следующие математические операторы. (Они также могут содержать и дру-гие операторы, например, квадратный корень, о которых будет сказано позже)

+ Сложение
- Вычитание
* Умножение
/ Деление

• Выбери формулу с именем “Tutorial” and щелкните по кнопке “Edit”.
• Напечатайте в окне “Formula edit box” формулу показанную ниже:

( H + L) / 2

В этой формуле суммируются максимальная и минимальная дневные цены, а затем это значение делит-ся на 2. Нарисованный ранее график “пользовательского” индикатора будет автоматически обновлен в соответствии с внесенными в формулу изменениями, как только Вы покинете Indicator Builder.

2.5 Приоритет операторов (Operator Precedence)

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

- Отрицательные значения
* Умножение
/ Деление
+ Сложение
- Вычитание
< Меньше чем
> Больше чем
<= Меньше чем или равно
>= Больше чем или равно
= Равно
<> Не равно
And Логическое “И”
Or Логическое “ИЛИ”

Выражение “H+L/2” (без скобок) будет калькулироваться Метастоком как “L/2” плюс “Н”, поскольку деление имеет более высокий приоритет (прецеденс). Этот результат будет отличен от значения получае-мого в случае "(H + L) / 2." Для простоты контроля прецеденса (приоритета) мы рекомендуем использо-вать скобки.

2.6 Формула “Функции” (Formula "Functions")

Наряду с четырьмя арифметическими операторами, Метасток имеет более 160 “функций”, кото-рые выполняют математические операции. Например, функция “sqrt()” рассчитывает квадратный корень числа.
Напечатай и выведи график формулы sqrt( CLOSE ). Эта формула выводит график квадратных корней цен закрытия.
Как Вы вероятно заметили, этот синтаксис очень похож на синтаксис языка используемого в формулах электронных таблиц.
В конце имени каждой функции должны стоять две круглые скобки. Если первым символом по-сле имени функции не является “(“, то будет выдано сообщение об ошибке.

2.7 Параметры функций (Function Parameters)

Функция sqrt() требует одного параметра, находящегося внутри скобок (например, “CLOSE” как в предыдущей формуле). Другие функции, такие как macd(), вообще не требуют никаких парамет-ров.Следующая формула суммирует квадратный корень максимальной цены со значением индикатора MACD.

sqrt( HIGH ) + macd().

Некоторые функции требуют нескольких параметров внутри скобок. Например, для функции “Price Oscillator” {Ценовой осциллятор} (см. ниже) необходимо 4 параметра.

oscp( 10, 20, EXPONENTIAL, % ).

В приведенной выше формуле Метасток рассчитывает 10-20 экспоненциальный Ценовой осцил-лятор при процентном методе калькуляции.
Если Вы забыли вставить необходимый параметр, Метасток выдаст окно с напоминанием о тре-буемом параметре.

2.8 Контроль ошибок в формулах (Locating Errors in Formulas)

Метасток отлично выполняет работу по отслеживанию ошибок в формулах. Фактически невоз-можно ввести неправильную формулу. Это не означает, что Ваши формулы всегда будут работать, как Вы предполагали, потому что Метасток не знает, что Вы пытаетесь создать. Однако, это означает, что синтаксис формул (а именно, функций, имен, параметров, операторов, скобок и т.д.) всегда будет пра-вильным.
Когда Вы вводите формулу, Метасток проверяет ее синтаксис. Если он обнаруживает ошибку, формула будет отображена заново, курсор будет позиционирован в области ошибки и появится сообще-ние, объясняющее суть ошибки.
Предположим, что Вы хотите отобразить график формулы содержащей 10-дневную экспоненци-альную скользящую среднюю цены закрытия. Вы возможно помните, что именем функции скользящей средней является "mov".
Введите то, что Вам известно
mov
и щелкните по клавише ОК.
Курсор будет позиционирован после имени “mov” и появится сообщение “символ “(“ должен стоять непосредственно за именем функции”.
Добавьте “(“
mov(
и щелкните по клавише ОК.
В результате , курсор будет позиционирован после “(”, появится сообщение “Цена или функция предполагается”.
Введите ценовой идентификатор “CLOSE”
mov(CLOSE
и щелкните ОК..
Если Вы продолжите этот процесс (т.е. частичный ввод формулы и действия в соответствии с сообщением об ошибке), Метасток будет подсказывать Вам до тех пор пока синтаксис формулы не бу-дет правильным (см. ниже).
mov(CLOSE, 10, EXPONENTIAL)
Это полезный метод! В любое время, когда Вы сомневаетесь в правильности синтаксиса форму-лы или функции, щелкните по клавише ОК.





2.9 Вставка функций (Inserting Functions)

В предыдущем разделе объяснялось, как Метасток помогает корректировать синтаксические ошибки в формулах. В этом разделе рассказывается, как Метасток помогает помнить (и вставлять) 160 функций.
Щелчком по клавише “Functions” в режиме редактирования формулы вызывается диалог. В этом диалоге в левой половине окна Вы обнаружите список имеющихся в наличии категорий, в правой поло-вине представлены имена функций входящие в выбранную категорию.
Щелчком по клавише “ОК” в окне диалога “Paste Functions” Вы вставляете соответствующую функцию (функцию на имени которой в данный момент находится “засветка” курсора) в Вашу формулу. Функция может быть вставлена в формулу с описанием необходимых аргументов. Для этого необходимо, чтобы в окошке “Paste Arguments” находился флажок.
Изучение диалога “Paste Functions” отличный путь для того, чтобы побольше узнать о формулах.

2.10 Написание комментариев (Writing Comments)

Комментарии в формулах заключаются в фигурные скобки "{" и "}". Следующая формула содер-жит два комментария.

macd() {the MACD times} * ((H+L+C) / 3) {средняя цена}

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

2.11 Подстановка функций функция в качестве аргумента другой функции (Nesting Functions)

Предыдущие примеры используют ценовые идентификаторы (см. Price Array Identifiers) в качест-ве параметров. Вы также в качестве параметров можете использовать и другие функции, как это показа-но в следующих трех примерах.

stdev( stoch(5,3) 10 )
mov( rsi(15), 10, SIMPLE)
mov( mov( rsi(15), 20, W), 10, SIMPLE)

В первом примере рассчитывается значение стохастического осциллятора, а затем калькулиру-ется стандартное отклонение значений этого осциллятора за 10-дневный период.
Во втором примере рассчитывается 10-дневная простая скользящая средняя 15-дневного Ин-декса относительной силы (RSI).
Третий пример показывает расчет 20-дневной взвешенной скользящей средней 15-дневного RSI, а затем рассчитывает 10-дневную простую скользящую среднюю первой скользящей средней.
Этот метод (вставка функции в другую функцию) называется "nesting of functions".

2.12 Функция if() (The if() function)

Функция if() используется для создания общепринятой конструкции (если ... то). Функция вклю-чает пять параметров как показано в следующем примере. Эта формула рисует “положительный Объем “ если цена закрытия больше чем средняя цена. В противном случае рисуется “негативный Объем”.

if( CLOSE > (HIGH+LOW)/2, +V, -V ).

Хороший пример использования этой функции можно найти в примерах по индикатору On Balance Volume.

2.13 Использование операторов (Using "And" and "Or" Operators)

Если формула требует нескольких условий, Вы можете комбинировать эти условия при помощи операторов "and" и "or". Например, Вы хотите, чтобы Метасток генерировал +1, если MACD больше 0 и RSI больше 70.
Формула будет выглядеть следующим образом.

If( macd() > 0 AND rsi(14) > 70, +1, 0 )

Вы можете использовать столько условий в формуле сколько позволяет размер. Например:

If(macd() > 0 AND rsi(14) > 70 AND CCI(14) > 100 AND close > mov(close, 10, e), +1, 0)

Вы также можете сочетать AND и OR операторы внутри одной формулы. Например:

If((macd() > 0 OR close > mov(close, 10, e)) AND rsi(14) > 70, +1, 0)

Формула представленная выше возвращает “+1”, если MACD больше 0 или если цена закрытия больше ее скользящей средней и при этом RSI больше 70.
Заметим, что вокруг условия OR были поставлены круглые скобки, это связано с тем, что опера-тор AND имеет более высокий приоритет и связанное с ним условие в противном случае было бы вы-полнено первым (см. Operator Precedence), что не соответствует нашей задумке.
Операторы AND и OR почти всегда используются только в функции If( ).

2.14 Ссылка на другие Пользовательские Индикаторы (Referencing Other Custom Indicators)

Пользовательские индикаторы могут ссылаться на другие пользовательские индикаторы при по-мощи функции fml(). Например, функция "fml( "My MACD")" возвращает значение формулы которая име-ет имя "My MACD". Полного имени не требуется, достаточно той части, которая делает имя уникальным.
Следующая формула отображает значение формулы с именем "Down Day", если цена закрытия меньше или равна 10-дневной скользящей средней цены закрытия. В противном случае, отображается значение формулы "Up Day".

if ( close <= mov(close, 10, E), fml("Down Day"), fml("Up Day") ).

Этот метод (ссылка на формулу из другой формулы) подобен методу "nesting of formulas".
Ссылка на формулы путь позволяющий упростить разработку и восприятие сложных формул. Формула включенная в другую формулу в качестве параметра ,также может включать в качестве пара-метра другую формулу и т.д. Циркулярные ссылки (т.е. например, когда формула "My MACD" вызывает формулу "My RSI", а последняя в свою очередь опять вызывает формулу "My MACD") приводят к ошиб-ке, о которой появляется сообщение при попытке отображения графика формулы.

2.15 Р-идентификатор массива данных (The "P" Data Array Identifier)

Специальный ценовой идентификатор (переменная “Р”) используется, чтобы ссылаться на какой либо график индикатора или цены. При применении Р-переменной в пользовательских индикаторах ей присваиваются значения индикатора, на график которого «сбрасывается» пользовательский индикатор. Если Вы «сбрасываете» пользовательский индикатор содержащий Р-переменную на штриховой график (high/low/close price bars), то значениями для Р-переменной служит цена закрытия (CLOSE).
Например, следующий «пользовательский» индикатор отображает график типа MACD:

mov( P, 12, E) - mov( P, 26, E).

Если Вы предварительно нарисуете индикатор Аккумуляции/Дистрибуции а затем «сбросите» на него приведенный выше индикатор (захватив его в КвикЛисте), то в результате Вы получите MACD Акку-муляции/Дистрибуции.
Конечно, Вы можете написать предыдущую формулу без использования «Р»-переменной как показано ниже, однако Вы будете вынуждены ее модифицировать каждый раз, если захотите вместо Ак-кумуляции/Дистрибуции использовать какой либо другой индикатор. При использовании Р-переменных формула становиться более гибкой.
mov( ad(), 12, E) - mov( ad(), 26, E)
В пользовательских индикаторах значения HIGH, LOW, CLOSE, VOLUME, OPEN и OPEN INTEREST всегда берутся из базового массива данных по ЦБ. Например, если Вы «сбросите» индикатор с формулой "HIGH - LOW / P" на ценовой график, который не является графиком базовых данных, то HIGH и LOW будут однако взяты из массива базовых данных. Значение Р-переменной будет представ-лено ценой закрытия (CLOSE) той ЦБ на график которой произошел сброс.
Также, заметим, что только значения (но не даты) запоминаются Р-идентификатором. Поэтому необходимо, чтобы данные присваиваемые Р-переменной совпадали по времени с другими данными представленными в Вашей формуле.
Чтобы отобразить пользовательский индикатор с Р-переменной, необходимо:
• Написать формулу пользовательского индикатора, вставив Р-переменную на место идентифи-катора массива данных. (например, mov(P, 10, E), sum(P,25), stdev(P,12), etc.).
• Захватить этот индикатор из КвикЛиста и сбросить на нужный Вам график.
Чтобы запустить тест системы или исследование, которые содержат Р-переменную, надо:
• Написать формулы теста системы или исследования, вставив Р-переменные на место иденти-фикаторов массива данных. Например, mov(P,10,E), sum(P,25), stdev(P,12), и т.д.
• Выбрать график (индикатора или ценовой график) для использования Р-переменной при по-мощи щелчка непосредственно на графике. График считается выбранным, когда на нем поя-вится небольшой квадратик «рукоятка» .
• Запустить тест системы или исследование.

2.16 Советы по работе с формулами (Formula Tips)

Общие сведения.
Два наиболее важных момента работы с формулами уже упоминались: (1) использование “Paste Formula dialog” и (2) щелчок по клавише “ОК”, при вводе формулы для проверки ее синтаксиса.
Дублирующие линии.
Если Вы пишете длинную формулу, то можете попытаться использовать представление формулы на нескольких строках для облегчения ее чтения. Вы можете отобразить формулу на строках нажав на клавиши CTRL+TAB. Например, формула
cum(if(close > ref(close, -1),+V, if(close < ref(close, -1),-V,0)))
намного легче читается, если ее расположить на нескольких строках, как:
cum(
if(close > ref(close, -1),+V,
if(close < ref(close, -1),-V,
0)))
Заглавные символы в сравнении с прописными.
При вводе формул регистр (верхний или нижний) не имеет значения («с» и «С» идентичны). При проверке синтаксических ошибок Метасток автоматически модифицирует написание, для того чтобы сде-лать формулу более читабельной. Этот раздел не нуждается в примерах.
Комментарии.
Благоразумное использование комментариев облегчает чтение формулы. (Помните, текст ком-ментариев должен находиться в фигурных скобках {} ).
Вы можете вставлять комментарии по ходу написания формулы как бы разделяя ее на части. На-пример, вторая половина следующей формулы представлена в виде комментария, чтобы проверить сна-чала ее первую половину. После тестирования Вы можете убрать скобки и проверить всю формулу.
( mov(fml("MA1"),10,S) / fml("MA2") ) { * stoch(5,3) }.

Пространство (пробелы).
Наличие пробелов внутри формулы необязательно. Однако, разумное их использование облегча-ет чтение формулы.
Клавиатурные команды.
Во время редактирования формулы вы можете использовать клавиатурные команды, чтобы пере-носить формулы из одного индикатора в другой.

Копирование выделенного текста - CTRL+C
Перемещение - CTRL+X
Вставка из буфера - CTRL+V

Размер файла.
Размер файла пользовательского индикатора (MS50FORM.DTA) зависит от числа этих индикато-ров. Его размер увеличивается приблизительно на 3К на каждый новый индикатор. (Размер файла нико-гда не уменьшается, даже если Вы удаляете индикатор его размер остается неизменным.) Размер этого файла может быть ограничен установкой на максимальное количество присутствующих пользователь-ских индикаторов. Например, если используется только 30 первых позиций, файл может вырасти прибли-зительно только до 90К.





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

“Indicator Builder”-диалог появляется после выбора опции «Indicator Builder» из меню Tools или аналогичной кнопки главной панели инструментов.
New. Выбор этой кнопки приводит к вызову диалога «Indicator Editor dialog», во время которого Вы мо-жете присвоить имя и написать формулу нового индикатора.
Edit. При выборе этой кнопки появляется диалог «Indicator Editor dialog», где Вы можете отредактиро-вать предварительно выбранный пользовательский индикатор.
Copy. При выборе этой кнопки делается копия выбранного индикатора в диалог «Indicator Editor dialog». После внесения изменений, нажмите кнопку OK, чтобы сохранить копию пользовательского ин-дикатора.
Delete. При помощи этой кнопки удаляется выбранный пользовательский индикатор.
Print. Выбор этой кнопки распечатывает выбранный индикатор.

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

Диалог “Indicator Editor dialog” используется для создания новых и редактирования существую-щих пользовательских индикаторов.
Name. Вы можете ввести имя индикатора длинной до 50 символов. Это имя будет появляться в заго-ловке внутреннего окна в котором отображается график индикатора при его вызове. Список индикаторов в «Indicator Builder dialog» сортируется по имени.
Display in QuickList. Выберите это «окошко» (появляется флажок), если Вы хотите, чтобы имя Вашего индикатора было включено в «QuickList». Наличие индикатора в «QuickList» позволяет использовать метод «захвати и сбрось» аналогично тому как используются другие (встроенные) индикаторы.
Formula. Здесь вводится формула пользовательского индикатора. Формула может содержать до 1 024 символов на нескольких строках. Нажимайте «ENTER» для перехода к другой строке.
Functions. Выбор этой кнопки вызывает «Paste Functions dialog», где Вы можете выбрать из необхо-димую функцию из списка и вставить ее в формулу. Эта кнопка неактивна , пока Ваш курсор находится за пределами окна редактирования формулы «Formula edit box». Вы можете использовать стандартные клавиатурные команды во время редактирования формулы.
Сохранение изменений
Если Вы во время редактирования пользовательского индикатора, теста системы или исследова-ния щелкните по кнопке «Cancel» появится окно с запросом «желаете ли Вы сохранить изменения». Вы-бор «Yes» сохраняет изменения, выбор «No» не сохраняет изменений.

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

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

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

Используя диалог «Print dialog» Вы можете распечатать имена или формулы пользовательских индикаторов на принтер определенный по умолчанию. Этот диалог можно вызвать щелкнув по кнопке «Print» в диалоге «Indicator Builder dialog».
Print What. Выберите, что Вы хотите печатать, только Имя (Names Only) или вместе Имя и Формулу (Names and Formulas) для выбранных пользовательских индикаторов.
Copies. Введи количество копий.
Print Range. Выберите, хотите ли Вы печатать только выбранный индикатор или все пользовательские индикаторы.
Printer. Показывает диалог, где можно выбрать необходимый принтер, установить ориентацию и раз-мер бумаги.


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

Используя кнопку «Functions» диалога «Indicator Editor dialog», Вы можете вставлять функции непосредственно в формулу, которую в данный момент редактируете. Эта возможность не только эконо-мит время, но также освобождает Вас от необходимости запоминать синтаксис функций (или вводить их вручную) и их параметров.
Диалог «Рaste Functions dialog» подразделяет функции на 11 категорий. Категории собраны в список категорий («Function Category list») расположенный в левой стороне окна диалога. Функции вхо-дящие в выбранную категорию располагаются в правой стороне окна в виде списка их Английских имен или других имен функций в зависимости от того имеется ли флажок в окошке «Show English Names checkbox».
Во время скроллирования списка функций в нижней части окна диалога отображается строка описывающая синтаксис выбранной функции. Если Вы хотите вставить в функцию аргументы, выберите окошко «Paste Arguments checkbox».
Щелчок по клавише «ОК» или двойной щелчок по имени функции вставляет ее в формулу в пози-цию курсора.
Чтобы вставить функцию надо:
• В сеансе редактирования формулы щелкнуть по кнопке «Functions».
• Щелкнуть по необходимой категории в списке «Functions Category list».
• Выполнить двойной щелчок по имени функции.

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

В этом разделе приводятся примеры нескольких популярных индикаторов и их формул написан-ных при помощи синтаксиса пользовательских индикаторов. Заметим, что это только примеры; все из приведенных ниже индикаторов входят в стандартный набор Метастока (т.е. их не нужно создавать, что-бы строить графики). Однако, это показательные примеры синтаксиса пользовательских индикаторов. Информацию по интерпретации индикаторов см. в разделе «Interpretation».
8.1 Аккумуляция/Дистрибуция (Accumulation/Distribution)
В эта формуле («Accumulation/Distribution») используется функция cum() (см. «Cumulate»), кото-рая накапливает изменчивые показатели дневных значений.
cum( (((C-L) - (H-C)) / (H-L)) * V)
8.2 Полосы Боллинжера (Bollinger Bands)
Здесь используется функция 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)
mov( ad(), 3, E) - mov( ad(), 10, E)
Этот индикатор может ссылаться на встроенный индикатор «Accumulation/Distribution indicator» используя функцию ad(), как показано выше, или же можно использовать формулу «Accumula-tion/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)
(high + low) / 2
8.5 Момент (Momentum)
Формула момента использует функцию ref() (см. Reference), чтобы сослаться на цену закрытия 12 периодов назад.
(close / ref( close, -12 )) * 100
8.6 Скользящая средняя MACD (Moving Average MACD)
Большинство аналитиков (включая аналитиков 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)
Встроенному индексу негативного объема соответствует функция nvi(). Однако, для пользова-тельского индикатора можно использовать следующую формулу:
cum( if( V < ref(V,-1), roc(C,1,%), 0 ))
8.8 Баланс Объема (On Balance Volume)
Следующая формула рассчитывает индикатор баланс объема («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, вычесть объем
0))) в противном случае, ничего не делать.
8.9 Индекс положительного Объема (Positive Volume Index)
Встроенному индексу положительного объема соответствует функция pvi(). Однако, для пользо-вательского индикатора можно использовать следующую формулу:
cum( if( V > ref(V,-1), roc(C,1,%), 0 ))
8.10 Ценовой осциллятор (Price Oscillator)
Следующая формула рассчитывает 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)
Следующая формула рассчитывает 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)
Следующая формула использует функцию cum() для расчета объемно-ценового тренда
cum( ((C - ref(C,-1)) / ref(C,-1)) * V)
Эту формулу также можно написать при помощи функции roc(), как показано ниже:
cum( roc(close, 1, %) * volume )
8.13 Стандартное отклонение (Standard Deviation)
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)
Следующая формула рассчитывает 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)
Формула волатильности показанная ниже использует 10-дневную скользящую среднюю и 12-дневный rate-of-change:
roc( mov( high-low, 10, E), 12, %)
8.16 Объемный Осциллятор (Volume Oscillator)
Следующая формула рассчитывает 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)
(( V - ref(V,-12)) / ref(V,-12)) * 100
Также может быть использована функция roc(), показанная ниже:
roc( volume, 12, % )
8.18 Взвешенная цена закрытия (Weighted Close)
Для расчета взвешенной цены закрытия цену закрытия умножают на 2, добавляют значения мак-симальной и минимальной цен, и полученное значение делят на 4.
((close * 2) + high + low ) / 4
8.19 Аккумуляция/Дистрибуция Вилльямса (Williams' Accumulation/Distribution)
Чтобы упростить объяснение этой формулы, мы разобьем ее на 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

9. Бинарные Волны Эчлиса (Achelis Binary Waves)

Этот раздел объясняет как пользовательские индикаторы могут быть использованы для разработ-ки индикаторов бинарной волны или иначе “двойной волны”, которые показывают рейтинг технической позиции ЦБ. Стивен Эчлис, президент EQUIS International, разработал концепцию Двойных волн.
Концепция “Двойной волны” до определенной степени сложна. Вы должны хорошо разбираться в пользовательских индикаторах прежде, чем будете читать данный раздел.

9.1 Бинарная волна (The Binary Wave)

Бинарная волна возвращает значение +1 или -1 в зависимости от того как интерпретируется по-казания индикатора : бычьи или медвежьи. (Термин “Бинарная волна” основывается на этой 1 концеп-ции.). Реальная сила бинарных волн проявляется, когда несколько бинарных волн комбинируются в ком-позитные бинарные волны.
Бинарные волны противопоставляются торговым системам, основанным на принципе “черного ящика” (несмотря на то, что и то и другое рассматриваются как экспертные системы). Так, Вы не знаете правил или индикаторов, которые используются при анализе ЦБ в “черном ящике”, и напротив, Вы сами специфицируете правила и индикаторы в бинарной волне.


9.2 Пример Бинарных Волн (Example Binary Waves)

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

Индикатор Бычий сигнал Медвежий сигнал
MACD > сигнальной линии <= сигнальной линии
Moving Average Сlose > Moving Avg. Close <= Moving Avg.
Rate-Of-Change Rate-Of-Change > 0 Rate-Of-Change <= 0
Stochastic > 50 <= 50

Как показано в таблице, мы предполагаем бычью ситуацию, когда линия MACD выше ее сиг-нальной линии и медвежью, когда она равна или ниже сигнальной линии. Таким образом, Бинарная Вол-на будет возвращать ±1 в зависимости от того, выше или ниже сигнальной линии находится линия MACD. Такой же подход реализуется в отношении 3-х оставшихся индикаторов. Затем, мы можем ком-бинировать 4 Бинарных Волны в композитную Бинарную волну. Если, все 4 Бинарных волны являются бычьими, то значение композитной волны будет +4. Наоборот, если все 4 Бинарных волны медвежьи, то это значение будет равно -4. Когда две волны бычьи, а две волны медвежьи, то значение композитной волны будет равно 0.

9.3 Ввод примера (Entering the Example)

Каждая из приведенных выше волн может быть введена как отдельный пользовательский инди-катор, а затем вмонтирована в одну композитную волну. Это дает вам возможность проверить валид-ность индивидуальных волн и легко их модифицировать. Такой подход значительно облегчает понима-ние композитной бинарной волны.
Первая формула ("MACD Wave") возвращает +1, если линия MACD выше ее 9-дневной сигналь-ной линии. В противном случае, возвращается -1.
if(macd() > mov(macd(),9,E), +1, -1)
Вторая формула ("Mov Wave") возвращает +1, если цена закрытия выше ее 20-дневной экспо-ненциальной скользящей средней. В противном случае, возвращается -1.
if(C > mov(C, 20, E), +1, -1)
Третья формула ("ROC Wave") возвращает +1, если 12-дневная процентная степень изменения цены закрытия больше 0. В противном случае, возвращается -1.
if(roc(C,12,%) > 0, +1, -1)
Четвертая формула ("Stoch Wave") возвращает +1, если значение Стохастического осциллятора больше 50. В противном случае, возвращается -1.
if(stoch(5,3) > 50, +1, -1)
Пятая формула ("Total Wave") комбинирует предыдущие 4 формулы в композитную Бинарную волну.
fml("MACD Wave") + fml("Mov Wave") + fml("ROC Wave") + fml("Stoch Wave")
Когда Вы создаете композитную волну, важно, вначале протестировать индивидуальные бинар-ные волны (от формулы "MACD Wave" до формулы "Stoch Wave"), чтобы проверить их валидность. Хо-рошая композитная бинарная волна будет приносить результаты, которые превосходят результаты гене-рируемые индивидуальными бинарными волнами входящими в ее состав.

9.4 Интерпретация Бинарной Волны (Interpreting a Binary Wave)

Интерпретация бинарной волны довольно очевидна: высокие значения говорят о бычьей тенден-ции, а низкие о медвежьей. (Вспомните, что индивидуальные бинарные волны возвращают значения +1 или -1; величина значений композитной бинарной волны зависит от количества индивидуальных бинар-ных волн в нее включенных.)
Тест системы "Total Wave" (показанный ниже) открывает длинную позицию, когда индикатор выше 0, и открывает короткую позицию, когда индикатор ниже нуля.

Name Total Wave

Enter Long when(fml("Total Wave") < 0)

Close Long when(fml("Total Wave") > 0)

Enter Short when(fml("Total Wave") > 0)

Close Short when(fml("Total Wave") < 0)


Вы также можете создать формулу из семейства MACD для отображения разности между двумя скользящими средними композитной Бинарной волны. Такая формула может быть написана следующим образом (имя - "Smooth Total Wave"):
mov(fml("Total Wave"), 12, E) - mov(fml("Total Wave"), 26, E)
Идею заложенную в эту формулу можно реализовать использовав ее в тесте системы в виде правила для открытия длинной позиции (см. ниже).
Enter Long : when(fml("Smooth Total Wave"), >,0)

9.5 Новые возможности (Enhancements)

Много улучшений можно сделать при помощи формул бинарных волн. Некоторые из них обсуж-даются ниже. Пример бинарной волны представленный на предыдущих страницах комбинирует 4 инди-видуальных волны. Однако, Вы можете выбрать значительно больше индивидуальных волн, для созда-ния вашей экспертной системы.
Вместо того, чтобы возвращать значения ±1, вы можете “взвесить” показатели бинарных волн в зависимости от качества их прогностической способности. Например, один компонент композитной би-нарной волны может возвращать значение ±5, в то время как другой ±0.75.
Вы можете включить в композитную бинарную волну долгосрочную компоненту. Например, в ра-нее описанную композитную волну "Total Wave" вы можете добавить следующую компоненту:
if(CLOSE > mov(CLOSE, 200, EXPONENTIAL),+10, -10)
Эта формула принимает значения ±10, в зависимости от того, находится ли цена закрытия выше или ниже ее 200-дневной скользящей средней. Таким образом, композитная бинарная волна может на-ходиться в диапазоне +14  +6, если эта долгосрочная компонента бычья и наоборот в диапазоне -14  -6, если она имеет медвежью направленность. При этом правила торговой системы будут выглядеть сле-дующим образом: вход в длинную позицию если композитная бинарная волна больше +10, закрытие этой позиции если значение волны меньше +10, вход в короткую позицию, если значение композитной волны меньше -10 и выход если соответствующее значение больше -10.
Вы можете сделать так, чтобы в композитную формулу возвращались значения индивидуальных волн различные значения (отличные от ±1). Следующая формула возвращает -2, если стохастический осциллятор меньше 20, -1, если его значение находится между 20 и 40, +1, если между 60 и 80, и +2, когда это значение лежит в диапазоне больше 80.
if( stoch(5,3) < 20, {then} -2,
{else} if( stoch(5,3) < 40, {then} -1,
{else} if( stoch(5,3) < 60, {then} 0,
{else} if( stoch(5,3) < 80, {then} +1,
{else} +2))))

Вы можете сгладить бинарную волну, используя формулу похожую на "Smooth Total Wave" и за-тем для получения сигнала использовать сигнальную линию скользящей средней. Тест системы должен содержать формулу отлеживающую пересечения линии индикатора и ее сигнальной линии.
Композитная бинарная волна предлагает метод ранжирования “технической ситуации” на рынке акций основанного на ваших критериях. Например Вы можете расценивать ситуацию как умеренно бы-чью, если значение композитной волны находится между 0 и +2.
Вы можете отобразить график степени изменения композитной волны, используя формулу пока-занную ниже:

roc( fml("Total Wave"), 1, $).

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

9.6 Заключение (Summary)

Бинарные волны отражают эволюцию индикатора в концепции ±1-индикатор. Композитные би-нарные волны комбинируют несколько индикаторов индивидуальных бинарных волн, чтобы проиллюст-рировать Ваш анализ ЦБ основанный на поведении нескольких индикаторов.


10. Глоссарий (Glossary)

Глоссарий определяет термины, которые используются в пользовательских индикаторах Мета-стока. Знание (или запоминание) этих терминов для работы с “Indicator Builder” не требуется. Однако, по-полнение этими терминами вашего словарного запаса облегчит общение с другими аналитиками исполь-зующими Метасток.
КОММЕНТАРИЙ (COMMENT): Текст записанный внутри формулы, но не являющийся ее частью. Комментарий должен быть заключен в фигурные скобки {комментарий}.
КОНСТАНТА (CONSTANT): Специфический тип параметра, который требует функция. Константы можно подразделить на следующие группы:
КОНСТАНТА МЕТОДОВ КАЛЬКУЛЯЦИИ (CALCULATION METHOD CONSTANT): Используются, чтобы определить способ калькуляции. Имеются процентный и абсолютный способы (PERCENT и POINTS их аббревиатуры, соответственно, % и $)
СРАВНИТЕЛЬНЫЕ КОНСТАНТЫ (COMPARISON CONSTANT): используются с функцией if(), для определения операции сравнения. К ним относятся: >, >=, <, <=, <>, =.
ФОРМУЛЬНАЯ КОНСТАНТА (FORMULA CONSTANT) : используется с функцией fml() для ссылки на другую формулу. Формульная константа специфицируется как имя другой формулы заключенное в двойные кавычки (например, fml( "My Formula" ) ).
КОНСТАНТЫ СКОЛЬЗЯЩИХ СРЕДНИХ (MOVING AVERAGE TYPE CONSTANT): Используются для определения метода расчета скользящей средней. Имеются следующие методы : ЭКСПОНЕНЦИ-АЛЬНЫЙ (EXPONENTIAL), ПРОСТОЙ (SIMPLE), ВРЕМЕННОЙ (TIME SERIES), ТРИАНГУЛЯРНЫЙ (TRIANGULAR) , ПЕРЕМЕННЫЙ (VARIABLE), или ВЗВЕШЕННЫЙ (WEIGHTED). Могут использоваться аббревиатуры, соответственно E, S, T, TRI, VAR, или W.
ЧИСЛОВЫЕ КОНСТАНТЫ (NUMERIC CONSTANT): Одиночное числовое значение. Функции тре-бующие числовую константу не могут воспринимать массивы данных, так как массивы данных скорее всего содержат множественные, а не одиночные числовые значения. Например "10" является числовой константой в формуле "mov(C, 10, E)."
МАССИВ ДАННЫХ (DATA ARRAY): массив данных определяет специфическим образом органи-зованную информацию (данные), которые используются в формуле. Массивы данных могут быть подраз-делены на:
МАССИВ ЗНАЧЕНИЙ ФУНКЦИЙ (FUNCTION RESULT ARRAY): массивы, которые создаются в результате выполнения функции.
ЛИТЕРАЛЬНЫЙ МАССИВ (LITERAL ARRAY): массив данных определяющий использование одиночных числовых констант.
МАССИВ ЦЕН (PRICE ARRAY) : Массив содержащий информацию о максимальных (high), ми-нимальных (low) ценах , ценах закрытия (сlose) и т.д.
ФОРМУЛА (FORMULA): комбинация комментариев, констант, функций, математических операто-ров и/или идентификаторов массива цен.
ФУНКЦИЯ (FUNCTION): предопределенные математические операции, в которые могут подстав-ляться параметры, в результате которых создается необходимый массив данных.
МАТЕМАТИЧЕСКИЙ ОПЕРАТОР (OPERATOR, MATHEMATICAL) : “+”, “-” , “*”, “/”.
ПАРАМЕТР (PARAMETER): идентификатор значений подставляемых в функцию, если функция имеет несколько параметров, они отделяются запятой.
ПРЕЦЕДЕНС/ПРИОРИТЕТ (PRECEDENCE): порядок в котором выполняются операции в фор-муле (см. “Operator Precedence”).
ИДЕНТИФИКАТОРЫ МАССИВА ЦЕН (PRICE ARRAY IDENTIFIERS) : символы или слова исполь-зуемые для ссылки на массив цен (Open, High, Low, Close, Volume, Open Interest, и выбранный график “Plot”).

11. Математические ошибки в Пользовательских индикаторах (Custom Indicator Math Errors)

Если Вы попытаетесь нарисовать пользовательский индикатор, содержащий математические ошибки, то прежде появления графика, появиться следующий диалог. Диалог показывает номер место-нахождения каждой ошибки.
Деление на ноль (Division by zero). В формулу какое либо значение делиться на ноль. Например, в формуле "(ref(close, -1)-open)/(high - low)" деление на ноль может возникнуть, если “high” будет равно “low”.
Ошибочная экспонента (Invalid exponentiation). Ошибка возникает при неправильном использова-нии экспонент.
Неправильный логарифм (Invalid log). Возникает при попытке рассчитать десятичный логарифм 0 или отрицательного числа. Например, формула "log(high - low)" генерирует ошибку, если “high” и “low” бу-дут равны.
Неправильная степень (Invalid power). Возникает при попытке возвести в степень отрицательное число, если значение степени меньше 1.
Modulus by zero. Возникает, если второй параметр в функции mod() определение остатка од деления равен 0. Например, формула "mod(close, high - low)" будет генерировать ошибку, если “high” равно “low”.
Отрицательный квадратный корень (Negative square root). Возникает при попытке извлечь квад-ратный корень из отрицательного числа. Например, формула "sqrt(open - close)" возвратит ошибку, если “close” больше, чем “open”.

12. Сообщения об ошибках (Error Messages)

Наиболее часто встречаются сообщения об ошибках, связанных с попыткой отобразить график индикатора с “неполной” формулой. В этом разделе вноситься ясность по наиболее общим сообщениям об ошибках.
A reference to a formula name is no longer valid. (Ссылка на имя формулы непригодна)
Эта ошибка появляется, когда пытаются вывести график формулы, содержащей ссылку(т.е., "fml()") на несуществующую формулу.
Does not contain an executable formula. (Не содержит исполнимой формулы)
Попытка выполнить пользовательский индикатор, в котором нет “валидных” формул.
Formula too complex. (Формула слишком сложная)
Эта ошибка появляется в случае слишком глубокого вложения функций (не формул) или, когда сложное математическое выражение, использующее множество математических операторов, не сгруппировано при помощи круглых скобок.
Группирование операторов при помощи круглых скобок может устранить эту проблему. Однако, луч-шее решение - это расчленение слишком сложной формулы, на несколько небольших формул, а затем “монтирование” их в “главную” формулу при помощи функции fml().
Insufficient memory to continue formula execution.(Недостаточно памяти для продолжения выполнения формулы)
MetaStock ran out of memory to store temporary values. (МетаСток выгрузился из памяти, чтобы сохранить временные значения)
Это может помочь “смягчить” редуцирование текущих загруженных данных или редуцирования ссылок на встроенные формулы.
Overflow in function. (Переполнение в функции)
Результат калькуляции в формуле слишком большой для запоминания.
Формулу в этом случае нужно модифицировать, чтобы результат стал меньше. Например, разделить определенные массивы данных или результаты функций на 100.
Too many numeric constants defined in formula.(Слишком много числовых констант определено в формуле)
Максимум 20 различных числовых констант может быть использовано в каждой формуле. Эта ошибка может быть устранена расщеплением формулы на несколько небольших формул и затем соединением их при помощи функции fml().
Value out of valid range in function.(Значение выходит за диапазон)
Имеется ошибочный параметр в функции.
Например, следующие формулы будут генерировать эту ошибку:
Формула mov(C, -5, E), потому что “-5” является некорректным значением для временного периода скользящей средней.
Формула mov(C, 200, E), если загруженных данных меньше чем 200 периодов.
Формула"mov(macd(), 74, E), если было загружено данных меньше, чем 100 периодов. Это обусловлен-но тем, что MACD выводится на экран, начиная с 26 дня (периода) и естественно. что скользящая сред-няяя MACD с периодом 74, начнет выводится на экран начиная с 100 дня (периода). Вы будете вынуж-дены отредактироать формулу или загрузить больше данных.
Мы так малы в масштабах рынка - что нами можно пренебречь;)

#4 Игорь.

Игорь.

    живет тут

  • Заблокированные
  • PipPipPipPipPip
  • 1 750 сообщений

Опубликовано 03 Ноябрь 2005 - 03:15

Семинар 4. Проектирование и тестирование торговых систем

1. Что такое тест системы?

Система тестирования предполагает разработку и тестирование торговых систем, чтобы определить их прибыльность по предшествующей истории. Система тестирования помогает ответить на вопрос: “ Как много денег можно заработать или потерять, используя определенные правила торговли “.
Вы можете использовать МетаСток, чтобы:
• разработать торговую систему, используя собственные правила торговли;
• тестировать Вашу торговую систему;
• проверить результаты тестирования при помощи стрелок покупки/продажи и линии денежного баланса (equity line) на графике, а также при помощи табличных отчетов;
• автоматически оптимизировать параметры Ваших торговых правил, чтобы улучшить результаты;
• сравнить торговые системы, чтобы обнаружить систему, которая работает лучше всего для конкретной ценной бумаги.
Очень важно, чтобы Вы познакомились с Учебником по системам (System Tutorial), который излагается далее, прежде чем начнете разрабатывать вашу торговую систему.
В системных торговых правилах используется синтаксис подобный синтаксису для разработки пользовательских индикаторов. Если Вы недостаточно знакомы с разработкой пользовательских индикаторов, Вам необходимо прочитать раздел справочник формул (Formula Tutorial).
При разработке торговых систем имейте ввиду, что технический анализ это динамичный инструмент (а возможно и искусство) и не существует безупречных механических систем.
Не дайте себе попасться в ловушку чрезмерного “подлаживания” вашей системы, для специфичных ситуаций на рынке. Для получения советов по системным улучшениям см. System Development Tips.
Отдавая должное, присущей (врожденной) сложности торговых систем, EQUIS International может предоставить только ограниченное количество технических средств для тестирующей системы. Мы рады предоставить Вам инструменты при помощи, которых Вы можете развивать ваше торговое мастерство, но не можем снабдить торговой системой полностью удовлетворяющей Вас.

2. Учебник по тестеру систем (System Tester Tutorial)

Этот короткий учебник объясняет различные термины и концепции для тестирующих систем. Важно, чтобы Вы прочитали этот справочник, прежде чем начать разработку собственной торговой системы. Вы также должны быть хорошо знакомы с разработкой пользовательских индикаторов (см. “Formula Tutorial”).

2.1 Основные сведения (The Basics)

Система тестирования включает следующие основные шаги. Эти шаги описываются детально в течение дальнейшего обучения. (не пытайтесь их выполнять сейчас).
• Шаг 1. Создайте торговую систему посредством спецификации торговых правил (кондиций), которые должны устанавливать, когда открывать/закрывать длинные и короткие позиции.
• Шаг 2. Специфицируйте стопы для вашей торговой системы, чтобы автоматически закрывать позиции основываясь на принципе стоп-прибыль/стоп-убыток (gain {profit) /loss).
• Шаг 3. Протестируйте торговую систему. Во время тестирования ваша система может находиться в состоянии длинной, короткой позиции, а также без открытых позиций. Когда тестирование закончиться Вы определите сумму заработанной прибыли. МетаСток использует ваши правила и стопы и определит как много денег Вы могли бы заработать или потерять используя ваши правила. Комиссионные также могут быть рассчитаны по вашим критериям.
• Шаг 4. Просмотрите результаты теста. Во время тестирования МетаСток сохраняет всю информацию относительно транзакций. Вы можете затем вывести отчет, чтобы инспектировать транзакции сгенерированные вашей системой.
• Шаг 5. Оптимизируйте ваши торговые правила. Оптимизация поможет вам определить оптимальные торговые параметры для использования в Ваших правилах.
Вы можете использовать ваш денежный баланс (акции) в качестве индикатора на графике. Вы также можете показать на графике стрелки покупка/продажа. Вы можете также провести сравнительный тест торговых систем, чтобы выяснить которая из них наилучшим образом подходит для данной ценной бумаги. (см. Comparing Systems).
Каждая деталь, относящаяся к торговой системе, тестам и отчетам может быть выведена на принтер или в файл.

2.2 Диалог Тестера систем (The System Tester Dialog)

Прежде чем Вы продолжите работу с этим справочником, откройте график с не менее чем 200 временными периодами, для ценной бумаги которую Вы желаете протестировать. Системный тест всегда выполняется на базовых данных ценной бумаги в выбранном графике.
Выбери System Tester из меню Tools или щелкни по кнопке System Tester на панели инструментов.
Диалог “System Tester” предлагает вам создать, тестировать, сравнить, печатать или выполнить отчет торговой системы. Первоначально Диалог “System Tester” показывает имена различных примеров торговых систем.

2.3 Создание новой системы (Creating a New System)

В Диалоге “System Tester” щелкните по клавише <New>.
Диалог “System Editor” имеет текстовые поля для имени системы, заметок и правил. Четыре правила определяют, когда Вы хотите открывать/закрывать длинные и короткие позиции.
Введите имя системы "My First System". Не следует вводить имена используемые в МетаСтоке или имена существующих систем.
Щелкни по радио-кнопке <Enter Long> и введи следующие торговые правила для входа в длинную позицию:
cross(close, mov(close,25,simple))
Написанное выше правило, как и большинство торговых правил в МетаСтоке может быть написано на английском языке. Оно говорит, “Войти в длинную позицию, если цена закрытия пересечет снизу вверх простую 25-дневную скользящую среднюю. Как и при создании пользовательских индикаторов Вы можете использовать аббревиатуру "C" вместо "Close" и "S" вместо "Simple".) Торговые правила очень похожи на пользовательские индикаторы.
Введи следующую информацию для трех запоминаемых торговых правил. Помните, что необходимо щелкать по соответствующей радио-кнопке для ввода каждого из правил (т.е. Close Long, Enter Short, and Close Short):
Close Long: cross(mov (close, 25, simple), close)
Enter Short: cross(mov(close, 25, simple), close)
Close Short: cross(close, mov(close, 25, simple))
Если все четыре правила введены правильно, щелкните по клавише <OK>.
Если в Ваших правилах имеется синтаксическая ошибка, то будет выведено сообщение об ошибке. Щелкните по клавише <OK>, в знак признания ошибки. System Editor вновь перенесет курсор на то место, где существует ошибка. Вы должны исправить ошибку и вновь щелкнуть по клавише <OK>.

2.4 Тестирование системы (Testing the System)

Когда Диалог “System Editor” появится вновь (и "My First System" высвечивается), щелкните по клавише “Test”, чтобы начать тест системы. Продолжительность тестирования зависит от числа анализируемых периодов и быстродействия вашего компьютера.

2.5 Вывод отчетов ( Displaying the Reports)

Когда появится сообщение "System Test Completed", щелкните по клавише “Reports”. Общий отчет будет выведен на экран.
Этот отчет содержит короткую информацию о тесте. Если Вы выполнили оптимизацию включающую несколько тестов, каждый из отчетов будет выведен.
Щелкните по клавише “Reports” , чтобы вывести диалог “System Report”
Три отчета содержатся в таблице диалога “System Reports”. “Results Report” показывает распределение прибылей, потерь и торговых операций для системы в целом. Трейдерский отчет (Trades Report) показывает детали каждой торговой операции выполненной системой. Отчет “Equity” (Equity Report) показывает как день за днем изменяется количество денежных средств.
Когда Вы закончите просмотр отчета, Вы заметите, что на вашем графике появиться новое внутреннее окно, содержащее линию изменения Ваших денежных средств. Эта линия показывает, как изменился ваш денежный баланс за время торговли.
Стрелки на вашем графике появляются, когда как длинная так и короткая позиции были открыты. Стрелка направленная вверх индицирует открытие длинной позиции, а стрелка направленная вниз индицирует открытие короткой позиции, метка “exit” указывает на закрытие позиции, метка “stop“ указывает на стоп вашей позиции.

2.6 Оптимизация (Optimizing)

Оптимизация подразумевает замену параметров правил торговой системы на ОРТ-пере-менные, а затем спецификацию диапазона значений в которых ОРТ-переменные могут варьировать. МетаСток затем выполняет несколько тестов во время которых подставляются значения ОРТ-переменных из специфицированного диапазона.
"My First System" в данном справочнике тестирует сигналы покупки/продажи генерируемые 25-дневной скользящей средней. Ниже мы показываем как можно оптимизировать наши торговые правила, чтобы определить оптимальный период усреднения скользящей средней.

2.6.1 Ввод Оптимизационных переменных (Entering The Optimization Variable)
Выберите "My First System" в диалоге “System Tester” и щелкните по клавише “Edit”. Во всех четырех торговых правилах замените число 25 на выражение “ОРТ1” (оптимизационная переменная №1)
Щелкните по клавише <Optimize>. Появиться диалог “Optimization Variables”.
Щелкните по клавише <Edit>. Появиться диалог “Variable Properties ”.
Мы хотим протестировать скользящую среднюю для периода усреднения от 10 до 50, с шагом 5 (т.е. 10, 15, 20 и т.д.).
Введите "Moving average periods" в качестве описания переменной “ОРТ1“. Напечатайте 10 в качестве минимального значения (Minimum value) и 50 в качестве максимального (Maximum value), значение шага установите как 5 (Step value) (Как показано в следующей иллюстрации).
Щелкните по клавише <OK>.
Обратите внимание на общеее число тестов (Total Tests) расположенное в нижней части этого диалога. Это число указывает какое количество тестов (в нашем случае 9) будет выполнено. Каждый раз после редактирования переменных оптимизации необходимо проверять его значение, т.к. очень легко создать систему, которая будет генерировать громадное количество тестов .
Щелкните по клавише <Close>.
Щелкните по клавише <OK> в диалоге “System Editor“, чтобы вернуться в диалог “System Tester”.

2.7 Тестирование системы с оптимизационными переменными (Testing the Optimization System)

Выберите "My First System" и щелкните клавишу <Test>.
Во время выполнения оптимизации МетаСток показывает информацию о количестве выполненных тестов, время прошедшее от начала тестирования, время предположительно оставшееся до окончания тестирования, наилучшее и наихудшее отношение прибыль/убыток.
Вы можете щелкнув по клавише “Minimize” свернуть окно диалога “System Test Optimization” в иконку. В данном случае процесс оптимизации будет протекать “за экраном”, что освободит вам компьютер для выполнения других задач.

2.8 Вывод Отчетов по тестированию с оптимизационными переменными (Displaying the Optimization Reports)

При появлении на экране сообщения "System Test Completed" (Тестирование системы завершено), щелкните по клавише <Reports>. Появится “Общий отчет”.
Этот отчет содержит вход для каждого теста, который был выполнен. Поскольку мы выполнили 9 тестов (т.к. торговая система тестировалась с использованием 9 различных временных периодов скользящих средних), в этом отчете содержится 9 листингов по тестам.
Тесты в отчете ранжированы по их прибыльности. При желании Вы можете использовать клавишу <Sort>, чтобы выполнить сортировку заново.
Скроллируйте отчет вправо, пока не появиться колонка ОРТ1
Значение показанное в верхней строке этой колонки является оптимальным значением скользящей средней для изучаемой ценной бумаги. В иллюстрации приводимой выше это значение равно 10.
Щелкните клавишу <Reports>, чтобы получить дополнительную информацию по выбранному тесту.

2.9 Заключение (Tutorial Summary)

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

3. Диалог «Тестер систем» (System Tester Dialog)

Диалог “System Tester” представляет список всех Ваших торговых систем. Вы можете создать до 1000 тестов систем. Выбранный тест системы может редактироваться, копироваться. удаляться и тестироваться. Несколько тестов систем также можно выбрать для проведения сравнения (Compare Reports). Тесты систем за именем которых следует “R“ имеют в наличии тесты выполненные в самое последнее время.
New. Вызывает диалог “System Editor”, в котором можно специфицировать имя и правила для нового теста системы.
Edit. Вызывает диалог “System Editor”, в котором можно редактировать выбранный тест системы.
Copy. Используется для того, чтобы сделать копию выбранного теста системы. В результате выбора этой опции Вы попадаете в диалог “System Editor”, где можете редактировать скопированный тест системы.
Delete. Используется для удаления выбранных тестов систем.
Print. Используется для печати выбранных тестов систем.
Test. Используется, чтобы запустить процесс тестирования выбранного теста. Заметим, что эта кнопка является неактивной, если Вы выбрали несколько тестов, не поставив при этом флажок в поле “Compare”. Эта кнопка также является неактивной, если нет открытых графиков.
Reports. Эта кнопка показывает суммарный отчет (или сравнительный отчет , если в поле “Compare” стоит флажок) для выбранного теста системы. Эта кнопка является неактивной, если после имени теста не стоит значок “R” (идентифицирует наличие отчета).
Options. Эта кнопка показывает диалог “System Testing Options”, в котором Вы можете управлять различными опциями тестирования и отчетов.
Compare. Щелкните по этому полю (вставьте флажок), если Вы хотите сравнить несколько тестов систем. Если в поле “Compare” стоит флажок, кнопка “Test” меняет название на “Compare“.

4. Создание теста системы (Creating a System Test)

Каждая торговая система содержит четыре правила торговли. Правила торговли определяют, когда должны быть длинные/короткие позиции открыты/закрыты. Торговая система также может иметь оптимизационные переменные и стопы.
Чтобы создать новую систему, щелкните по клавише “New” в диалоге “System Tester”. МетаСток может запомнить до 1000 систем. После того как Вы выберете указанную выше кнопку, появится диалог “System Editor”.

4.1 Диалог «Редактор системы» (The System Editor Dialog)

Диалог “System Editor” предлагает вам ввести имя системы, ее краткое описание и определить четыре торговых правила. В торговых правилах используется синтаксис формул подобный синтаксису для разработки пользовательских индикаторов. Этот синтаксис очень похож на синтаксис, используемый для ввода формул в (развернутые страницы - spreadsheets). Если Вы недостаточно знакомы с разработкой пользовательских индикаторов, Вам необходимо прочитать раздел справочник формул (Formula Tutorial).
Помните, что торговые система может находиться только в одном из трех состояний: длинной или короткой позиции или с закрытыми позициями.
После выхода из «редактора» Вы можете специфицировать опции касающиеся управления деньгами (какие позиции открывать, комиссионные и т.п.) в диалоге «System Testing Options».
Вы используете четыре кнопки, чтобы выбрать правило, а затем его отредактировать.
Enter Long. (Вход в длинную позицию) Это правило указывает, когда система должна открыть длинную позицию. Длинную позицию можно открыть только, если система находится в короткой позиции или без открытых позиций. Если система находится в длинной позиции, это правило игнорируется.
Close Long. (Выход из длинной позиции) Это правило указывает, когда система должна закрыть длинную позицию. Если система находится в короткой позиции или «вне рынка», это правило игнорируется.
Enter Short. (Вход в короткую позицию) Это правило указывает, когда система должна открыть короткую позицию. Короткую позицию можно открыть только, если система находится в длинной позиции или без открытых позиций. Если система находится в короткой позиции, это правило игнорируется.
Close Short. (Выход из короткой позиции) Это правило указывает, когда система должна закрыть короткую позицию. Если система находится в длинной позиции или «вне рынка», это правило игнорируется.

4.2 Синтаксис торговых правил (Trading Rule Syntax)

Торговые правила вводятся с использованием синтаксиса подобного таковому у пользовательских индикаторов. Этот синтаксис очень похож на синтаксис, используемый для написания формул.
Торговые правила всегда возвращают значение «истина» или «ложь». Если правило возвращает значение «истина», то соответствующая торговая операция выполняется (покупка, продажа и т.п.). Если возвращается «ложь», никаких действий не производится.
Следующий пример иллюстрирует торговое правило:
Enter Long: cross(CLOSE, mov(CLOSE,12,Simple))
Согласно этому правилу система должна открыть длинную позицию когда цена закрытия пересечет снизу вверх 12-дневную скользящую среднюю этой цены.
Подобно этому можно написать другое правило: открыть длинную позицию, если MACD больше 0. ("macd()" - является функцией, см. MACD).
Enter Long: macd() > 0
Все пользовательские функции для индикаторов (подобно macd()) могут использоваться в качестве торговых правил. Специфические пользовательские индикаторы могут делать ссылки на формулы типа fml(), как показано ниже:
Enter Short: fml("My Formula") > 0
Вы можете комбинировать несколько функций в торговом правиле используя операторы AND и OR как показано ниже.
Enter Long: macd() > 0 AND CLOSE > mov(CLOSE,12,S)
Приведенное выше правило требует, чтобы MACD было больше 0, и чтобы цена закрытия была больше ее 12-дневной скользящей средней.
Следующее правило использует оператор «OR», чтобы генерировать торговую операцию, к когда MACD падает ниже 0, или когда цена закрытия падает ниже ее скользящей средней.
Close Long: macd() < 0 OR CLOSE < mov(CLOSE,12,S)
В торговом правиле может присутствовать несколько операторов AND, OR.
Наилучший путь для контроля поведения нескольких операторов AND и OR в торговых правилах - использование скобок, как показано ниже:
Enter Long: (macd() > 0 AND C > 100) OR H-L>5
Это торговое правило генерирует торговую операцию, если выполняются следующие условия:
MACD больше 0 и цена закрытия больше100 (т.е. выполнены оба условия) или когда, разница максимальной и минимальной цен больше 5.
Вы можете щелкнуть по клавише «Functions», когда редактируете торговые правила (эта кнопка активна, когда редактируется правило, но не имя, или описание). Появится диалог «Paste Functions» , содержащий список имеющихся функций. Двойной щелчок по имени функции вставит ее в торговое правило на место текущей позиции курсора.
Торговое правило может оставаться пустым. Однако, пустое торговое правило никогда не генерирует торговых операций. Торговые правила имеют доступ только к ценам ценных бумаг (максимальная, минимальная, закрытия и т.д.) и пользовательским «индикаторным» функциям. Торговые правила не могут ссылаться сами на себя (например, на число дней от последней торговой операции). Однако, различные стопы выполняют эти функции.
Специальная переменная, называемая переменной «Р» может быть использована для ссылок на необходимые цены или индикаторы.
Функция Alert позволяет повысить гибкость в применении торговых правил.

4.2.1 Функция Alert (Using the Alert() Function)
Функция Alert используется в соединении с другими функциями, чтобы возвратить значение «истинна» для определенного числа периодов. Функция возвращает значение «истинна» за определенное число периодов, даже если была генерирована другая торговая операция.
Следующий пример иллюстрирует использование функции Alert.
Enter Long: RSI(14) < 30 AND alert(VOLUME > 500,3)
При вводе предыдущей формулы, как правила для входа в длинную позицию система должна открыть таковую, если RSI меньше 30 и объем был больше 500 в какой либо из трех предыдущих торговых дней. Условие "VOLUME > 500" возвращает значение «истинна» за все три временных периода, даже если в какой либо из этих трех дней было снижение объема ниже 500.


4.3 Использование стопов (Entering Stops)

В дополнении к торговым правилам каждая торговая система может иметь до пяти стопов. Стопы используются для того, чтобы закрыть длинную и/или короткую позицию на основании данных о прибыли/убытках во время данной торговой операции. Например, стоп максимального убытка “Maximum Loss” закроет позицию, если убытки будут больше специфицированной величины.
Когда вызывается стоп, позиция закрывается независимо от текущего статуса вашего торгового правила.
Вы можете специфицировать параметры, при которых вызываются стопы, а также позиции, которые они могут закрыть (длинная и/или короткая).
Стопы автоматически учитывают комиссионные за открытие и закрытие позиции. Например, стоп Максимального убытка (Maximum Loss) знает величину Ваших комиссионных за закрытие позиции и следит за тем, чтобы при ее закрытии не была превышена величина максимально возможного убытка даже после уплаты комиссионных.
Установка стопов производится после щелчка по кнопке “Stops” в диалоге “System Editor dialog”.

4.3.1 Рентабельный стоп (Breakeven)
Этот стоп закрывает открытую позицию, как только возникает угроза убытков по отношению к денежному балансу существовавшему на момент открытия позиции.
Стоп располагается на цене, где позиция может быть закрыта с сохранением текущего денежного баланса (т.е. баланса равного сумме денег при открытии позиции)
Чтобы избежать активации этого стопа каждый раз при открытии позиции (т.к. величина денежного баланса из-за комиссионных при открытие позиции уменьшается), возможность активации этого стопа «включается» только когда повышается цена акций и позиция становиться прибыльной или же величина прибыли повышается выше уровня (floor level) специфицированного пользователем.
Совет: Если «floor level» установить на 0, то рентабельный стоп может активироваться после точки, где позиция может быть закрыта без потерь.

4.3.2 Инактивация (Inactivity)
Данный стоп закрывает открытую позицию, если на рынке не происходит минимального положительного изменения цены в течении определенного времени. (Положительное изменение цены это ее движение вверх при длинной позиции, и ее движение вниз при короткой позиции).
Напечатайте Минимальное изменение цены (Minimum Change) и длительность периода (Periods). Метод (Method), при помощи которого рассчитывается Минимальное изменение цены, может быть специфицирован как процентный (Percentage) или в абсолютных единицах (Points).
Например, если Вы определили 1% как минимальное изменение цены в течении 20 торговых дней, МетаСток автоматически закроет Вашу длинную (короткую) позицию, если цена акций не вырастет (снизится) как минимум на 1% в течении 20-дневного «окна».
Этот стоп анализирует, только изменение цены, но не прибыли, и игнорирует комиссионные.

4.3.3 Максимальный убыток (Maximum loss)
Этот стоп закрывает длинную позицию, если величина убытков превышает Максимально установленное значение. (Maximum Loss)
Например, если Вы установили «Maximum Loss» - 5%, позиция будет закрыта, если убыток превысит 5% от Вашей текущей прибыли (включая комиссионные).
Внимание! Если Вы установите значение «Maximum Loss», которое будет меньше или равно величине комиссионных за вход в позицию, то каждая торговая операция будет прерываться немедленно после открытия позиции, т.к. все операции будут убыточными уже в момент входа в позицию.

4.3.4 Плановая прибыль (Profit target)
Этот стоп закрывает позицию, если достигнут уровень запланированной прибыли.
Например: если Вы запланировали 10% прибыли, то открытые позиции будут закрыты при ее 10-процентном увеличении с учетом комиссионных.

4.3.5 Подтягивание (Trailing)
Этот стоп закрывает позицию, когда происходит потеря определенного количества (специфицированного ранее Риска прибыли - Profit Risk) от текущей прибыли. Т.е. каждый раз, когда позиционная прибыль достигает нового максимума, то этот стоп подтягивается на уровень, определенный в Profit Risk относительно этого нового максимума. Величина возможной потери специфицируется в поле «Profit Risk» при помощи процентного метода или абсолютных значений.
МетаСток предоставляет Вам возможность определить число периодов в течении которых стоп будет игнорироваться. Например, если Вы специфицируете «4», то этот стоп будет иметь временной лаг в 4 периода. Это означает, что четыре последних дня (прибыльных или убыточных) будут игнорироваться для расчета текущего уровня стопа. Это фильтрует колебания цены (вверх или вниз), которые появляются в последние четыре дня.
Предназначение этого стопа служит в фиксации прибыли, но не ограничении потерь. Т.к. он только уменьшает величину прибыли, которая может быть потеряна. Убытки лимитирует стоп максимальной потери (Maximum loss stop).
Поскольку подтягивающийся стоп определяется уровнем прибыли, а не уровнем цены, то ненужно и специального рассмотрения этого стопа для коротких позиций. Например, если 5% специфицированно для Риска прибыли с периодом 0, а Ваша текущая позиция имеет прибыль $100.00. Тогда стоп будет располагаться на цене, при которой Ваша прибыль могла бы снизится до $95.00 или меньше.

5. Копирование и удаление тестов систем (Copying and Deleting System Tests)

Копию выбранного теста системы можно сделать при помощи кнопки «Copy» диалога «System Tester dialog». Это полезно в тех случаях, когда синтаксис планируемого нового теста системы похож на синтаксис уже созданного теста.
Например, если система «А» похожа на запланированную новую систему «В», необходимо в диалоге «System Tester dialog» выделить имя системы «А» и щелкнуть по кнопке «Copy» , затем в появившемся окне «System Editor dialog» отредактировать имя системы, внести необходимые изменения в формулу и нажать клавишу <OK>.
Удаление тестов систем производиться при помощи кнопки «Delete» в диалоге «System Tester dialog».
Укажите, будете ли Вы удалять тест (тесты) системы в целом или только отчеты по тесту системы. Если Вы выбираете первое, то отчеты все равно удаляются вместе с тестом.

6. Печать тестов систем (Printing System Tests)

Вы можете напечатать названия тестов систем и/или их формулы при помощи диалога «Print dialog». Чтобы вывести этот диалог, щелкните по кнопке «Print» в диалоге «System Tester dialog».
Print What. (Что печатать) Отметьте, будете ли Вы печатать только имена тестов или имена и формулы вместе для отмеченных заранее тестов.
Copies. (Копии) Введите количество необходимых копий.
Print Range. (Диапазон печати) Отметьте, будете ли Вы печатать только выбранные тесты или все тесты в целом.

7. Тестирование систем (Testing Systems)

Для того чтобы запустить тест системы, находясь в окне диалога “System Tester” выделите необходимое имя теста и щелкните по клавише “Test”.
Если Вы желаете сравнить какие либо тесты систем, активируйте флажок “Compare”.
Продолжительность тестирования зависит от сложности теста и размера массива данных загруженных в график. Очевидно, что тесты, содержащие в своих формулах переменные оптимизации, требуют большего времени для тестирования. Это связано с тем, что компьютеру приходится выполнять тестирование по каждой комбинации таких переменных. Также скорость тестирования зависит от Вашего компьютера (т.е. быстродействия процессора, жесткого диска и т.д.).

7.1 Диалог «Оптимизация системы» (System Test Optimization Dialog)

Если в Вашей формуле имеются переменные оптимизации, то при запуске теста будет появляться окно в котором отражается процесс выполнения процедуры оптимизации.
В основном информация представляемая в этом окне понятна сама по себе и не требует дополнительных пояснений. Некоторые из пунктов этих данных описываются ниже. Для получения дополнительных сведений по оптимизации тестов, смотрите «Optimizing Systems».
Estimated Completion Time. (Длительность выполнения). Время необходимое компьютеру для выполнения оптимизации базируется на средней продолжительности выполнения отдельных тестов. После выполнения каждого отдельного теста эта длительность корректируется. Если скорость работы Вашего жесткого диска замедляется по мере уменьшения дискового пространства (при этом длительность выполнения каждого текущего теста медленнее предыдущего), то объявленная вначале Длительность выполнения может увеличиться.
Execution Priority. (Приоритет исполнения) Это ниспадающее меню позволяет контролировать величину процессорного времени, необходимого для вычисления параметров теста. Обычно, устанавливают "High." Установите "Medium" или "Low", если программа выглядит как «вяленное мясо» или не реагирует, поскольку системный тест загружен в фоновом режиме (т.е., тест системы минимизирован).
Minimize. (Минимизация) Минимизация окна. Задав минимизацию окна, Вы можете, во время выполнения оптимизации, выполнять другую работу на компьютере. Восстановите прежние размеры «свернутого» окна можно двойным щелчком по его «иконке».
Щелчком по кнопке «Cancel» Вы можете прекратить процесс тестирования (there may be a slight delay after you choose Cancel). В результате появится окно с требованием подтверждения прекращения процесса. Однако отчеты по всем тестам, которые были выполнены до щелчка по кнопке «Cancel», сохраняются в памяти и могут быть вызваны для просмотра.
Чтобы запустить тест системы в the background:
• Запустите тест, который содержит оптимизационные переменные.
• Когда появиться диалог «System Test Optimization», раскройте ниспадающий список «Execution Priority» для выбора необходимого приоритета. Если Вы планируете работать с МетаCтоком или другими программами во время выполнения тестирования (in the background), тогда выберите режим «Medium» или «Low».
Щелкните по кнопке «Minimize».

7.2 Опции тестирования системы (System Testing Options)

Вы можете настроить параметры тестирования и отчетов и имеете возможность настраивать из диалога «System Testing Options».
Сюда относятся комиссионные, начальный капитал, страховой депозит, частота сделок и т.д. Также Вы можете специфицировать опции concerning buy/sell стрелок и максимальное число отчетов.

7.2.1 Опции тестирования (Testing)
Price Field. (Поле цены) Выберите какую из цен Вы будете использовать в торговых операциях (т.е. open, high, low, или close). Наиболее часто используются цены открытия и закрытия.
Delay. (Отсрочка) Введите число баров (дней, недель и т.д.), которые МетаСток будет пропускать перед выполнением торговой операции. Если Вы введете «0», то МетаСток выполнит торговую операцию в тот же бар, как будет сгенерирован сигнал входа/выхода. Если Вы введете «1», то такая операция будет выполнена на следующий бар. В большинстве случаев используется «0» (операция выполняется в тот же самый бар) или «1» (пропускается один бар перед торговой операцией). Так как большинство торговых систем используют ежедневные данные, то операция будет выполняться в тот же самый или на следующий день после сигнала.
Наиболее приближенным к реальности подходом является, когда торговая операция совершается по цене открытия с периодом отсрочки на 1 торговый бар (день, неделю), т.е. (цена открытия на завтра). При периоде отсрочки равным 0 очевидным является использование цены закрытия.
Commissions. (Комиссионные) Выберите тип расчета комиссионных: в процентах или в абсолютных величинах. Затем, если хотите, Вы можете определить комиссионные входе и выхода.
Комиссионные в процентах рассчитываются от общей суммы задействованной в торговой операции. Однако, если у Вас имеется гарантийный депозит расчет может проводиться иначе.
Positions. (Позиции) Выберите тип возможных торговых операций (т.е. только длинные или только короткие позиции, или и те и другие).
Points Only Test.(Только пункты) Активируйте этот флажок, если Вы проводите операции с фьючерсами или “товарами” и хотите отслеживать число пунктов выигрыша или проигрыша вместо текущих значений.
Initial Equity. (Начальный капитал) Начальный баланс Вашего счета.
Margin Requirement %. (Гарантийный депозит %) Процент от Вашего капитала, который должен участвовать в торговых операциях. Например: Если Вы торгуете без маржи, введите 100. если Вы торгуете акциями с 50% маржой , введите 50.

7.2.2 Опции графического отчета (Reporting)
Up Arrow. (Стрелка вверх) Выбор цвета для указателя “стрелка вверх” (покупка).
Down Arrow. (Стрелка вниз) Выбор цвета для указателя “стрелка вниз” (продажа)
Stop Sign. (Метки стопов) Выбор цвета для меток “стопов” и выходов из позиции. Т.е. символов, которые отмечают на графике места, где система сгенерировала стоп (stop) или выход из позиции (exit).
Display Buy/Sell Arrows. (Визуализация стрелок покупки/продажи) Активируйте этот флажок, если хотите, чтобы МетаСток автоматически расставлял стрелки покупки /продажи после завершения теста системы. При наличии в тесте переменных оптимизации стрелки будут расставлены в соответствии с сигналами наиболее “прибыльного” теста. Подобно этому, если выполнялось сравнение тестов, будут отображены стрелки наиболее прибыльной системы.
Label Arrows with Buy/Sell. (Надписи стрелок Покупка/Продажа) Активируйте этот флажок, если хотите, чтобы рядом со стрелками имелись надписи "Buy" и "Sell". Метки стопов выводятся с надписями "Stop".
Remove Existing Arrows. (Удаление существующих стрелок) Если активирован этот флажок, все существующие стрелки будут удалятся автоматически всякий раз когда рисуются новые стрелки.
Plot Equity Line. (Изображение графика баланса) При активации этого флажка график Вашего денежного баланса будет выведен автоматически как только программа закончит тестирование системы. Как и в случае со стрелками покупки/продажи, если в системе использованы переменные оптимизации, будет выведен график денежного баланса для наиболее прибыльной системы.

8. Сравнение систем (Comparing Systems)

Флажок “Compare check box” в диалоге “System Tester dialog” используется для запуска функции сравнения отмеченных тестов. Этот подход используется с целью выявления “лучших” торговых систем для выбранной акции.
Если Вы активировали этот флажок, то надпись на кнопке "Test" изменится на надпись "Compare".

8.1 Диалог «Сравнение тестов систем» (System Test Comparison Dialog)

В окне этого диалога (которое подобно окну оптимизации теста) отображается информация по процессу выполнения операции сравнения тестов.
В основном информация из этого окна понятна сама по себе. Этот диалог также можно свернуть, чтобы он выполнялся в фоновом режиме.
Чтобы сравнить системы, выполните следующее:
• Отметьте два или больше тестов систем в диалоге ”System Tester dialog”.
• Активируйте флажок “Compare”.
• Щелкните по кнопке “Compare”.

9. Оптимизация систем (Optimizing Systems)

Оптимизация системы заключается в выполнении множества тестов при котором перебираются различные значения параметров торговых правил.
В учебнике по тестированию систем (см.) приводятся пример по оптимизации периодов усреднения скользящих средних в простых торговых системах. В этом примере в тест загружаются периоды от 10 до 50 с шагом увеличения 5. Мы рекомендуем Вам выполнить этот пример на компьютере, чтобы лучше понять принципы оптимизации.
Каждая торговая система может содержать до 10 переменных оптимизации, обозначаемых как OPT1 - OPT10. (OPT-переменные нельзя использовать в пользовательских индикаторах). Для оптимизации Вы заменяете числовые константы в торговых правилах OPT-переменными. Затем Вы специфицируете значения для этих переменных, указав максимальное и минимальное значение, а также шаг изменения значения. Когда Вы запускаете тест, содержащий переменные оптимизации, МетаСток автоматически выполняет тесты, каждый подставляя новую комбинацию значений переменных.

9.1 Спецификация переменных оптимизации (Specifying the Optimization Variables)

Для того чтобы специфицировать диапазоны для переменных оптимизации торговых правил, щелкните по кнопке “Optimize” диалога “System Editor”
New. Добавляет новую OPT переменную, вызывает диалог редактирования ее свойств. (Variable Properties Dialog)
Edit. Выводит диалог “Variable Properties” (см.). В этом диалоге Вы можете отредактировать минимальное (minimum) и максимальное (maximum) значение, а также шаг (step), отмеченной OPT-переменной.
Delete. Удаляет отмеченную OPT-переменную. Заметьте, что Вы не можете удалить OPT-переменную, которая в данный момент имеется в формуле торгового правила.
Total Tests. Показывает, какое число тестов будет выполнено для оптимизации системы.

9.1.1 Диалог «Свойства переменных» (Variable Properties Dialog)
Диалог “Свойства переменных” используется для спецификации диапазона изменений значений OPT-переменных.
Name. (Имя) Выберите OPT-переменную из ниспадающего списка (т.е., OPT1 - OPT10)
Description. (Описание) В этот бокс Вы можете ввести описание переменной (необязательно).
Minimum. (Минимум) Напечатайте минимальное значение OPT-переменной.
Maximum. (Максимум) Напечатайте максимальное значение OPT-переменной.
Step. (Шаг) Введите значение шага , т.е. число на которое будет увеличиваться OPT-переменная от минимального значения до максимального. Например, если диапазон минимум/максимум составляет 10/50, а шаг 10, то OPT-переменной будут присваиваться значения 10, 20, 30, 40 и 50.

9.2 Примеры оптимизаций (Example Optimizations)

Приведенное ниже правило входа в длинную позицию генерирует покупку, если цена закрытия выше ее скользящей средней с периодом усреднения 10:
Enter Long: CLOSE > mov(CLOSE, 10, SIMPLE)
Для подбора оптимального периода усреднения скользящей средней, можно заменить период ”10” на переменную оптимизации, как показано ниже:
Enter Long: CLOSE > mov(CLOSE, OPT1, SIMPLE)
Для того чтобы ввести диапазон подбора значений переменной OPT1 (например, от 5 до 20 с шагом 5), необходимо находясь в диалоге “System Editor” щелкнуть по кнопке “Optimize”. При запуске теста системы с определенными выше правилами, МетаСток выполнит серию тестов каждый раз заменяя переменную OPT1 оптимизационными значениями как показано далее:
Enter Long: CLOSE > mov(CLOSE, 5, SIMPLE) Test #1)
Enter Long: CLOSE > mov(CLOSE, 10, SIMPLE){Test #2)
Enter Long: CLOSE > mov(CLOSE, 15, SIMPLE){Test #3)
Enter Long: CLOSE > mov(CLOSE, 20, SIMPLE){Test #4)
После окончания тестирования будет получено 4 отчета (по одному на каждое оптимизационное значение).
Количество тестов необходимых для проверки каждой комбинации оптимизационных значений можно рассчитать, перемножив количества тестов требуемых для проверки каждой отдельной переменной оптимизации.
Это демонстрируется на следующем примере:
Enter Long: rsi(14) > OPT1
Close Long: rsi(14) < OPT2
Enter Short: rsi(14) < OPT1
Close Short: rsi(14) > OPT2
OPT1: minimum = 20, maximum = 40, step = 10 {3 теста}
OPT2: minimum = 70, maximum = 80, step = 10 {2 теста}
В примере, приведенном выше переменная OPT1 имеет три возможных значения (20, 30 и 40), переменная OPT2 может принять только два значения (70 и 80). В итоге число комбинаций всех значений будет равно шести (3 * 2 = 6), т.е. будет всего выполнено 6 тестов показанных ниже:
Тест PT1 PT2
1 20 70
2 30 70
3 40 70
4 20 80
5 30 80
6 40 80
Число тестов может очень быстро достигнуть огромных размеров (максимально возможное число 32 000). Для примера рассмотрим следующую систему с пересечением скользящих средних:
Enter Long: cross(C, mov(C, OPT2, E) )
Close Long: cross(mov(C, OPT1, E),C)
Enter Short: cross(mov(C, OPT1, E),C)
Close Short: cross(C, mov(C, OPT2, E))
OPT1: minimum = 1, maximum = 100, step = 1 {100 тестов}
OPT2: minimum = 1, maximum = 100, step = 1 {100 тестов}
В приведенном примере на каждую переменную оптимизации требуется по 100 тестов. Таким образом, число комбинаций составит 100*100=10 000.
Даже на очень быстром компьютере, эта относительно простая (несмотря на “тяжелую” оптимизацию) система потребует несколько часов для тестирования.
Для ускорения тестирования в данном случае необходимо уменьшить число производимых тестов путем уменьшения диапазона значений OPT-переменных и/или увеличения значения шага.
Количество тестов требуемых для проверки каждой оптимизационной комбинации показывается в нижней части окна диалога “Optimization Variables”.

10. Просмотр отчетов (Viewing the Reports)

При тестировании типичной системы (см. “Compare Reports” по сравнительным отчетам) МетаСток отслеживает несколько десятков тысяч деталей тестирования. Эта информация представляется в серии отчетов. Каждый из отчетов предлагает, какую либо дополнительную информацию о тесте.
Общий отчет (Summary Report) дает очень краткую информацию об оптимизационных тестах системы. При этом, если торговая система не содержит переменных оптимизации, в Общем отчете будет представлен только один тест.
Системный отчет (System Report) состоит из четырех страниц (вкладок) , три из которых содержат отчеты описываемые ниже:
Страница результатов (Results page) дает краткое описание результатов теста выбранного из “Общего отчета”.
Страница торговых операций (Trades page) представляет детальное описание каждой торговой операции сгенерированной выбранным тестом.
Страница баланса (Equity page) показывает изменение “день за днем” общего денежного баланса в результате работы торговой системы.
Детализированный отчет по торговым операциям (Trade Detail report) предоставляет детальную информацию по конкретной длинной или короткой транзакции.

10.1 Общий отчет (Summary Report)
Общий отчет показывает статус (по прибыльности) теста и дает короткую информацию по каждому из выполненных тестов. При отсутствии в торговых правилах переменных оптимизации появляется отчет только по одному тесту.
Общий отчет можно вывести из диалога “System Tester dialog” при помощи кнопки “Reports”. При этом справа от отмеченного теста системы должна иметься буква "R". Ширину столбцов Общего отчета можно регулировать путем “захвата” мышью вертикальных разделителей в заголовке таблица и их перемещения до требуемой ширины.
Print. (Печать) При выборе этой кнопки содержимое Общего отчета посылается на принте.(Будет напечатано полное содержание отчета по тестам независимо от того какой из тестов был отмечен.)
Sort. (Сортировка) Эта кнопка служит для сортировки Общего отчета. После щелчка по этой кнопке, Вам будет предложено выбрать поле для сортировки и порядок сортировки (восходящий или нисходящий).
Reports. (Отчеты) При помощи этой кнопки Вы можете вывести диалог Системного отчета для отмеченного в диалоге Общего отчета теста.

10.1.1 Колонки Общего отчета (Summary Report Columns)
Test number. (Номер теста) Каждый тест нумеруется в порядке их выполнения.
Status. (Статус) Статус может иметь три состояния "Ok" (нормальный тест), "Invalid" (испорченный тест) или "Terminated" (прерванный тест).
Статус - ”Invalid”, появляется, если имела место математическая ошибка, например, такая как деление на 0. Результаты такого теста присутствуют в отчете, однако их пригодность сомнительна.
Статус - "Terminated", возникает, если торговое правило не может быть задействовано системой.. Например, когда недостаточно данных для обработки: торговое правило содержит скользящую среднюю с периодом 200, а в наличии имеется только 100 периодов. Если отчет был прерван, Вы можете выбрать этот отчет и вывести описание возникшей ошибки.
Net Profit. (Чистая прибыль) Чистая прибыль или убыток полученная торговой системой. Сюда также включается прибыль/убыток от “принудительного” закрытия открытой позиции (если такая существовала) в конце теста.
Percent Gain or Loss. (Процент прибыли или потерь) Прибыль или убыток в процентах относительно начального денежного баланса полученный торговой системой. Здесь также учитывается прибыль/убыток от “принудительного” закрытия открытой позиции (если такая существовала) в конце теста. Это значение не выводится, если был активирован флажок "points only".
Total Trades. (Всего торговых операций) Общее число торговых операций, которое было сгенерированно тестом.
Это число относится только к закрытым торговым операциям и не включает открытую позицию, которая могла существовать на момент окончания теста. Кроме того, это число может быть равно 0, если была открыта только одна позиция, и не было сгенерированно сигнала ее закрытия к окончанию тестирования.
Winning Trades. (Выигрышные операции) Количество операций закрытых с прибылью.
Losing Trades. (Проигрышные операции) Количество операций закрытых с убытком.
Average Win/Average Loss. (Отношение среднего выигрыша к среднему проигрышу) Средний выигрыш насчитывается как сумма прибыли всех прибыльных операций деленная на количество таких операций. Аналогично насчитывается средний проигрыш.
OPT. (Значение переменной оптимизации) В отчете может присутствовать до 10 таких колонок (по одной на каждую переменную). В колонке показывается значение переменной оптимизации, которое было использовано в тесте.
10.1.2 Сортировка Общего отчета (Sorting the Summary Report)
Для того чтобы отсортировать содержимое Общего отчета необходимо щелкнуть по кнопке “Sort” в диалоге ”Summary Report dialog”.
Sort by. (Что сортировать) Выберите из ниспадающего списка колонку по значениям которой будет сортироваться отчет. Сортируя по колонкам “Net Profit” или “Percent Gain or Loss” Вы увидите какой из тестов дал наибольшую прибыль.
Ascending. (Восходящий) Сортировка от наименьших значений к наибольшим.
Descending. (Нисходящий) Сортировка от наибольших значений к наименьшим.

10.2 Отчет по системе (System Report)

Системный отчет состоит из четырех страниц (вкладок), из которых три содержат подробные отчеты по выбранному тесту, а четвертая страница предоставляет информацию по торговым правилам, переменным оптимизации и опциям тестирования торговой системы.
Arrows. (Стрелки) При помощи этой кнопки можно вывести или убрать с графика стрелки сигналов покупки/продажи, метки выхода из позиции, а также метки стопов. Если в данный момент на экране нет графика, эта кнопка неактивна.
Plot Equity. (График денежного баланса). При выборе этой кнопки на графике открывается новое внутреннее окно, в котором рисуется линия, отражающая ежедневное изменение денежного баланса. Начальное (базовое) значение этой линии равно величине Вашего первичного баланса, специфицированной в диалоге “System Testing Options”. В дальнейшем эта линия движется вверх или вниз от базового значения в зависимости от успешности Ваших торговых операций. График денежного баланса может быть скопирован или перемещен на другие графики тем же способом как и график обычного индикатора.
Print. Щелчком по этой кнопке Вы можете вывести диалог печати (Print dialog) при помощи которого можно распечатать отчет.
Inspect. (Инспекция) Эта кнопка активна, если Вы находитесь на странице отчета о торговых операциях (Trades page) или отчета о прибыли (Equity page). Выбор этой кнопки вызывает детализированный отчет “Trade Detail report” по торговым операциям для отмеченного теста.

10.2.1 Отчет о результатах (Results Report)
Этот отчет дает детальную информацию о результатах тестирования для отмеченного в “Общем отчете” теста.
Total Net Profit. (Общая чистая прибыль) Общая прибыль/убыток полученные в результате работы теста. Сюда также включается прибыль/убыток от “принудительного” закрытия открытой позиции (если такая существовала) в конце теста.
Percent Gain or Loss. (Процент прибыли или потерь) Прибыль или убыток в процентах относительно начальных инвестиций.
Initial Investment. (Начальные инвестиции) Количество денежных средств инвестированных в начале тестирования. (Это значение специфицируется в диалоге “System Testing Options dialog”)
Open Position Value. (Цена открытой позиции) Значение (цена) последней открытой позиции (если таковая была), которую в конце теста программа закрывает принудительно по цене последнего загруженного в тест периода.
Annual Percent Gain/Loss. Общая чистая прибыль выраженная в процентах годовых.
Формула расчета:
Annual Gain/Loss = _________________365_________________ * Total Gain/Loss
Число календарных дней загруженных в тест
Interest Earned. Прибыль полученная в тот момент, когда торговая система не имела открытых позиций. Т.е. деньги были свободны и их можно было вложить в ликвидный “безрисковый” финансовый инструмент.
Current Position. (Текущая позиция) Длинная (long), короткая (short), нет открытых позиций (out).
Date Position Entered. (Дата открытия позиции). Дата открытия текущей позиции.
Buy/Hold Profit. Прибыль которую можно было бы получить при стратегии “купить и держать”. Эта стратегия подразумевает, что Вы совершаете покупку в первый день загруженных данных и держите эту позицию. Прибыль рассчитывается исходя из цен первого и последнего дня загруженных данных. Учитываются комиссионные за вход в позицию.
Естественно, необходимо, чтобы Ваша торговая система давала прибыль большую, чем стратегия “купить и держать”(т.е. “Total Net Profit” должна быть больше, чем “Buy/Hold Profit”). В противном случае, Ваша торговля не стоит потраченного времени и усилий.
Заметим, если “Buy/Hold Profit” имеет отрицательное значение, это означает, что прибыль принесла стратегия “продать и держать” (short and hold) в тех же размерах.
Buy/Hold Percent Gain/Loss. Прибыль при стратегии “Buy/Hold Profit” в процентном выражении относительно начальных инвестиций.
Days in Test. Общее число календарных дней загруженных в тест.
Annual Buy/Hold Percent Gain/Loss. Прибыль при стратегии “Buy/Hold Profit” в процентах годовых относительно начальных инвестиций.
Total Closed Trades. Общее количество завершенных торговых операций. (Если при окончании тестирования остается открытая позиция, то она не включается в это количество.)
Average Profit Per Trade. Средняя прибыль на торговую операцию.(исключается незакрытая на конец теста позиция).
Total Long Trades. Количество завершенных (закрытых) длинных позиций.
Winning Long Trades. Количество завершенных (закрытых) с прибылью длинных позиций.
Commissions Paid. Сумма всех выплаченных комиссионных за время теста. (В эту сумму не включаются предполагаемые комиссионные за закрытие открытых к окончанию теста позиций.)
Average Win/Average Loss Ratio. Отношение средней прибыли выигрышных операций (Averages Win) к среднему убытку проигрышных операций (Average Loss). “Averages Win” - сумма прибыли по всем выигрышным торговым операциям деленная на количество таких операций. “Average Loss” рассчитывается аналогично.
Total Short Trades. Количество завершенных (закрытых) коротких позиций.
Winning Short Trades. Количество завершенных (закрытых) с прибылью коротких позиций.
Total Winning Trades. (Всего выигрышных операций) Количество завершенных (закрытых) с прибылью длинных и коротких позиций.
Amount of Winning Trades. Общая прибыль от всех (коротких и длинных) выигрышных торговых операций. Эта величина не включает прибыль от открытой на конец тестирования позиции, если таковая существует. Следовательно сумма "Amount of Win Trades" и "Amount of Lose Trades" (см. ниже) может не совпадать с величиной общей чистой прибыли (Total Net Profit).
Average Win. Средняя прибыль рассчитанная от всех торговых операций завершившихся с прибылью.
Largest Win. Наибольшая прибыль от торговой операции.
Average Length of Win. Средняя продолжительность (в барах) выигрышных торговых операций.
Longest Winning Trade. Наибольшая продолжительность (в барах) выигрышной торговой операции.
Most Consecutive Wins. Наибольшее количество выигрышных торговых операций, следовавших одна за другой.
Total Losing Trades. (Всего проигрышных операций) Количество завершенных (закрытых) с убытком длинных и коротких позиций.
Amount of Losing Trades. Общий убыток от всех (коротких и длинных) проигрышных торговых операций. Эта величина не включает убыток от открытой на конец тестирования позиции, если таковая существует. Следовательно сумма "Amount of Win Trades" и "Amount of Lose Trades" (см. ниже) может не совпадать с величиной общей чистой прибыли (Total Net Profit).
Average Loss. Средний убыток рассчитанный от всех торговых операций завершившихся с убытком.
Largest Loss. Наибольший убыток от торговой операции.
Average Length of Loss. Средняя продолжительность (в барах) проигрышных торговых операций.
Longest Losing Trade. Наибольшая продолжительность (в барах) проигрышной торговой операции.
Most Consecutive Losses. Наибольшее количество проигрышных торговых операций, следовавших одна за другой.
Total Bars Out. Суммарная продолжительность (в барах) нахождения системы без открытых позиций. (т.е. нет не короткой, не длинной позиции)
Longest Out Period. Наибольшая продолжительность (в барах) нахождения системы без открытых позиций. (т.е. нет не короткой, не длинной позиции)
Average Length Out. Средняя продолжительность (в барах) нахождения системы без открытых позиций.
System Close Drawdown. Значение наибольшего снижения линии денежного баланса (относительно начальных инвестиций) рассчитанного по фактически закрытым позициям. Таким образом. это максимальное расстояние от линии начальных инвестиций до линии фактического денежного баланса при условии, что фактический денежный баланс ниже уровня начальных инвестиций.
System Open Drawdown. Значение наибольшего снижения линии денежного баланса (относительно начальных инвестиций) рассчитанного по открытым позициям. Таким образом. это максимальное расстояние от линии начальных инвестиций до линии денежного баланса рассчитанного при открытой позиции (по текущим ценам) при условии, что такой баланс ниже уровня начальных инвестиций.
Max Open Trade Drawdown. Значение наибольшего снижения денежного баланса за одну торговую операцию (относительно цены входа в позицию) рассчитанного по открытым позициям.
“A trade's Open Position Drawdown” показывается в детализированном отчете по торговым операциям (Trade Detail Report).
Profit/Loss Index. Индекс сравнивает суммарную прибыль выигрышных (Amount of Winning Trades) и суммарные убытки проигрышных (Amount of Losing Trades) операций, приводя их к одному числу, которое может изменяться в пределах от -100 (наихудшее значение) до +100 (наилучшее значение).
Отрицательное значение индекса говорит о том, что торговая система генерирует только убытки. Положительное значение -система дает больше прибыли “Amount of Profitable Trades “ по сравнению с убытками “Amount of Losing Trades”.

Index Profit/Loss
+100 Высокая прибыль/Нет убытков
+50 Прибыль > Убытков
0 Прибыль = Убыткам
-50 Прибыль < Убытков
-100 Нет прибыли/Большие убытки

Reward/Risk Index. Этот индекс вознаграждение (Reward) и риск связанный с его получением. Риск в этом индексе определяется как “System Open Drawdown” (т.е., как самая низкая точка линии денежного баланса под линией начальных инвестиций). Вознаграждение определяется как общая чистая прибыль (Total Net Profits) (т.е., конечная точка на линии баланса).
Этот индекс комбинирует вознаграждение и риск в один показатель, который может изменяться от -100 (очень рискованный) до +100 (очень надежный). Значение индекса “Reward/Risk” равное 0, подразумевает, что вознаграждение и риск уравновешивают друг друга.
Index Вознаграждение Риск
+100 Высокое Нет
+50 Среднее Средний
0 Нет Нет
-50 Низкое Средний
-100 Очень низкое Высокий
Buy/Hold Index. Этот индекс показывает процентное отношение прибыльности работы торговой системы по сравнению с прибыльностью стратегии “купи и держи”. Значение "-50" говорит о том, что торговая система дала прибыль на половину меньше, чем (т.е., 50%) стратегия “купи и держи”. Значение "25" - о том, что торговая система принесла прибыли на 25% больше. Значение "0" - прибыльность одинакова..
Идеально, если Ваша система генерирует прибыльность выше, чем стратегия “купи и держи” (т.е., Buy/Hold Index > 0). В противном случае торговля не стоит времени и усилий.

10.2.2 Отчет о торговых операциях (Trades Report)
В этом отчете отражается каждая торговая операция генерированная системой.
Вы можете изменить ширину столбцов при помощи «перетаскивания» мышью вертикальных разделителей заголовков отчета.
Trade Number. (Номер торговых операций) Порядковый номер торговой операции сгенерированной во время теста. (Торговая операция «вне рынка» не учитывается.)
Trade Type. (Тип торговой операции)
Возможны следующие типы операций:
OUT. («Вне рынка») Период, когда нет открытых ни длинных, ни коротких позиций.
LONG. Длинная позиция.
SHRT. Короткая позиция.
NSFL. Длинная позиция была «принудительно» закрыта из-за недостатка средств для покрытия коммиссионных. (Недостаточно средств для длинной позиции - «Sufficient Funds for Long trade»). Торговые операции не могут осуществляться до тех пор, пока денежный баланс не станет достаточным для покрытия коммиссионных.
NSFS. Короткая позиция была «принудительно» закрыта из-за недостатка средств для покрытия коммиссионных. (Недостаточно средств для короткой позиции - «Sufficient Funds for Short trade»). Торговые операции не могут осуществляться до тех пор, пока денежный баланс не станет достаточным для покрытия коммиссионных.
OPEN. Длинная или короткая позиция , которая осталась незакрытой на конец тестирования. (Заметим, что для расчета прибылей/убытков (Profit/Loss) в данном случае используется значение, которое было бы получено, если бы эта позиция была закрыта на последнее число загруженных данных.)
Entry Date. Дата открытия позиции.
Close Date. Дата закрытия позиции.
Profit/Loss. (Прибыль/Убытки). Размер прибыли или убытка полученного в результате торговой операции.
Reason For Close. Описание причины по которой была закрыта торговая операция.

10.2.3 Отчет о денежном балансе (Equity Report)
Этот отчет показывает движение денежных средств «день за днем».
Ширину колонок можно регулировать, как сказано в предыдущем разделе.
Bar Number. Порядковый номер бара (торгового дня, недели и т.д.).
Date. Дата каждого временного периода (бара) анализируемого в тесте (например, дня).
Ending Position. Торговая позиция, которая имела место на конец этого временного периода (например на конец дня). Например, если в этот период система сменила позицию с длинной на короткую, это поле будет содержать "Short".
Close (etc.). Цена акции на данную дату. Эта колонка может быть озаглавлена по разному, а именно как Open, High, Low, или Close в зависимости от типа цены специфицированного в поле цены (Price Field) в диалоге «System Testing Options».
Current Equity. Величина денежного баланса на конец данного периода (например на конец дня). Это значение аналогично, тому, что выводится на графике денежного баланса «Plot Equity».
Change in Equity. Изменение в денежном балансе по сравнению с предыдущей транзакцией.

10.2.4 Детализированный отчет по торговым операциям (Trade Detail Report)
В этом отчете приводятся детальные сведения по конкретной торговой операции. Такую торговую операцию следует выбрать в окне Отчета по торговым операциям или Отчета о денежном балансе (Trades or Equity report) и щелкнуть по кнопке <Inspect>.
Trade Number. Порядковый номер торговой операции. (Операция «вне рынка» - «Out» не учитывается)
Days In Trade. Число календарных дней между датами открытия и закрытия позиции.
Trade Type. Тип торговой операции.
Bars In Trade. Количество временных периодов (баров - торговых дней, недель) в течении которых существовала данная позиция.
Entry Date. Дата открытия позиции.
Entry Price. Цена открытия позиции.
Entry Commission. Комиссионные за открытие позиции.
Close Date. Дата закрытия позиции.
Close Price. Цена закрытия позиции.
Close Commission. Комиссионные за закрытие позиции.
Equity At Entry. Величина денежного баланса на момент открытия позиции (За вычетом комиссионных за открытие позиции).
Equity At Close. Величина денежного баланса на момент закрытия позиции (За вычетом комиссионных за открытие и закрытие позиции).
Open Position Drawdown. (Провал открытой позиции) Наибольшее уменьшение денежного баланса в течении данной торговой операции (относительно цены входа в позицию). Наибольший «провал» открытой позиции «Open Position Drawdown» представляется в Общем отчете.
Profit or Loss. Величина прибыли/убытка в результате данной торговой операции (в долларах).
Percent Profit or Loss. Величина прибыли/убытков в результате данной торговой операции в процентах. (Рассчитывается на основании денежного баланса при входе и выходе из позиции)

10.2.5 Системная страница (System Page)
На этой странице (вкладке) описываются торговые правила системы, OPT - переменные и их значения, а также значения опций специфицированных в диалоге «System Testing Options».

10.3 Отчеты по сравнению систем (Compare Reports)

Если при работе с диалогом «System Tester dialog», Вы активировали флажок «Compare», то затем Вы можете отметить несколько тестов для сравнительного тестирования их работы по одной акции. Если же, при активированном флажке «Compare» Вы щелкнете по клавише «Reports», то на экран будет выведена большая часть последних Сравнительных отчетов (Comparison Report). В верхней части этого окна представляется имя акции по которой проводилось сравнение, а также общее число тестов систем участвующих в сравнительном тестировании. Если в системе, участвующей в сравнительном тестировании имеются переменные оптимизации, то в сравнительный отчет будет включен тест давший наибольшую прибыль. Значение OPT-переменных, которые использовал тест системы можно найти на Системной странице диалога «System Report dialog».
Применение Сравнительных отчетов - удобный способ быстрого обнаружения наиболее подходящих торговых систем для конкретной акции. Вы можете быстро обнаружить текущую торговую позицию, которую генерируют торговые системы для данной акции. Интересная техника анализа может заключаться в сравнительном тестировании, не менее чем четырех надежных торговых систем. Если большинство торговых позиций сгенерированных системами одинаково, то можно действовать в данном направлении.
Вы имеете возможность вызнать для отмеченной торговой системы Общий отчет и другие отчеты при помощи щелчка по кнопке «Reports»
Колонки Сравнительного отчета идентичны колонкам Общего отчета за исключением трех дополнительных колонок:
System Name. (Имя системы) Название торговой системы.
Current Position. (Текущая позиция) Текущая позиция торговой системы (длинная, короткая, «вне рынка»).
Date Position Entered. (Дата входа в позицию) Дата открытия текущей позиции.
10.4 Печать отчетов (Printing Reports)
Для того чтобы распечатать отчет необходимо щелкнуть по кнопке «Print». Появляется диалог печати.
Print Range. (Диапазон печати) Выберите «All», чтобы распечатать отчет полностью. Радио-кнопки «Selection» и «Pages» всегда находятся в не активном состоянии. Это связано с тем, что данный диалог является стандартным диалогом «Windows», но эти кнопки не используются Метастоком.
Print Quality. (Качество печати) Выберите разрешение (dpi = d на дюйм). Разрешение зависит от возможностей принтера.
Print to File. (Печать в файл) Активируйте этот флажок, если хотите направить отчет в файл (присвойте файлу имя).
Copies. (Число копий) Введите число необходимых копий.
10.5 Копирование отчетов в буфер обмена Windows (Copying Reports to the Windows Clipboard)
Вы можете скопировать содержимое отчетов в буфер обмена, чтобы потом использовать в других приложениях Windows.
Делается это следующим образом.
• Выведите отчет на экран.
• Щелкните мышью по любому месту страницы отчета.
• Нажмите комбинацию клавиш CTRL+C (или CTRL+Ins) для вставки содержимого страницы в буфер обмена. Затем Вы можете вставить эту страницу в другое приложение Windows при помощи функции «Paste».

11. Использование системы Максимальной прибыли (Using the
Мы так малы в масштабах рынка - что нами можно пренебречь;)

#5 Игорь.

Игорь.

    живет тут

  • Заблокированные
  • PipPipPipPipPip
  • 1 750 сообщений

Опубликовано 03 Ноябрь 2005 - 03:16

Приложение 1
1. Таблица встроенных функций (Functions)
1.1 Absolute Value (Абсолютное значение)
СИНТАКСИС abs( DATA ARRAY )
ФУНКЦИЯ Расчитывает абсолютное значение числа (DATA ARRAY).
ПРИМЕР Формула "abs( -10 )" возвратит +10; формула "abs( 10 )", также возвратит +10.
1.2 Accumulation/Distribution (Аккумуляция/дистрибуция)
СИНТАКСИС ad()
ФУНКЦИЯ Калькулирует встроенный индикатор “Accumulation/ Distribution”.
1.3 Accumulation Swing Index (Аккумуляционный индекс Свинга)
СИНТАКСИС aswing(LIMIT MOVE)
ФУНКЦИЯ Рассчитывает встроенный “Accumulation Swing Index”. Для расчета этого индекса требуются цены открытия.
ПРИМЕР aswing(3.0)
СМ. ТАКЖЕ Функцию swing() (см. “Swing Index”).
1.4 Addition (Сложение)
СИНТАКСИС add(DATA ARRAY, DATA ARRAY)
ФУНКЦИЯ Складывает два параметра.
ПРИМЕР Формула "add(H, 10.7)" суммирует число 10.7 и максимальную цену (это также можно выразить, как "H + 10.7").
СМ. ТАКЖЕ Функцию sub(). (см. “Subtraction”).
1.5 Arc Tangent (Арктангенс)
СИНТАКСИС atan( Y DATA ARRAY, X DATA ARRAY )
ФУНКЦИЯ
Возвращает арктангенс Y/X. Это значение лежит в диапазоне 0  359.9 градусов.









ПРИМЕР Формула"atan( 10, 0 )" возвращает 90.
СМ. ТАКЖЕ Функии cos(); sin() (см.. “Cosine”, “Sine”)
1.6 Average Directional Movement (Усредненный Дирекционный Момент)
СИНТАКСИС adx( PERIODS )
ФУНКЦИЯ Рассчитывает встроенный “Average Directional Movement indicator”
ПРИМЕР adx( 14 )
СМ. ТАКЖЕ. Функции adxr(), csi(), dx(), mdi(), pdi() (см. “Average Directional Movement Rating”, “Commodity Selection Index”, “Directional Movement Index”, “Minus Directional Movement”, “Plus Directional Movement”)
1.7 Average Directional Movement Rating (Рейтинг усредненного дирекционального момента)
СИНТАКСИС adxr( PERIODS )
ФУНКЦИЯ Рассчитывает встроенный "Average Directional Movement Rating indica-tor"
ПРИМЕР adxr( 14 )
СМ. ТАКЖЕ Функции adx(), csi(), dx(), mdi(), pdi(), (см. "Average Directional Movement Rating", "Commodity Selection Index", "Directional Movement Index", "Minus Directional Movement", "Plus Direc-tional Movement") .
1.8 Average True Range (Усредненый истинный диапазон)
СИНТАКСИС atr( PERIODS )
ФУНКЦИЯ Рассчитывает встроенный "Average True Range indicator".
ПРИМЕР atr( 20 )
1.9 Bars Since (Число баров с ...)
СИНТАКСИС barssince( DATA ARRAY )
ФУНКЦИЯ Рассчитывает число временных периодов от момента, когда массив данных имел значение "истинно".
ПРИМЕР barssince( macd() < 0 )
1.10 Bollinger Band Bottom
СИНТАКСИС bbandbot( DATA ARRAY, PERIODS, METHOD, DEVIATIONS )
ФУНКЦИЯ Рассчитывает “дно” (минимальное значение) полосы Боллинджера массива данных (DATA ARRAY), за определенный период (PERIODS ), используя метод калькуляции (METHOD), и сдвиг вниз (DEVIATION) стандартного отклонения. Методы калькуляции: SIMPLE, EXPONENTIAL, WEIGHTED, TIMESERIES, TRIANGULAR, и VARIABLE. (сокращенно S, E, W, T, TRI, и VAR).
ПРИМЕР bbandbot( close, 10, S, 2 )
1.11 Bollinger Band Top
СИНТАКСИС bbandtop( DATA ARRAY, PERIODS, METHOD, DEVIATIONS )
ФУНКЦИЯ Рассчитывает “верхушку” (максимальное значение) полосы Боллинжера, массива данных (DATA ARRAY), используя метод калькуляции (METHOD), и сдвиг вверх (DEVIATION) стандартного отклонения. Методы калькуляции: SIMPLE, EXPO-NENTIAL, WEIGHTED, TIMESERIES, TRIANGULAR, и VARIABLE (сокращенно S, E, W, T, TRI, и VAR).
ПРИМЕР bbandtop( close, 10, S, 2 )
1.12 Buying Pressure (Напряжение покупки)
СИНТАКСИС buyp()
ФУНКЦИЯ Рассчитывает компонент давления-покупки индекса "Demand" (см. "Demand Index"). Давление-покупки - величина объема связанного с покупкой.
1.13 Ceiling (Целое число)
СИНТАКСИС ceiling( DATA ARRAY )
ФУНКЦИЯ Рассчитывает наименьшее целое число, которое больше, чем DATA ARRAY.
ПРИМЕР Формула "ceiling( 13.9 )" возвращает 14. Формула "ceiling( -13.9 )" возвращает -13.
СМ. ТАКЖЕ Функции floor(), int() (см. “Floor”, “Integer”)


1.14 Chaikin Oscillator (Осциллятор Чайкина)
СИНТАКСИС co()
ФУНКЦИЯ Расчитывает значение осциллятора Чайкина
1.15 Commodity Channel Index (EQUIS) /Индекс торгового канала
СИНТАКСИС ccie(PERIODS)
ФУНКЦИЯ Рассчитывает встроенный "Commodity Channel Index" (EQUIS).
ПРИМЕР 14 ccie()
1.16 Commodity Channel Index Standard ( Индекс товарного канала)
СИНТАКСИС cci(PERIODS)
ФУНКЦИЯ Рассчитывает "Channel Index" (Standard).
ПРИМЕР cci(14)
1.17 Commodity Selection Index (Индекс товарной селекции)
СИНТАКСИС csi( PERIODS, VALUE, MARGIN, COMMISSION )
ФУНКЦИЯ Рассчитывает встроенный "Commodity Selection Index."
ПРИМЕР csi(14, 25, 50, 2500)
СМ. ТАКЖЕ Функции adx(), adxr(), dx(), mdi(), pdi() (см. "Average Directional Movement Rating", "Directional Movement Rating", "Directional Movement Index", "Minus Directional Mo-vement", "Plus Directional Movement")
1.18 Correlation Analysis (Корреляционный анализ)
СИНТАКСИС correl( INDEPENDENT,DEPENDENT,PERIODS,SHIFT )
ФУНКЦИЯ Рассчитывает встроенный "Correlation indicator". Проводит корреляционный анализ между независимой (INDEPENDENT) и зависимой (DEPENDENT) переменными за определенный временной период (PERIODS), со сдвигом зависимой переменной (DEPEND-ENT) вправо на определенное количество (SHIFT) периодов
ПРИМЕР Формула "correl( macd(), CLOSE, 5, 10 )" сравнивает индикатор MACD и цену закрытия сдвинутую на 10 периодов вперед, с окном обработки в 5 предыдущих периодов.
СМ. ТАКЖЕ Функции tsf(), stdev() (см. "Time Series Forecast", "Standard Deviation").
Cosine (Косинус)
СИНТАКСИС cos( DATA ARRAY )
ФУНКЦИЯ Возвращает косинусe DATA ARRAY. Предполагается, что значения DATA ARRAY выражены в градусах.
ПРИМЕР cos( C )
СМ. ТАКЖЕ Функции atan(), sin() (см. "Arc Tangent", "Sine").
1.19 Cross (Пересечение)
СИНТАКСИС cross( DATA ARRAY 1, DATA ARRAY 2 )
ФУНКЦИЯ Возвращает "+1" в тот момент, когда график DATA ARRAY 1 пересекает снизу вверх график DATA ARRAY 2. В противном случает, возвращается "0". Если Вы хотите, чтобы было известно, когда график DATA ARRAY 1 пересекает график DATA AR-RAY 2 сверху вниз, используйте формулу "cross( DATA ARRAY 2, DATA ARRAY 1)
ПРИМЕР cross( close, mov(close,9,e) )

1.20 Cumulate (Кумуляция)
СИНТАКСИС cum( DATA ARRAY )
ФУНКЦИЯ Рассчитывает aкумулятивную сумму DATA ARRAY.
ПРИМЕР Формула "cum( 1 )" рассчитывает индикатор который увеличивает свое значение на единицу каждый день; формула "cum( C )" рассчитывает куммулятивную сумму всех цен закрытия.
СМ. ТАКЖЕ Функцию sum() (см. "Summation").
1.21 Day Of Month (День месяца)
СИНТАКСИС dayofmonth()
ФУНКЦИЯ Возвращает текущее число месяца. Если сегодня 15 июля, "15" будет отображено.
1.22 Day Of Week (День недели)
СИНТАКСИС dayofweek()
ФУНКЦИЯ Возвращает текущий день недели: 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday, 7=Sunday.
1.23 Delta (Дельта)
СИНТАКСИС delta( TYPE, DATE, PRICE, INTEREST, DIVIDEND )
ФУНКЦИЯ Рассчитывает встроенный "Delta indicator". См. функцию option() ("Put/Call Price"), где описаны параметры заключенные в скобки этой функции.
ПРИМЕР delta( EC, 941220, 125, 7.50, 4.75 )
СМ. ТАКЖЕ Функции gamma(), (life(), option(), theta(), vega(), volo() (см. "Gamma", "Option Life", "Put/Call Price", "Theta", "Vega", "Volatility", "Option").
1.24 Demand Index (Индекс потребности)
СИНТАКСИС di()
ФУНКЦИЯ Рассчитывает встроенный "Demand Index"
1.25 Detrended Price Oscillator (Регрессивный ценовой осциллятор)
СИНТАКСИС dpo( PERIODS )
ФУНКЦИЯ Рассчитывает встроенный "Detrended Price Oscillator".
ПРИМЕР dpo( 25 )
1.26 Directional Movement Index (Индекс Дирекционного момента)
СИНТАКСИС dx( PERIODS )
ФУНКЦИЯ Рассчитывает встроенный "Directional Movement Index".
ПРИМЕР dx( 14 )
СМ. ТАКЖЕ Функции adx(), adxr(), csi(), mdi(), pdi() (см. "Average Directional Movement Rating", "Directional Movement Rating", "Commodity Selection Index", "Minus Directional Movement", "Plus Directional Movement".)
1.27 Directional Movement Rating (Рейтинг Дирекционного момента)
СИНТАКСИС adxr( PERIODS )
ФУНКЦИЯ Рассчитывает встроенный "Directional Movement Rating".
ПРИМЕР adxr( 14 )
СМ. ТАКЖЕ Функции adx(), adxr(), csi(), mdi(), pdi() (см. "Average Directional Movement Rating", "Directional Movement Rating", "Commodity Selection Index", "Minus Directional Movement", "Plus Directional Movement".)
1.28 Division (Деление)
СИНТАКСИС div( DATA ARRAY, DATA ARRAY )
ФУНКЦИЯ Делит первый параметр на второй.
ПРИМЕР Формула "div( 10 , 2 )" возвращает 5 (также можно использовать, как "10 / 2").
СМ. ТАКЖЕ Функцию mul() (см. "Multiplication").
1.29 Ease of Movement (Ослабление момента)
СИНТАКСИС emv(PERIODS, METHOD)
ФУНКЦИЯ Рассчитывает скользящую среднюю индикатора "Movement" с периодом (PERIODS) и методом (METHOD). Методы расчета: SIMPLE, EXPONENTIAL, WEIGHTED, TIME-SERIES, TRIANGULAR, и VARIABLE. (Сокращенно: S, E, W, T, TRI, и VAR.)
ПРИМЕР Формула"emv(14,S)" возвращает значение "Ease of Movement indicator" сглаженное 14-дневной простой скользящей средней.
1.30 Exponent (Экспонента)
СИНТАКСИС exp(DATA ARRAY)
ФУНКЦИЯ Рассчитывает экспоненту DATA ARRAY.
СМ. ТАКЖЕ Функцию log() (см. "Logarithm").
1.31 Fast Fourier Transform (Быстрое преобразоввание Фурье)
СИНТАКСИС fft( DATA ARRAY, PERIODS, LENGTH, DETREND èëè MEAN, AMPLITUDE or POWER )
ФУНКЦИЯ Рассчитывает преобразование Фурье с периодом (PERIODS) на основе массива данных (DATA ARRAY), с длинной образца (LENGTH), использяя методы (DETREND или MEAN) и отображая амплитуду (AMPLITUDE) или спектральную мощность (POWER).
ПРИМЕР Формула"fft( CLOSE, 100, 1, DETREND, POWER )" возвращает значение "Fast Fourier indicator" по умолчанию.
1.32 Floor (Целое число)
СИНТАКСИС floor( DATA ARRAY )
ФУНКЦИЯ Рассчитывает наибольшее целое число, которое меньше DATA ARRAY.
ПРИМЕР Формула "floor( 13.9 )" возвращает 13. Формула "floor( -13.9 )" возвращает -14.
СМ. ТАКЖЕ Функции ceiling(), int() (см. "Ceiling", "Integer").
13.34 Formula Call (Вызов формулы)
СИНТАКСИС fml(FORMULA_NAME )
ФУНКЦИЯ Рассчитывает значение другой пользовательской формулы. Для ссылки на другую формулу используется ее имя (FORMULA_NAME). Имя вызываемой формулы должно быть заключено в кавычки (например, fml( "Secret A").Можно ввести только часть имени, однако эта часть должна быть уникальна. Например, если имеются формулы с именами "Best Formula" и "My Best Formula", то ссылка fml( "Best Formula" ) приведет к ошибке, т.к. Метасток не сможет определить на какую из двух формул Вы ссылаетесь. В ссылке fml( "My" ) идентификация произойдет успешно. Если Вы изменили имя формулы, Вы также должны изменить это имя в формулах, со ссылками на имя измененной формулы.
ПРИМЕР Формула "fml("Secret A") * fml("MyMACD")" рассчитывает значение формулы с именем "Secret A" и умножает его на значение формулы "MyMACD."
СМ. ТАКЖЕ "Учебник по формулам", "Сылка на пользовательские индикаторы"
1.33 Fraction (Фракционирование)
СИНТАКСИС frac( DATA ARRAY )
ФУНКЦИЯ Выделяет целую часть DATA ARRAY и возвращает оставшуюся часть.
ПРИМЕР Формула "frac( 10.7 )" возвращает 0.7; формула "frac(-19.8 )" возвращает -0.8.
СМ. ТАКЖЕ Функцию int() (см. "Integer").
1.34 Gamma (Гамма)
СИНТАКСИС gamma( TYPE, DATE, PRICE, INTEREST, DIVIDEND )
ФУНКЦИЯ Рассчитывает встроенный индикатор "Gamma". См. функцию option(), а также "Put/Call Price", где описаны параметры используемые этой функцией.
ПРИМЕР gamma( EC, 941220, 125, 7.50, 4.75 )
СМ. ТАКЖЕ Функции delta(), life(), option(), theta(), vega(), volo() (см. "Delta", "Option Life", "Put/Call Price", "Theta", "Vega", "Volatility", "Option").
1.35 Gap Down (Нижний разрыв)
СИНТАКСИС gapdown()
ФУНКЦИЯ Возвращает "+1" в этот день, если имеется нижний разрыв в ценах. В противном случае, возвращается "0".Нижний разрыв появляется , если вчерашняя минимальная цена, больше сегодняшней максимальной цены.
1.36 Gap Up (Верхний разрыв)
СИНТАКСИС gapup()
ФУНКЦИЯ Возвращает "+1" в этот день, если имеется верхний разрыв в ценах. В противном случае, возвращается "0". Верхний разрыв появляется , если вчерашняя максимальная цена, меньше сегодняшней минимальной цены.
1.37 Herrick Payoff Index (Индекс ... Геррика)
СИНТАКСИС hpi( CENTS, MULTIPLYING FACTOR )
ФУНКЦИЯ Рассчитывает встроенный "Herrick Payoff Index".
ПРИМЕР hpi(100, 10)
1.38 Highest (Наибольшее значение)
СИНТАКСИС highest( DATA ARRAY )
ФУНКЦИЯ Рассчитывает наибольшее значение DATA ARRAY с первого дня загруженного в график (ПЕРИОД включает текущий день).
ПРИМЕР Формула "highest( rsi(14) )" возвращает наибольшее значение "Relative Strength Index"с первой даты, загруженной в график; формула "highest (close )" возвращает наибольшую цену закрытия аналогичного периода..
СМ. ТАКЖЕ Функции hhv(), llv(), lowest() (см. "Highest High Value", "Lowest Low Value", "Lowest Low Value").
1.39 Highest High Value (Наиболее высокое значение)
СИНТАКСИС hhv( DATA ARRAY, PERIODS )
ФУНКЦИЯ Возвращает наиболее высокое значение DATA ARRAY за предыдущий период (PERIODS) (PERIODS включает текущую дату).
ПРИМЕР Формула "hhv( CLOSE, 5 )" возвращает наибольшую цену закрытия за последние пять дней; "hhv(H,7)" возвращает наибольшую максимальную цену за последние семь дней.
СМ. ТАКЖЕ “Stochastic Oscillator example” (ñì. “Stochastic Oscillator”); ôóíêöèþ llv() (ñì. “Lowest Low Value”).

1.40 IF() (Логическое если)
СИНТАКСИС if( DATA ARRAY > >= < <= <> = DATA ARRAY, THEN DATA ARRAY, ELSE DATA ARRAY )
ФУНКЦИЯ Возвращает значение четвертого параметра (THEN), если выражение определенное первыми тремя параметрами истинно. В противном случае (ELSE), возвращается пятый параметр.
ПРИМЕР Формула"if(1<2,3,4)" всегда возвращает значение3.
СМ. ТАКЖЕ Примеры "On Balance Volume"; Учебник по формулам (см. if())
1.41 Inside (Инсайд)
СИНТАКСИС inside()
ФУНКЦИЯ Возвращает "+1", если имеется инсайдерский день.Инсайдерский день - это, когда сегодняшняшний максимум меньше вчерашнего максимума, а сегодня-шний минимум больше, чем вчерашний минимум. Диапазон определяется первым Инсайдерским днем и прерывается только Rally (оживление), Reaction, или Outside day.
1.42 Integer (Целое число)
СИНТАКСИС int( DATA ARRAY )
ФУНКЦИЯ Возвращает целую часть числа (DATA ARRAY).
ПРИМЕР Формула"int( 10.7 )" возвращает 10; формула"int(-19.8 )" возвращает -19.
СМ. ТАКЖЕ Функции ceiling(); function (see Ceiling); the floor() function (see Floor); the frac() function (see Fraction).
1.43 Klinger Volume Oscillator
СИНТАКСИС kvo()
ФУНКЦИЯ Рассчитывает встроенный Klinger Volume Oscillator.
ПРИМЕР Формула"kvo()" возвращает the value of the Klinger Volume Oscillator (i.e., the solid line). Формула"mov(kvo(),13,E)" возвращает the value of the KVO's trigger line (i.e., the dotted line).
1.44 Logarithm (Логарифм)
СИНТАКСИС log( DATA ARRAY )
ФУНКЦИЯ Рассчитывает значения натурального логарифма массива (DATA ARRAY).
СМ. ТАКЖЕ Функцию exp().
1.45 Lowest (Минимальное значение)
СИНТАКСИС lowest( DATA ARRAY )
ФУНКЦИЯ Возвращает наименьшее значение массива данных (DATA ARRAY) с первой даты данных загруженных в график, включая текущую дату.
ПРИМЕР Формула "lowest( rsi(14) )" возвращает наименьшее значение индекса «Relative Strength Index» , начиная с первой даты загруженной в график; "lowest (close )" возвращает наименьшее значение цены закрытия.
СМ. ТАКЖЕ Функции hhv() (Highest High Value); llv() (Lowest Low Value); highest() ( Highest).



1.46 Lowest Low Value (Значение минимального донышка)
СИНТАКСИС llv( DATA ARRAY, PERIODS )
ФУНКЦИЯ Рассчитывает наименьшее значение массива данных (DATA ARRAY) за определенный предшествующий период (PERIODS), включая текущую дату.
ПРИМЕР Формула"llv( CLOSE, 14 )" возвращает the lowest closing price over the preceding 14 periods.
СМ. ТАКЖЕ Примеры «Stochastic Oscillator»; ôóíêöèþ hhv() (Highest High Value).
1.47 MACD (Скользящая средняя конвергенции-дивергенции)
СИНТАКСИС macd()
ФУНКЦИЯ Рассчитывает встроенный MACD indicator.
ПРИМЕР Формула macd() возвращает значение индикатора MACDмонотонная линия). Формула mov(macd(),9,E) возвращает значение сигнальной линиии MACD (iпрерывистая линия).
1.48 Mass Index (Индекс Массы)
СИНТАКСИС mass( PERIODS )
ФУНКЦИЯ Рассчитывает «Mass Index».
ПРИМЕР mass( 25 )
1.49 Maximum (Максимум)
СИНТАКСИС max( DATA ARRAY, DATA ARRAY )
ФУНКЦИЯ Возвращает наибольшее значение из двух параметров.
ПРИМЕР Формула"max( CLOSE, 10 )" возвращает цену закрытия в том случае, если она больше 10, в противном случае возвращается «10». Формула max(-14, 13) всегда возвращает 13.
1.50 Median Price (Средняя цена)
СИНТАКСИС mp()
ФУНКЦИЯ Рассчитывает встроенный «Median Price indicator».
СМ. ТАКЖЕ Функцию typ() (Typical Price).
1.51 Midpoint (Средняя цена -Мидпоинт)
СИНТАКСИС mid( DATA ARRAY, PERIODS )
ФУНКЦИЯ Возвращает мидпоинт массива данных (DATA ARRAY) за определенный период (PERIOD). Мидпоинт = полусумме максимального и минимального значения за определенный период.
ПРИМЕР Формула mid( CLOSE, 7 ) эквивалентна llv(C,7) + ((hhv(C,7) llv(C,7)) / 2).
СМ. ТАКЖЕ Функции hhv() (Highest High Value); the llv() (Lowest Low Value).
1.52 Minimum (Минимум)
СИНТАКСИС min( DATA ARRAY, DATA ARRAY )
ФУНКЦИЯ Возвращает наименьшее значение из двух параметров.
ПРИМЕР Формула min( CLOSE, 10 ) возвращает цену закрытия, если она меньше 10, в противном случае возвращается «10». Формула min(-14, 13) всегда возвраща-ет «-14».
СМ. ТАКЖЕ Функцию max() (Mass Index).


1.53 Minus Directional Movement (Отрицательный Дирекционный момент)
СИНТАКСИС mdi( PERIODS )
ФУНКЦИЯ Рассчитывает встроенный "Minus Directional Movement indicator".
ПРИМЕР mdi( 14 )
СМ. ТАКЖЕ Функции adx(), adxr(), csi(), mdi(), pdi() (Average Directional Movement Rating, Directional Movement Rating, Commodity Selection Index, Minus Directional Movement, Plus Directional Movement).
1.54 Modulus (Остаток от деления)
СИНТАКСИС mod( DATA ARRAY, DATA ARRAY )
ФУНКЦИЯ Рассчитывает остаток от деления первого параметра на второй. Если первый параметр равен 0, функция возвращает 0.
ПРИМЕР Формула"mod( 10, 3 )" возвращает 1.0; формула"mod( -10.7, 3 )" возвращает -1.7. Эквивалентная формула -10.7 - (int(-10.7 / 3) * 3).
1.55 Momentum (Момент)
СИНТАКСИС mo( PERIODS )
ФУНКЦИЯ Рассчитывает встроенный "Momentum indicator".
ПРИМЕР mo( 12 )
1.56 Money Flow Index (Индекс Денежного потока)
СИНТАКСИС mfi( PERIODS )
ФУНКЦИЯ Рассчитывает встроенный "Money Flow Index".
ПРИМЕР mfi( 14 )
СМ. ТАКЖЕ Функцию rsi() (Relative Strength Index(RSI)).
1.57 Month (Месяц)
СИНТАКСИС month()
ФУНКЦИЯ Выводит месяцы на графике цены. Если ось содержала формат 10/15/94, "10" должно быть нарисованно.
1.58 Moving Average (Скользящая средняя)
СИНТАКСИС mov( DATA ARRAY, PERIODS, METHOD)
ФУНКЦИЯ Рассчитывает скользящую среднюю для массива данных (DATA ARRAY) с периодом усреднения (PERIODS), используя метод калькуляции (METHOD). Возможны методы: экспоненциальный (EXPONENTIAL), простой (SIMP-LE), временных серий (TIMESERIES), триангулярный (TRIANGULAR), взвешевания (WEIGHTED), переменной (VARIABLE), и объемо-зависимый (VOLUMEADJUSTED) (Сокращения соответственно E, S, T, TRI, W, VAR, VOL). При необходимости использования в качестве массива данных средней (Median Price) или типичной цен (Typical Price) используйте функции mp() и typical().
ПРИМЕР Формула mov( CLOSE, 25, EXPONENTIAL ) возвращает значения 25-дневной экспоненциальной скользящей средней цены закрытия.
1.59 Multiplication (Произведение)
СИНТАКСИС mul( DATA ARRAY, DATA ARRAY )
ФУНКЦИЯ Рассчитывает произведение двух параметров.
ПРИМЕР Функция "mul( CLOSE, 2) возвращает результат умножения цены закрытия на два. (Также можно написать C * 2 ).
СМ. ТАКЖЕ Функцию div() (Division).
1.60 Negative (Отрицательное число)
СИНТАКСИС neg( DATA ARRAY )
ФУНКЦИЯ Возвращает противоположное значение числа (DATA ARRAY).
ПРИМЕР Формула"neg( 10 )" возвращает -10; формула"neg( -12 )" возвращает +12. Эта формула также может быть написана как -(-12).
1.61 Negative Volume Index (Индекс негативного объема)
СИНТАКСИС nvi()
ФУНКЦИЯ Рассчитывает встроенный "Negative Volume Index".
СМ. ТАКЖЕ Функцию pvi() (Positive Volume Index).
1.62 On Balance Volume
СИНТАКСИС obv()
ФУНКЦИЯ Рассчитывает встроенный On Balance Volume indicator.
СМ. ТАКЖЕ Примеры в разделе «On Balance Volume».
1.63 Option Life (Жизнь опциона)
СИНТАКСИС life( EXPIRATION DATE )
ФУНКЦИЯ Рассчитывает встроенный «Option Life indicator».
ПРИМЕР Функция life( 950121 ) возвращает число дней до 21 Января 1995.
СМ. ТАКЖЕ Функции delta(), gamma(), option(), theta(), vega(), volo() ( Delta, Gamma, Put/Call Price, Theta, Vega, Volatility, Option).
1.64 Outside (Аутсайд)
СИНТАКСИС outside()
ФУНКЦИЯ Возвращает "+1", если индицируется «Аутсайд». Признаки «Аутсайда»: текущий максимум больше вчерашнего максимума и текущий минимум меньше, чем вчерашний минимум. Диапазон определяется первым «Аутсайдом» и прерывается только «Ралли», «Реакцией» или «Аутсайдом».
1.65 Parabolic SAR (Параболическая система)
СИНТАКСИС sar( STEP, MAXIMUM )
ФУНКЦИЯ Рассчитывает встроенный "Parabolic SAR indicator".
ПРИМЕР sar( 0.02, 0.20 )
1.66 Peak Value (Пиковое значение)
СИНТАКСИС peak( Nth, DATA ARRAY, % MINIMUM CHANGE )
ФУНКЦИЯ Возвращяет значение N-го (Nth) по счету назад гребня (пика) массива данных (DATA ARRAY). Это используется в функции "Zig Zag" (см.) для идентификации "гребней". При N=1 возвращается значение самого ближайшего гребня, при N=2 значение второго из близлежащих гребней и т.д.
ПРИМЕР peak(1,close,5)
1.67 Peak Bars Ago (Число баров до гребня)
СИНТАКСИС peakbars( Nth, DATA ARRAY, % MINIMUM CHANGE)
ФУНКЦИЯ Возвращает число баров (дней , недель и т.д) до N-го "Nth" гребня (пика). Это используется в функции "Zig Zag" (см.). При Nth=1 возвращается число баров прошедших с момента индикации последнего близлежащего гребня. При Nth=2 возвращается число баров прошедших с момента индикации предпоследнего близлежащего гребня и т.д.
ПРИМЕР peakbars(1,close,5)
1.68 Performance
СИНТАКСИС per()
ФУНКЦИЯ Рассчитывает встроенный "Performance indicator".
1.69 Plus Directional Movement (Положительный дирекционный момент)
СИНТАКСИС pdi( PERIODS )
ФУНКЦИЯ Рассчитывает встроенный «Plus Directional Movement indicator».
ПРИМЕР pdi( 14 )
СМ. ТАКЖЕ Функции adx(), adxr(), csi(), dx(), mdi() (Average Directional Movement, Average Directional Movement Rating, Commodity Selection Index, Directional Movement Index, Minus Directional Movement).
1.70 Positive Volume Index (Индекс положительного объема)
СИНТАКСИС pvi()
ФУНКЦИЯ Рассчитывает встроенный «Positive Volume Index».
СМ. ТАКЖЕ Функцию nvi() (Negative Volume Index).
1.71 Power (Возведение в степень)
СИНТАКСИС power( DATA ARRAY, POWER )
ФУНКЦИЯ Возводит значения массива (DATA ARRAY) в степень (POWER). При возведении в степень, не являющуюся целом числом, отрицательного значения вы-дается сообщение об ошибке.
ПРИМЕР Формула"power( 10, 3 )" возвращает 1,000.
1.72 Precision (Точность вычислений)
СИНТАКСИС prec( DATA ARRAY, PRECISION )
ФУНКЦИЯ Округляет значения массива данных (DATA ARRAY) до определенной цифры после десятичной точки (PRECISION) .
ПРИМЕР Формула prec( 10.12981, 2 ) возвращает 10.120. Формула prec( 10.12981, 4 ) возвращает 10.12980. Небольшие ошибки компьютера при двоичном округлении могут привести к незначительным погрешностям в дробной части некоторых чисел.
1.73 Price Oscillator (Ценовой осциллятор)
СИНТАКСИС oscp( PERIODS, PERIODS, MA_METHOD, DIFF_METHOD )
ФУНКЦИЯ Рассчитывает встроенный «Price Oscillator» с периодами «PERIODS, PERIODS» с использованием метода усреднения скользящей средней (MA_METHOD) и метода расчета отношений между ценами «DIFF_ME-THOD». Можно использовать (MA_METHOD): простой (SIMPLE), экспоненциальный (EXPONENTIAL), взвешевания (WEIGHTED), временных серий (TIMESERIES), триангулярный (TRIANGULAR) и переменной (VARI-ABLE) (Сокращенно соответственно E, S, T, TRI, W, VAR, VOL). Можно использовать (DIFF_METHOD): процент (PERCENT) и абсолютное значение (POINTS) (сокращенно %, $).
ПРИМЕР Формула"oscp(1, 25, E, $)" возвращает значения 1/25 - дневного экспоненциального «Price oscillator» выраженного в абсолютных величинах.
СМ. ТАКЖЕ Функцию oscv() (Volume Oscillator).
1.74 Price Volume Trend (Объемно-ценовой тренд)
СИНТАКСИС pvt()
ФУНКЦИЯ Рассчитывает встроенный «Price Volume Trend indicator».
1.75 Put/Call Price (Цена Пут/Колл)
СИНТАКСИС option( TYPE, DATE, PRICE, INTEREST, DIVIDEND )
ФУНКЦИЯ Рассчитывает встроенный Put/Call Price indicator.
ПРИМЕР Формула option( EC, 951231, 125, 8.5, 6.31 ) рассчитывает the fair market value of an equity call that matures on December 31, 1995, at a strike price of $125. The cur-rent market interest rates are 8.5% and the security paid an annual dividend of $6.31. TYPE specifies whether the security is an Equity or a Future (i.e., E or F) and if a Put or Call price (i.e, P or C) should be calculated. Valid TYPEs are EC, EP, FC, and FP. (These types also can be spelled out as CALL, PUT, FUTURECALL, and FU-TUREPUT.) The DATE is the date that the option expires. The DATE must be en-tered as a number in the YYMMDD format. For example, December 31, 1995, should be entered as 951231. This date format is used regardless of the date format specified in the Configuration section.The PRICE parameter specifies the option's strike price.The INTEREST parameter specifies a "risk free" market interest rate (e.g., 8.75).The DIVIDEND parameter specifies the total dividends received over the last 12 mont
СМ. ТАКЖЕ Функции delta(), gamma(), life(), theta(), vega(), volo() (Delta, Gamma, Option, Life, Theta, Vega, Volatility, Option).
1.76 Rally (Оживление на бирже)
СИНТАКСИС rally()
ФУНКЦИЯ Возвращает "+1", если индицируется «Ралли». В противном случае воз-вращается "0". Признаки «Ралли»: текущий максимум больше, чем максимум предыдущего «Ралли»; текущий минимум больше или равен минимуму предыдущего «Ралли».
1.77 Rally With Volume (Оживление с объемом)
СИНТАКСИС rallywithvol()
ФУНКЦИЯ Возвращает "+1", если индицируется «Ралли-объем». В противном слу-чае возвращается "0". Признаки «Ралли-объем»: текущий максимум больше максимума предыдушего «Ралли», à текущий минимум больше или равен минимуму предыдущего «Ралли». Текущий объем должен быть больше, чем объем предыдущего «Ралли-объем».
1.78 Rate of Change (Степень изменения)
СИНТАКСИС roc( DATA ARRAY, PERIODS, DIFF_METHOD)
ФУНКЦИЯ Возвращает значения «Rate-of-change» массива данных (DATA ARRAY ) с периодом (PERIODS) выраженных в относительных или абсолютных величинах (DIFF_METHOD). Можно использовать (DIFF_METHOD): проценты (PERCENT) или абсолютные значения (POINTS) (сокращенно %, $).
ПРИМЕР Формула roc( CLOSE, 12, PERCENT ) возвращает степень изменения цен закрытия выраженную в процентах с 12-дневным периодом.
1.79 Reaction (Реакция)
СИНТАКСИС reaction()
ФУНКЦИЯ Возвращает "+1", если индицируется «Реакция». В противном случае, возвра-щается "0". Признаки «Реакции»: текущий максимум меньше или равен макси-муму предыдущей «Реакции» и текущий минимум меньше, чем минимум предыдущей «Реакции».


1.80 Reaction With Volume (Реакция с объемом)
СИНТАКСИС reactionwithvol()
ФУНКЦИЯ Возвращает "+1", если индицируется «Реакция». В противном случае, возвра-щается "0". Признаки «Реакции»: текущий максимум меньше или равен макси-муму предыдущей «Реакции» и текущий минимум меньше, чем минимум предыдущей «Реакции». Текущий объем должен быть больше, чем объем предыдущей «Реакции».
1.81 Reference (Ссылка)
СИНТАКСИС ref( DATA ARRAY, PERIODS )
ФУНКЦИЯ Ссылается на предыдущий или последующий элемент массива данных (DA-TA ARRAY). При положительном значении параметра PERIOD возвращается значение элемента отстоящего на "n" периодов вперед; при отрицательном значении на "n" периодов назад.
ПРИМЕР Формула "ref( CLOSE, -12 )" возвращает цену закрытия 12 дней назад. Таким способом можно рассчитать 12-дневное изменение цены закрытия, выраженное в абсолютных величинах: "C - ref( C, -12 )." Формула"ref( C, +12 )" возвращает цену закрытия на 12 дней вперед.
1.82 Relative Strength Index (RSI) (Индекс относительной силы)
СИНТАКСИС rsi( PERIODS )
ФУНКЦИЯ Рассчитывает встроенный «RSI indicator».
ПРИМЕР rsi( 14 )
1.83 Round (Округление)
СИНТАКСИС round( DATA ARRAY )
ФУНКЦИЯ Округляет значение массива (DATA ARRAY) до ближайшего целого числа.
ПРИМЕР Формула"round( +10.5 )" возвращает +11. Формула"round( -10.4 )" возвращает -10.
СМ. ТАКЖЕ Функции ceiling(), the floor(), the int() .
1.84 Selling Pressure (Напряжение прожажи)
СИНТАКСИС sellp()
ФУНКЦИЯ Рассчитывает компонент давления продажи индекса Потребности (Demand Index). Напряжение продажи измеряетт величину объема, связанного с продажей.
1.85 Sine (Синус)
СИНТАКСИС sin( DATA ARRAY )
ФУНКЦИЯ Возвращает значение синуса числа (DATA ARRAY). Эта функция требует, чтобы параметр был выражен в градусах.
ПРИМЕР Вы можете отобразить синусоиду при помощи формулы sin(cum(5)). Увеличение значения параметра в этой формуле т.е. числа 5, приведет к увеличению частоты синусоиды.
СМ. ТАКЖЕ Функции атаn(), cos(),
1.86 Square Root (Квадратный корень)
СИНТАКСИС sqrt( DATA ARRAY )
ФУНКЦИЯ Возвращает квадратный корень данных массива (DATA ARRAY). Если значение массива отрицательное число, возвращается 0.
ПРИМЕР Формула sqrt( 16 ) возвращает 4.
СМ. ТАКЖЕ Примеры по Стандартной девиации (Standard Deviation).
1.87 Standard Deviation (Стандартное отклонение)
СИНТАКСИС stdev( DATA ARRAY, PERIODS )
ФУНКЦИЯ Рассчитывает встроенный Standard Deviation indicator.
ПРИМЕР stdev( CLOSE, 21 )
1.88 Stochastic Oscillator (Стохастический осциллятор)
СИНТАКСИС stoch( %K PERIODS, %K SLOWING )
ФУНКЦИЯ Рассчитывает встроенный «Stochastic Oscillator».
ПРИМЕР Формула"stoch( 5, 3 )" возвращает значение индикатора с 5-дневным %K и замедлением на 3 дня.
СМ. ТАКЖЕ Примеры по данному осциллятору (Stochastic Oscillator).
1.89 Subtraction (Вычитание)
СИНТАКСИС sub( DATA ARRAY, DATA ARRAY )
ФУНКЦИЯ Рассчитывает разницу между первым и вторым параметрами.
ПРИМЕР Формула sub( 10, 2 ) возвращает восемь. Иначе эта разница формула может быть выражена как "10 - 2."
СМ. ТАКЖЕ Функцию add().
1.90 Summation (Кумулятивная сумма)
СИНТАКСИС sum( DATA ARRAY, PERIODS )
ФУНКЦИЯ Рассчитывает кумулятивную сумму значений массива (DATA ARRAY) за определенный период (PERIOD), включая текущий день.
ПРИМЕР Формула sum( CLOSE, 12 ) возвращает сумму цен закрытия за12 предшествующих торговых дней. Простая скользящая средняя с периодом 12 может быть выражена как sum(C,12)/12.
СМ. ТАКЖЕ Функцию cum().
1.91 Swing Index (Индекс размаха)
СИНТАКСИС swing( LIMIT MOVE )
ФУНКЦИЯ Рассчитывает встроенный "Swing Index". Для расчета индекса необходимо иметь цены открытия.
ПРИМЕР swing( 3.0 )
СМ. ТАКЖЕ функцию aswing() (Accumulation Swing Index).
1.92 Theta (Тета)
СИНТАКСИС theta( TYPE, DATE, PRICE, INTEREST, DIVIDEND )
ФУНКЦИЯ Рассчитывает встроенный индикатор "Theta". См. функцию option() (Put/Call Price) где описываются параметры, используемые в функции theta().
ПРИМЕР theta( EC, 941220, 125, 7.50, 4.75 )
СМ. ТАКЖЕ Функции delta(), gamma(), life(), option(), vega(), volo() (Delta, Gamma, Option Life, Put/Call Price, Vega, Volatility, Option).
1.93 Time Series Forecast (Временно-серийный прогноз)
СИНТАКСИС tsf( DATA ARRAY, PERIODS )
ФУНКЦИЯ Рассчитывает встроенный индикатор "Time Series Forecast" с периодом "PE-RIODS" массива данных (DATA ARRAY).
ПРИМЕР Формула tsf( CLOSE, 10 ) возвращает значения индикатора "Time Series Forecast" с для цен закрытия с периодом 10.
СМ. ТАКЖЕ The correl() function (see Correlation Analysis).
1.94 Trade Volume Index (Индекс торгового объема)
СИНТАКСИС tvi( MINIMUM TICK )
ФУНКЦИЯ Рассчитывает встроенный "Trade Volume Index".
ПРИМЕР tvi( 0.125 )
СМ. ТАКЖЕ Функцию obv() (On Balance Volume) .
1.95 TRIX (Трикс)
СИНТАКСИС trix( PERIODS )
ФУНКЦИЯ Рассчитывает встроенный индикатор "TRIX".
ПРИМЕР trix( 12 )
1.96 Trough (Донышко)
СИНТАКСИС trough( Nth, DATA ARRAY, % MINIMUM CHANGE )
ФУНКЦИЯ Возвращает значение массива данных (DATA ARRAY) для "донышка" отстоящего на определенное "Nth" число донышек назад. Это используется в функции "Zig Zag" (см.) для идентификации "донышек". При N=1 возвращается значение самого ближайшего дон-ышка, при N=2 значение второго из близлежащих донышек и т.д
ПРИМЕР trough( 1,close,5 )
1.97 Trough Bars Ago (Число баров до Донышка)
СИНТАКСИС troughbars( Nth, DATA ARRAY, % MINIMUM CHANGE)
ФУНКЦИЯ Возвращает число баров (дней , недель и т.д) до N-го "Nth" донышка. Это использу-ется в функции "Zig Zag" (см.). При Nth=1 возвращается число баров прошедших с мо-мента индикации последнего близлежащего донышка. При Nth=2 возвращается число баров прошедших с момента индикации предпоследнего близлежащего донышка и т.
ПРИМЕР troughbars(1,close,5)
1.98 Typical Price (Типичная цена)
СИНТАКСИС typical()
ФУНКЦИЯ Рассчитывает встроенный индикатор "Typical Price".
1.99 Ultimate Oscillator (Осциллятор предела)
СИНТАКСИС ult( CYCLE1, CYCLE2, CYCLE3 )
ФУНКЦИЯ Рассчитывает встроенный индикатор "Ultimate Oscillator". В качестве параметров используются циклы (CYCLE) различной продолжительности. (Соответственно короткий, средний и длинный). Заметим, что значение каждого последующего цикла должно быть больше предыдущего, в противном случае появляется сообщение об ошибке. (Например, функция ult( 5, 5, 5) некорректна).
ПРИМЕР Формула ult( 7, 14, 21 ) возвращает значение "Ultimate Oscillator"по умолчанию.
1.100 Variance (Вариация)
СИНТАКСИС var( DATA ARRAY, PERIODS )
ФУНКЦИЯ Рассчитывает значение статистической вариации данных массива (DATA ARRAY), за специфицированный период (PERIOD).
СМ. ТАКЖЕ Функцию stdev(), (Standard Deviation) и примеры по "Standard Deviation".

1.101 Vega (Вега)
СИНТАКСИС vega( TYPE, DATE, PRICE, INTEREST, DIVIDEND )
ФУНКЦИЯ Рассчитывает встроенный индикатор "Vega". См. функцию option(), (Put/Call Pri-ce), где описываются параметры, используемые в функции vega().
ПРИМЕР vega( EC, 941220, 125, 7.50, 4.75 )
СМ. ТАКЖЕ Функции delta(), gamma(), life(), option(), theta(), volo(). См. Delta, Gamma, Option Life, Put/Call Price, Theta, Volatility, Option.
1.102 Vertical Horizontal Filter (Вертикальный и горизонтальный филтер)
СИНТАКСИС vhf( DATA ARRAY, PERIODS )
ФУНКЦИЯ Рассчитывает встроенный вертикальный и горизонтальный филтер (Vertical Horizontal Filter) для данных массива (DATA ARRAY) за специфицированный период (PERIOD).
1.103 Volatility, Chaikin's (Волатильность Чайкина)
СИНТАКСИС vol( MA PERIODS, ROC PERIODS )
ФУНКЦИЯ Рассчитывает встроенный "Chaikin's Volatility indicator".
ПРИМЕР vol( 10, 10 )
1.104 Volatility, Option (Волатильность, Опцион)
СИНТАКСИС volo()
ФУНКЦИЯ Рассчитывает встроенный индикатор "Option, Volatility".
ПРИМЕР volo()
СМ. ТАКЖЕ Функции delta(), gamma(), life(), option(), theta(), vega(). См. Delta, Gamma, Option Life, Put/Call Price, Theta, Vega.
1.105 Volume Oscillator (Осциллятор Объема)
СИНТАКСИС oscv( PERIODS, PERIODS, MA_METHOD, DIFF_METHOD)
ФУНКЦИЯ Рассчитывает the PERIODS/PERIODS predefined Volume Oscillator indicator cal-culated using the MA_METHOD moving average method expressed in DIFF_METHOD. Valid MA_METHODs are SIMPLE, EXPONENTIAL, WEIGHTED, TIMESERIES, TRIANGULAR, and VARIABLE (these can be abbre-viated as S, E, W, T, TRI, and VAR). Valid DIFF_METHODs are PERCENT and POINTS (these can be abbreviated as % and $
ПРИМЕР oscv( 1, 25, SIMPLE, $ )
СМ. ТАКЖЕ Функцию oscp(). См. "Price Oscillator".
1.106 Weighted Close (Взвешенная цена закрытия)
СИНТАКСИС wc()
ФУНКЦИЯ Рассчитывает встроенный индикатор "Weighted Close".
1.107 Williams' A/D (Аккумуляция/Дистрибуция Уилльямса)
СИНТАКСИС willa()
ФУНКЦИЯ Рассчитывает встроенный "Williams A/D indicator".
1.108 Williams' %R (Процентное отношение Уилльямса)
СИНТАКСИС willr( %R PERIODS )
ФУНКЦИЯ Рассчитывает встроенный "Williams' %R indicator".
ПРИМЕР willr( 14 )

1.109 Year (Год)
СИНТАКСИС year()
ФУНКЦИЯ Возвращает год. Если на панели было выведено 10/15/94, функция вернет "94."
1.110 Zig Zag (Зигзаг)
СИНТАКСИС zig( DATA ARRAY, MINIMUM CHANGE, DIFF_METHOD )
ФУНКЦИЯ Рассчитывает значения индикатора "Zig Zag" для массива данных (DATA ARRAY) со значением минимальных изменений (MINIMUM CHANGE) методом (DIFF_ME-THOD). Существуют методы (DIFF_METHOD): процентный (PERCENT) и абсо-лютных значений (POINTS). Сокращенно % и $.
ПРИМЕР zig( CLOSE, 5, PERCENT )
Мы так малы в масштабах рынка - что нами можно пренебречь;)




Посетителей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных пользователей

Рейтинг брокеров форекс: кто лидер, кто аутсайдер и почему?




Masterforex-V NordFX

Rambler's Top100

Принимаем Z-Payment