Логотип Парус Инвестора
Парусник
Цена деления цифровой шкалы
Системы и стратегии

Учебник по языку программирования Easy Language
Запись Индикаторов OptionStation

Индикатор - математическая формула, которая возвращает значение. Эти значения отображается или в таблице, подобной окну Position Analysis OptionStation, или в графике движения цен. Этот раздел дает сначала первые понятия, необходимые для написания индикаторов для окна Position Analysis, а затем обсуждает запись индикаторов для графиков движения цен.

В окне Position Analysis, показанном на рисунке 5-3, Вы имеете в наличии три раздела для анализа: раздел Assets, раздел Options и раздел Positions.

Раздел Assets относится к основному активу (или активам), используемому как основной для окна анализа, раздел Options включает информацию относительно всех опций, доступных в GlobalServer для актива(ов), и раздел Positions включает всю информацию о любой позиции(ях), добавленной в окно Position Analysis. Вы можете записать индикаторы, использующие данные от любого из трех разделов, чтобы вычислить и отобразить традиционную информацию.



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

Однако если Вы применяете индикатор, ссылающийся на информацию позиции в разделах Assets или Options окна Position Analysis, то Вы получите нулевые значения. Вы не можете ссылаться на информацию о позициях из разделов Assets и Options. Из-за характера природы окна Position Analysis, такая ссылка не имеет никакого аналитического значения; поэтому, OptionStation не позволяет это делать.

Следующий раздел описывает зарезервированные слова, обычно используемые при создании индикаторов.


Графические Инструкции

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


PlotNum(Expression, "PlotName", ForeColor, BackColor)

Значения, следующие из математических вычислений или выражения, отображаются на графике движения цен или в таблице. Для графиков движения цен отображенные значения могут быть только числовыми, тогда как для окна Position Analysis значения могут быть числовыми, true/false или строковыми.


Синтаксис:

PlotNum( Expression [, "" [, ForeColor [, BackColor]]]);

Параметры:

Num - номер между 1 и 4, представляющий один из четырех доступных графиков.

Expression - значение, которое будет составлять график, а - название графика.

ForeColor - цвет EasyLanguage, который будет использоваться для линий графика.

BackColor - цвет EasyLanguage, который будет использоваться для фона графика.

Параметры Plot Name>, ForeColor и BackColor являются дополнительными (nie. не обязательными).

Для получения списка доступных цветов обратитесь к Приложению B этой книги.


Примечания:

Установка цвета фона не имеет никакого эффекта, когда индикатор применен к графику движения цен.

Есть категория зарезервированных слов по имени Поля Данных (Quote Fields). Эти слова дают возможность Вам обратиться к покадровой информации от datafeed, и позволяют индикаторам, примененным в OptionStation, использовать меньше памяти и быть более эффективным; другими словами, позволяют оптимизировать выполнение индикаторов. Они очень полезны для того, чтобы выполнить анализ на минутных барах и тиках, и ссылаться на информацию текущего дня (например, дневной максимум, минимум, открытие). Для получения информации относительно Полей Данных (Котировок), обратитесь к Главе 2, "Основные элементы EasyLanguage".


Пример:

Любой или несколько дополнительных параметров могут быть опущены, пока нет других параметров справа. Например, параметр Width может быть исключен из инструкции, следующим образом:

Plot1 (Strike of option, "Strike", Black, White);

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


Неправильно:

Plot1 (Strike of option, Black, White, 2);

Правильно:
Plot1 (Strike of option, "Strike", Black, White, 2);

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

Plot1 (Strike of option);

Когда никакое название графика не определено, EasyLanguage назначает Plot1, Plot2, Plot3 или Plot4 в этом ордере, как графические названия для каждого соответствующего графика.

При обращении к цвету символа, цвету фона или ширине, слово Default может использоваться вместо параметра(ов), и в результате мы будем иметь инструкцию Plot, использующую цвет и/или ширину по умолчанию, выбранные на вкладке Properties диалогового окна Format indicator.

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

Plot1(Strike of option, "Strike", Default, Yellow);

Один и тот же самый номер графика (т.е., Plot1, Plot2 и т.д.) может использоваться несколько раз в методике анализа; единственное требование - чтобы Вы использовали то же самое название графика в обоих образцах инструкции Plot. Если никакое название не назначено, то заданное используется заданное по умолчанию название графиков (Plot1, Plot2 и т.д.).

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

Value1 = TheoreticalValue of option - Close of option;
If Value1 > 0 Then
    Plot1 ( Value1, "TValue", Green)
Else
    Plot1 ( Value1, "TValue", Red);

В этом примере название графика "TValue" должно быть одно и то же самое в обоих образцах инструкции Plot.


SetPlotColor(PlotNumber, Color)

