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

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

Многие из методов анализа, встроенных в TradeStation, обеспечивают опцию предоставления аудио/визуального предупреждения. Когда предупреждение вызывается, оно регистрируется в окне Tracking Center, и появляется диалоговое окно, как показано на Рисунке 2-4. В то же самое время запускается звук уведомления.



Диалоговое окно отображает название символа, название методики анализа и рабочей области, в которой предупреждение было вызвано. Кроме того, диалоговое окно имеет поле по имени Additional Info (Дополнительная Информация), которое содержит дополнительную информацию, обеспеченную методикой анализа. Вся эта информация также регистрируется в Tracking Center.

Чтобы включить предупреждение в методику анализа, Вы используете alert инструкции. Описание, включенное в поле Additional Info, написано в инструкции предупреждения EasyLanguage, включенной в процедуру, которая вызвала предупреждение.

Вы можете включить alert инструкции в:

Индикаторы

ShowMe изучения

PaintBar изучения

ActivityBar изучения

ProbabilityMap изучения

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

Очень важно помнить, что предупреждения вызываются только тогда, когда критерии, указанные alert инструкцией выполнены на последнем баре ценовой диаграммы или таблицы. Исторические случаи предупреждений не регистрируются в окне Tracking Center, и при этом диалоговое окно Alert Notification не появляется.

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

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

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

Ниже - связанные с предупреждением зарезервированные слова, которые Вы будете использовать, чтобы включить предупреждения в ваши индикаторы и/или изучения.


Alert

Это зарезервированное слово вызывает предупреждение и дает возможность Вам описать условия, которые вызвали предупреждение.


Синтаксис:

Alert("Description") ;

Description (Описание) - любая определяемая пользователем текстовая строка. Вы используете текстовую строку, чтобы обеспечить информацию о предупреждении: типа рыночных условий, которые вызвали это предупреждение. Эта текстовая строка появится в поле Additional Info диалогового окна Alert Notification (показанной на Рисунке 2-4) и в Tracking Center. Вы можете не давать описания, тогда в поле Additional Info в диалоговом окне Alert Notification и описании предупреждений в Tracking Center будут пробелы.

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

Plot1 (Average (Close, 10), "Avg");

If Close Crosses Over Plot1 Then

Alert ("Price crossed over average");

If Volume > Average(Volume, 10) Then

Alert ("Volume Alert");

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


Cancel

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


Синтаксис:

Cancel Alert

Например, если Вы записываете индикатор с двумя alert критериями, но Вы хотите, чтобы предупреждение вызывалось только после 11:00am, Вы можете использовать следующие инструкции:

If Close Crosses Over Average (Close, 10) Then

Alert ("Average Cross Over");

If Volume > Average (Volume, 10) Then

Alert ("Volume Spike");

If Time <= 1100 Then

            Cancel Alert;

Если предупреждение вызвано любой из инструкций Alert, оно выключается инструкцией Cancel Alert, если это происходит до 11:00am. Если предупреждение вызвано после 11:00am, тогда любая инструкция Alert истинна и выполняется.


CheckAlert

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

Когда предупреждение включено и вызывается на последнем баре на диаграмме (или таблицы), то это зарезервированное слово возвращает значение "ИСТИННО". Это зарезервированное слово возвратит значение "ЛОЖНО" для всех других баров на ценовой диаграмме, и на последнем баре ценовой диаграммы, если предупреждение не включено.

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


Синтаксис:

CheckAlert

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

If CheckAlert Then Begin

Value1 = Volume / Average (Volume, 10);

If Volume >= 2 * Average (Volume, 10) Then

Alert ("Volume is" + Value1 );

End ;

Обратите внимание: Применение CheckAlert в инструкции IF-THEN эффективно для оптимизации вашей методики анализа; однако, даже в том случае, когда последующие инструкции игнорируются, индикатор или изучение все же принимают во внимание следующие инструкции, чтобы определить число баров(MaxBarsBack), необходимых для вычисления индикатора или изучения. Обратитесь к разделу "Аварийные Директивы Компилятора" для получения информации относительно других зарезервированных слов, которые Вы можете использовать, чтобы игнорировать инструкции полностью.


AlertEnabled

Это зарезервированное слово возвращает значение "TRUE", когда предупреждение включено для индикатора или изучения, примененного к ценовой диаграмме или таблице (и FALSE, когда - выключено). Это позволяет Вам оптимизировать индикатор или изучение для увеличения скорости обработки; инструкции после этого зарезервированного слова вычисляются только тогда, когда предупреждение включено.

Различие между этим зарезервированным словом и CheckAlert в том, что AlertEnabled возвращает значение "TRUE" для всех баров, когда предупреждение включено, тогда как CheckAlert возвращает значение "TRUE" только для последнего бара на диаграмме.


Синтаксис:

AlertEnabled

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

If AlertEnabled Then Begin

If Close > Close[1] Then

Value1 = Value1 + Volume

Else

Value1 = Value1 - Volume;

If Value1 > Highest (Value1,50)[1] Then

Alert ("New A/D line high");

End;

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

Обратите внимание: Хотя инструкции, которые следуют за этим зарезервированным словом, иногда игнорируются, индикатор или изучение все еще принимают во внимание инструкции, определяющие количество баров, необходимых для вычисления индикатора или изучения (MaxBarsBack), а также любых серийных функций, рассчитываемых в пределах инструкций. См. раздел "Директивы Компилятора Alert" для получения информации о дополнительных зарезервированных словах, которые Вы можете использовать, чтобы игнорировать инструкции полностью.


Использование Директив Компилятора Alert

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


#BeginAlert

Инструкции между этой директивой компилятора (#BeginAlert) и зарезервированным словом #End вычисляются только тогда, когда предупреждение включено для методики анализа. Вы должны использовать зарезервированное слово #End с этим зарезервированным словом.


Синтаксис:

#BeginAlert;

{EasyLanguage instruction(s) };

#End;

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

Поэтому, чтобы получить график индикатора после десяти баров и игнорировать требование 50 баров, используйте #BeginAlert в вашем индикаторе следующим образом:

Plot1 (Close - Close[10], "Momentum");

#BeginAlert;

If Plot1 Crosses Over 0 AND Volume > Average (V, 50)* 2 Then

    Alert ("Momentum is now positive");

 #End;

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


#BeginCmtryOrAlert

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


Синтаксис:

#BeginCmtryOrAlert;

    {EasyLanguage instruction(s) };

#End;

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

Plot1 (Close - Close[10], "Momentum");

#BeginCmtryOrAlert;

If Plot1 > 0 Then

Commentary ("Momentum is positive, ") 

    Else

Commentary ("Momentum is negative, ");

            If Volume > Average (Volume, 50) Then Begin

    Commentary ("and volume is greater than average.")

    If Volume > Average(Volume, 50) * 2 Then

        Alert;

            End;

            Else

Commentary("and volume is lower than average.");

#End;




Содержание (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




На правах рекламы:
рассчитать стоимость морских перевозок ; квартиры в зеленоградске калининградской области от застройщика