Существует три типа инструментов анализа, которые могут быть созданы с помощью el: Методики, Системы и Функции. Эта глава содержит справочный материал, который поможет вам разобраться со всеми элементами языка



Скачать 80.82 Kb.
Дата10.05.2016
Размер80.82 Kb.

Copyright © KonKop, 2001. http://konkop.narod.ru



Глава1.
Легкий язык. (Understanding Easy Language)
В 1997 году Омега создала Easy Language (EL) – простой английский язык команд, который позволяет вам, не будучи профессиональным программистом, довольно успешно создавать свои правила функционирования своих же методик или систем, применяемых в TradeStation. В EL вошли многие термины, используемые на биржах. Ваши идеи, записанные в EL, переводятся затем на машинный язык, понимаемый компьютером. Это позволяет записывать ваши идеи на языке, понимаемом другими участниками торгов.
Существует три типа инструментов анализа, которые могут быть созданы с помощью EL: Методики, Системы и Функции. Эта глава содержит справочный материал, который поможет вам разобраться со всеми элементами языка.
Методики осуществляют вычисления в соответствии с определенными правилами, записанными в EL и выводят результаты на экран в виде рисунка. Эти рисунки могут сравниваться с ценовыми данными или с другими рисунками, если те имеются. Существует три типа методик: Индикатор, ShowMe (покажи мне) и PaintBar (раскрась бар). Все они очень похожи по способу создания.
Системы также имеют ряд правил, записанных в EL, но они выполняют другую функцию. Системы располагают команды покупки, продажи и выхода из позиций на экране компьютера, когда выполняются условия написанные пользователем Системы. Когда команда выполнена и позиция открыта, эта позиция может быть изучена с точки зрения дохода или потерь. Эта функция доступна лишь в Системах.
Функцию можно рассматривать как сокращенный список. Если пользователь имеет набор правил, которые он хочет часто использовать, их можно записать в рамках Функции. Это экономит время и делает другие инструменты анализа более понимаемыми.
Как любой язык, EL имеет набор основных компонентов, которые составляют его основу. Это – слова, знаки или методы, используемые для составления выражений. Эти компоненты должны быть организованы и построены определенным образом, чтобы составлять правильные предложения и выражения. Организованные модели или структуры языка называются синтаксисом. Если синтаксис выражения некорректен, компьютер не сможет воспринять его. Когда компоненты EL используются синтаксически корректно, виртуально вы можете создать любую торговую систему.
Один из основных компонентов EL это Функция. Многие функции были написаны Омегой для удобства пользователя, тем не менее, пользователь может написать свои собственные функции. Тогда, все что следует сделать, это найти и добавить нужную функцию во время написания своей методики, системы или другой функции. Функции, которые уже включены в TradeStation, рассмотрены детально в этой же главе книги.
В конце концов, самое главное – написать законченное выражение в EL. Поэтому сначала мы разберемся, как из различных компонентов языка составлять эти выражения. Затем мы обсудим, как превращать эти отдельные выражения в готовые команды. Если пользователь в состоянии писать команды, ему не трудно будет превратить свои идеи в Методики или Системы, которые поймет TradeStation.
Следующие темы:

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

Способность сравнивать различные компоненты очень важна, т.к. это позволяет вам записывать цены, значения и т.д. в EL выражениях. Это позволяет пользователю сравнивать, например, сегодняшнее значение цены открытия со вчерашним, или сегодняшний объем со вчерашним, или минимум текущего бара с наименьшим значением минимума за последние 10 баров и т.д.

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

Элементы необходимые для выполнения всех этих функций, называются операторами. Оператор – это связующее звено между словами или числами. Сами операторы могут быть словами или символами (+,-,*,>,<, Or, And). Мы называем эти связующие звенья «операторами» потому что они выражают математические, относительные или логические операции.


Выполнение основных математических действий. (математические операторы)
Математические операторы (+, -, *, /) выполняют четыре основных математических действия – сложение, вычитание, умножение и деление. Никакие другие слова или специальные знаки не нужны для выполнения этих действий. Математические операторы – необходимый инструмент при построении выражений EL.

Например, при определении размера бара можно использовать математический оператор (-).


High – Low;
Сравнение цен, значений и других элементов. (относительные операторы)
Специальные символы, необходимые для сравнения двух элементов – это: больше, меньше, равно, больше или равно, меньше или равно и не равно.

Дополнительно, в TradeStation есть еще два оператора: Crosses Over и Crosses Below. Эти два оператора очень удобны, когда необходимо определить, какой элемент выше, а какой ниже относительно определенной точки.



Оператор Значение

< Меньше

<= Меньше или равно

> Больше

>= Больше или равно

= Равно

<> Не равно

crosses over/above Больше на текущем баре, но меньше чем на предыдущем

crosses under/below Меньше на текущем баре, но больше на предыдущем
Эти специальные символы обычно выражают отношения между ценами.
Выражение Описание

H<H[1]+1 point High текущего бара меньше чем high предыдущего плюс 1 пункт.

L[0] <= L[1] Low текущего бара меньше или равно low предыдущего бара
C > C[3] Close текущего бара больше чем close три бара назад.

C >= Close[3] Close текущего бара больше или равно close три бара назад.

H <> H[1] High текущего бара не равно high предыдущего бара.

O crosses above C[1] Open текущего бара превысило close предыдущего бара.
Объединение двух или более выражений. (логические операторы)
Существует два специальных слова, которые соединяют 2 или более выражений