Это зарезервированное слово используется, чтобы изменить цвет линии или ее части на отдельном графика, и может использоваться при применении индикаторов к графику движения цен или к окну Position Analysis.


Синтаксис:

SetPlotColor(PlotNumber, Color);

Параметры:

PlotNumber - номер от 1 до 4, представляющий номер графика для изменения.

Color - цвет EasyLanguage, который используется для графика.


Примечания:

Это зарезервированное слово изменяет цвет линий графика; зарезервированное слово, описанное ниже -SetPlotBGColor, изменяет цвет фона графика (используется только с окном Position Analysis).

Для получения списка доступных цветов обратитесь к Приложению B этой книги.


Пример:

Цвет графика может быть изменен на каждой цене; например, если значение индикатора отрицательное, то график может быть отображен красным цветов, а когда значение индикатора положительное, то график может быть отображен зеленым цветом. Следующие инструкции показывают, как изменить цвет индикатора; в данном случае, Индикатора Темпа (Движущей силы):

Plot1(Momentum(Close of asset, 10), "Momentum");
If Plot1 > 0 Then
    SetPlotColor(1, Green)
Else
    SetPlotColor(1, Red);


SetPlotBGColor(PlotNumber, Color)

Это зарезервированное слово используется, чтобы изменить цвет фона ячейки, в которой отображено значение графика. Это зарезервированное слово работает только тогда, когда индикатор применен к окну Position Analysis; оно игнорируется, когда применено к графику движения цен.


Синтаксис:

SetPlotBGColor(PlotNumber, Color);

Параметры:

PlotNumber - номер от 1 до 4, идентифицирующий график для изменения

Color - цвет EasyLanguage, который используется для фона ячейки.


Примечания:

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

Для получения списка доступных цветов обратитесь к Приложению B этой книги.


Пример:

Следующие инструкции окрашивают фон ячейки в красный цвет, когда RSI Индикатор выше 75, и зеленым, когда он ниже 25:

Plot1 (RSI (Close of asset, 9), "RSI") ;
SetPlotBGColor (1, Default);
If RSI (Close of asset, 9) > 75 Then SetPlotBGColor (1, Red);
If RSI (Close of asset, 9) < 25 Then SetPlotBGColor (1, Green);

В этом примере, RSI Индикатор имеет три возможных цвета: красный, когда при значения более чем 75, зеленый, когда - ниже 25, и цвет по умолчанию, когда его значения между 25 и 75. Если бы Вы устанавливали только два цвета, один для значений более чем 75 и второй - менее 25, то оставшаяся область значений между 25 и 75 окрашивалась одним из этих цветов (в зависимости от того, который из них использовался последним). Поэтому Вам необходимо сбросить цвет графика к цвету по умолчанию на каждом баре таким образом, чтобы в красный цвет окрашивалась часть выше 75, а в зеленый - ниже 25. Остальная же часть графика - цвет по умолчанию. В следующем примере мы использовали зарезервированное слово SetPlotBGColor, чтобы сбросить цвет графика к цвету по умолчанию.

Вы можете также установить цвет графика по умолчанию, используя зарезервированное слово PlotNum. Если Вы устанавливаете цвет по умолчанию в инструкции PlotNum, то Вы не должны использовать первую инструкцию SetPlotBGColor (из предыдущего примера); вместо этого ваши команды были бы следующие:

Plot1 (RSI (Close of asset, 9), "RSI", Default, Default) ;
If RSI (Close of asset, 9) > 75 Then
    SetPlotBGColor (1, Red);
If RSI (Close of asset, 9) < 25 Then
    SetPlotBGColor (1, Green);

Запись Индикаторов для SuperCharts SE

Этот раздел охватывает вопросы записи индикаторов для использования с SuperCharts SE и предназначен только для тех, кто приобрел только OptionStation. Пожалуйста прочитайте раздел "Запись Индикаторов OptionStation" и затем переходите к данному разделу.

Если Вы купили ProSuite или TradeStation, то Вам будет доступен TradeStation для ваших графиков и тестирования торговой стратегии, и Вы должны обратиться к главе этой книги "EasyLanguage для TradeStation" для информации относительно записи торговых сигналов, индикаторов и изучений при использования с TradeStation.


Запись Индикаторов

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



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



Для подробной информации относительно форматирования индикаторов, пожалуйста обратитесь к Интерактивному Пользовательскому Справочнику. Также, удостоверьтесь, что Вы понимаете концепцию масштабирования относительно графиков движения цен и индикаторов. Использование различного масштабирования может существенно изменить отображение ваших индикаторов. Для получения информации относительно масштабирования, ищите в Мастере Ответов Интерактивного Пользовательского Руководства "Indicator Formatting".

Вы используете две графические инструкции - PlotNum и SetPlotColor, - чтобы создать индикатор для использования в графике движения цен, поскольку Вы делаете это для использования в окне Position Analysis OptionStation; однако, есть некоторые параметры этих графических инструкций, которые применяются только при работе с графиками движения цен. Поэтому, графические инструкции обсуждаются снова, на сей раз с приоритетом на параметрах и соображениях, которые применяются при работе с графиками движения цен.


PlotNum(Expression, "", ForeColor, BackColor, Width)

На графике движения цен отображаются значения, вытекающие из вычисления или выражения. Для графиков движения цен отображенные значения могут только быть числовыми.


Синтаксис:

PlotNum(Expression[,""[,ForeColor,[BackColor, [,Width]]]]);

Параметры:

Num - номер между 1 и 4, представляющий один из четырех доступных графиков.

Expression - числовое значение, которое будет составлять график, и - название{имя} графика.

PlotName - название графика.

ForeColor - цвет EasyLanguage, который используется для графика.

BackColor определяет цвет фона (используется только с окнами OptionStation Position Analysis и RadarScreen).

Width - числовое значение, представляющее ширину графика.

Параметры PlotName, ForeColor, BackColor и Width являются дополнительными (nie. не обязательными).

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


Примечания:

Параметр BackColor не имеет никакого эффекта при составлении графика индикатора в окне графика движения цен; однако, он требуется, чтобы определить ширину, как обсуждено в примере.


Пример:

Любой или несколько дополнительных параметров могут быть опущены, пока нет других параметров справа. Например, параметры BackColor и Width могут быть исключены из инструкции следующим образом:

Plot1 ( Volume, "V", Black);

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


Неправильно:

Plot1 ( Volume, Black, White, 2);

Правильно:
Plot1 ( Volume, "V", Black, White, 2);

Единственный обязательный параметр для правильной инструкции Plot - значение, которое будет составлять график. Так что следующая инструкция правильная:

Plot1 (Volume) ;

Когда никакое название графика не определено, EasyLanguage будет использовать Plot1, Plot2, Plot3 или Plot4 как названия для каждого графика. Первый график будет называться Plot1, второй Plot2 и т.д.

При обращении к цвету графика или ширине, Вы можете использовать слово Default вместо параметра(ов), чтобы получить инструкцию Plot с использованием цвета и/или ширины по умолчанию, выбранные на вкладке Properties диалогового окна Format indicator.

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

Plot1 ( Volume, "V", Default, Default, 3);

Повторим, Вы можете использовать слово Default для параметров цвета или параметра ширины.

Один и тот же самый график (т.е., Plot1, Plot2) может использоваться не один в методике анализа; единственное требование - чтобы Вы использовали то же самое название графика в обоих образцах инструкции Plot. Если никакое название не назначено, то используется заданное по умолчанию название графика (т.е., Plot1, Plot2).

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

Value1 = Close - Close[1];
If Value1 > 0 Then
    Plot1 ( Value1, "NetChg", Green )
Else
    Plot1 ( Value1, "NetChg", Red );

В этом примере название графика "NetChg" должно быть одинаковым в обоих образцах инструкции Plot.

Обратите внимание: Как только Вы определили график, используя зарезервированное слово PlotNum, Вы можете ссылаться на значение графика, просто используя зарезервированное слово PlotNum. В примере ниже, зарезервированное слово Plot1 используется, чтобы составить график распределения накопления объема. На значение графика ссылаются в следующей инструкции, чтобы записать критерии предупреждения:

Plot1(AccumDist (Volume), "AccumDist");
If Plot1 > Highest (Plot1, 20) then Alert ;


SetPlotColor(Number, Color)

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


Синтаксис:

SetPlotColor(Number, Color);

Параметры:

Number - номер от 1 до 4, представляющий номер графика для изменения.

Color- цвет EasyLanguage, который используется для графика.


Пример:

Следующие инструкции EasyLanguage окрашивают график в красный цвет, когда RSI Индикатор выше 75, и зеленым когда они ниже 25:

Plot1 (RSI (Close, 9), "RSI");
SetPlotColor (1, Default);
    If Plot1 > 75 Then
SetPlotColor (1, Red);
    If Plot1 < 25 Then
SetPlotColor (1, Green);

В этом примере RSI Индикатор имеет три возможных цвета: красный, когда его значение более чем 75, зеленый - менее 25, и цвет по умолчанию, когда между 25 и 75.

Если бы Вы устанавливали только два цвета, один для значений более чем 75 и второй - менее 25, то оставшаяся область значений между 25 и 75 окрашивалась одним из этих цветов (в зависимости от того, который из них использовался последним).