And и Or.
And объединяет серию простых выражений в сложное выражение. Требования к этому сложному выражению более строгие (т.е. более трудно достичь с его помощью желаемого результата), чем к отдельным простым выражениям по обе стороны от And. Когда вы используете And, выражения по обеим сторонам этого слова должны быть верными, чтобы все выражение оказалось верным, а если одно из этих простых выражений неверно, но неверным будет все сложное выражение.

На примере ниже пользователь хочет определить, когда объем будет в рамках определенных значений. Объем должен быть больше 13.000 и меньше 23.000 для того, чтобы рассматривать выражение как верное. Если одно из двух условий не выполняется, все выражение рассматривается как неверное.


Volume > 13000 and Volume < 23000

Оператор Or так же соединяет серию простых выражений в сложное. Тем не менее, Or, в отличие от And, делает целое сложное выражение менее строгим (т.е. легче достичь желаемого результата). Когда вы используете Or, любое из выражений по обеим сторонам этого оператора может быть верным, чтобы целое сложное выражение было верным. Чтобы сложное выражение, объединенное Or, считалось неверным, оба простых выражения должны быть неверными.

На примере ниже, если Close текущего бара больше Close предыдущего бара, или Open текущего бара меньше Open предыдущего бара, целое сложное выражение будет верным. Но, если оба простых выражения будут неверными, сложное выражение также будет неверным.

Close > Close[1] or Open < Open[1]



Иерархия операторов.

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

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


  • Скобки

  • Умножение и деление

  • Сложение и вычитание

  • <, >, =, <=,>=, <>

  • And

  • Or


Использование скобок.
Следующие примеры помогут проиллюстрировать порядок следования операций. Этот порядок может быть изменен с помощью скобок. Операции в скобках выполняются в первую очередь. Внутри скобок действует обычный порядок. Например, выражение 8 – (3 – 2) понимается как: 3 – 2 = 1, затем 8 – 1 = 7.

Например, выражение



If the close of today - (close of 3 bars ago - open of 3 bars ago)...

Вычисляется, как выражение



Close of 3 bars ago - open of 3 bars ago = X; If the close[0] - X...
Когда скобок несколько, вычисления начинаются с внутренних скобок.

Выражение 4 * (2 * (3+4))...вычисляется как 3 + 4 = 7 , затем 2 * 7 = 14 , затем 4 * 14 = 56.


Выражение

Close of today + 0.75 * (close of 3 bars ago - close of 2 bars ago)...

… вычисляется как:



Close 3 бара назад - close два бара назад = X

Затем, 0.75 * X = Y

Наконец, close[0] + Y дает результат Z.
Закрепление материала:
Что есть результат выражения 4 + 5 * 6 ? Это 4 + 5 = 9 , затем 9 * 6 = 54 ?

Нет, это неверно. Помните, что умножение предшествует (в иерархии) сложению. Следовательно, результат считается так: 5 * 6 = 30, затем 30 + 4 = 34.

Можно ли те же цифры записать так, чтобы, используя те же операторы, получить результат 54? Конечно. Просто, добавьте скобки: (4 + 5) * 6 = 54.

Теперь представим, что сегодняшний Open был 250.00, а вчерашний Close – 240.00. Будет ли какая-нибудь разница между выражениями 1 и 2?



1. Open of today + Close of yesterday /2

2. (Open of today + Close of yesterday)/2

Помните, что деление предшествует сложению. Значит, выражение 1 означает :250.00 + 120.00 = 370.00

Тем не менее, скобки предшествуют даже делению, значит выражение 2 означает: 490.00 / 2 = 245.00.

Между цифрами 370 и 245 много долларов!


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

Например, рассмотрим следующее выражение:

X = A + B * C

В математике умножение предшествует сложению. Поэтому, чтобы найти Х, умножьте В на С, затем к результату прибавьте А.

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

X = (A + B) * C

В этом случае, сначала сложите А и В, затем сумму умножьте на С. Одинаков ли результат в обеих случаях? Присвоим переменным значения: А = 1, В = 2, С = 3.

В первом примере 2 * 3 = 6 и 1 + 6 = 7. Во втором 1 + 2 = 3 и 3 * 3 = 9.

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

В TradeStation не могут употребляться оба слова And и Or, если они не разделены скобками. В следующем примере оба выражения имеют правильный синтаксис, но результаты разные.


(4 > 5 and 3 > 7) or 1< 3 True statement (верно)

4 > 5 and (3 > 7 or 1 < 3) False statement (неверно)
Сложные выражения, содержащие And и Or операторы, трудны для понимания и корректировки. Используйте приведенную ниже логическую таблицу в качестве руководства:
выражение1 оператор выражение2 результат
TRUE AND TRUE TRUE

TRUE AND FALSE FALSE


FALSE AND TRUE FALSE

FALSE AND FALSE FALSE

TRUE OR TRUE TRUE

TRUE OR FALSE TRUE

FALSE OR TRUE TRUE

FALSE OR FALSE FALSE
(True – верно, False – неверно).
Таким образом, использование And уменьшает шансы на получение верного результата, потому что оба условия (или все условия) должны быть верными в этом случае.

5 < 10 and 60 > 50

Использование Or, в свою очередь, увеличивает эту возможность, т.к. только одно условие может быть верным:



5 < 10 or 60 > 50
Помните, что во избежание путаницы, в TradeStation, команда не должна содержать оба слова And и Or, если они не разделены скобками.
Конец 1 главы.


База данных защищена авторским правом ©bezogr.ru 2016
обратиться к администрации

    Главная страница