Вы должны сделать так, чтобы сбросить цвет графика к цвету по умолчанию на каждом баре таким образом, чтобы он был красным только при значениях более 75 и зеленым при значениях менее 25. Остальная же его часть - цвет по умолчанию. В следующем примере мы использовали зарезервированное слово SetPlotColor, чтобы сбросить график к цвету по умолчанию.

Вы можете также установить цвет по умолчанию графика, используя зарезервированное слово PlotNum. Если Вы устанавливаете цвет по умолчанию в инструкции PlotNum, то Вы не должны использовать первую инструкцию SetPlotColor (nie. в предыдущем примере); вместо этого ваши команды должны быть следующие:

Plot1 (RSI (Close, 9), "RSI", Default);
If Plot1 > 75 Then
    SetPlotColor (1, Red);
If Plot1 < 25 Then
    SetPlotColor (1, Green);


SetPlotWidth(Number, Width)

Это зарезервированное слово устанавливает ширину указанного графика.


Синтаксис:

SetPlotWidth(Number, Width);

Параметры:

Number - номер от 1 до 4, представляющий номер графика, который надо изменить.

Width - ширина EasyLanguage, которая используется для графика.

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


Пример:

Следующие инструкции EasyLanguage изменяют толщину графика к более толстой линии, когда Индикатор Темпа более 0, и к более тонкой линии, когда он находится под 0:

Plot1 (Momentum (Close, 10), "Momentum");
If Plot1 > 0 Then
    SetPlotWidth (1, 2);
If Plot1 < 0 Then
    SetPlotWidth (1, 6) ;

В этом примере, Индикатор Темпа имеет два возможных размера: более толстый, когда он более 0, и более тонкий, когда он менее 0. Однако в некоторых случаях Вам будет необходимо, чтобы индикатор имел три или больше возможных размера. Пожалуйста обратитесь к примеру для предыдущего зарезервированного слова SetPlotColor для получения информации относительно различных способов использования зарезервированного слова. То же самое касается SetPlotWidth.


Определение Доступности Индикаторов

Когда Вы создаете индикатор в EasyLanguage PowerEditor, Вы запрашиваете определенное приложения (т.е., график движения цен, окно Position Analysis) о доступности вашего индикатора. Под доступным мы подразумеваем, что он будет присутствовать в библиотеке применяемых индикаторов, когда Вы выбираете вставку индикатора в приложение.

Доступность индикатора зависти от комплектации TradeStation, который Вы приобрели. Например, если Вы купили ProSuite по умолчанию, то индикатор будет доступен в диаграммах TradeStation, RadarScreen и всех разделах окна Position Analysis.

Для получения информации относительно определения приложений, для которых ваш индикатор является доступным, осуществите поиск в Мастере Ответов Интерактивного Пользовательского Руководства фразы "Specifying Applications".




Содержание (Contents)
ГЛАВА 1: Введение
Что такое EasyLanguage?
Что Вы можете Создать?
Дополнительные Ресурсы
ГЛАВА 2: Основные Элементы EasyLanguage
Как работает EasyLanguage
О Языке
Ссылка на Ценовые Данные
Выражения и Операторы
Ссылка на Предыдущие Значения
Управление Датами и Временем
Использование Переменных
Использование Констант
Управляющие структуры EasyLanguage
Запись Предупреждений
Понятие Массивов
Понятие Функций Пользователя
Методы Вывода
Текстовый Объект на Ценовых Диаграммах
Trendlines на Ценовых Диаграммах
Понятие Полей Данных
Мультимедиа и EasyLanguage
ГЛАВА 3: EasyLanguage для TradeStation
Запись Торговых Сигналов
Механизм Тестирования Торговой Стратегии
Торговые Приказы
Понятие Встроенных Стопов
Запись Индикаторов и Изучений
Запись ShowMe и PaintBar
Запись ProbabilityMap
Запись ActivityBar
ГЛАВА 4: EasyLanguage для RadarScreen
Запись Индикаторов RadarScreen
Запись Индикаторов для Супердиаграмм SE
Определение Доступности Индикаторов
ГЛАВА 5: EasyLanguage для OptionStation
Анализ данных OptionStation
Чтение Данных OptionStation
Запись Индикаторов OptionStation
Запись Индикаторов для Супердиаграмм SE
Запись Поиска Стратегий
Запись Моделей OptionStation
Глобальные переменные OptionStation
ГЛАВА 6: EasyLanguage и Другие Языки
Определение Функции DLL
Использование Функций DLLs
Дополнительно О EasyLanguage DLL Extension Kit
ПРИЛОЖЕНИЕ 1. Синтаксические ошибки EasyLanguage
61 - 223
224 - 307
308 - 569
ПРИЛОЖЕНИЕ 2. Цвета, Размеры и Коды EasyLanguage




На правах рекламы: