Plot1(Value1, “Highest”); Plot2(Value2, “Lowest”); Plot3(Value3, “Average1”); Plot4(Value4, “Average2”); Одно из слов, которые пользователь может начинать использовать после работы с EasyLanguge некоторое время – слово “флаг”. Флаг относится к передаче сигналов, что специфическое действие должно иметь место. В случае тревог, пользователь должен “флаг” индикатор, что другое действие должно быть принято. Чтобы делать это, программа использует запасное слово, CheckAlert. В Легкой структуре Языка, ЕСЛИ / ТОГДА синтаксис тогда используется: If CheckAlert then … Это просто означает, что, если пользователь хочет проверить для тревоги, начните делать так на следующем. Единственный значение TradeStation потребности теперь – критерии для тревоги. Предположите, что пользователь хочет быть приведенным в готовность, если Plot3 пересекается выше Plot4. Если значение тех пересечений plot выше другой, TradeStation приведет в готовность пользователя к тому факту. Эквивалентное правило – ” или пересечения Plot4 ниже Plot3. ” If Plot3 crosses above Plot4 or Plot4 crosses below Plot3 После определения правил, который является “ЕСЛИ” доля утверждения , Вы должны определить “ТОГДА” долю, который – действие, которое должно быть принято. Так в этом пункте(точке), аварийный текст следующие: If CheckAlert then if Plot3 crosses above Plot4 or Plot4 crosses below Plot3 then … Что должно случиться, если критерии выполнены? TradeStation должен привести в готовность пользователя. Так, после “Тогда” пишут слову “Тревогу”. Если любое из тех правил истинно, тревога будет встречена(выполнена); поэтому, тревога = истинный. Пишите этому тот путь в аварийном тексте: If CheckAlert then if Plot3 crosses above Plot4 or Plot4 crosses below Plot3 then Alert = True; Поэтому, полный индикатор с тревогой появился бы как: Value1=Highest(High,20); Value2=Lowest(Low,10); Value3=Average(Close,14)[2]; Value4=Average(Close,10); Plot1(Value1, “Highest”); Plot2(Value2, “Lowest”); Plot3(Value3, “Average1”); Plot4(Value4, “Average2”); If CheckAlert then if Plot3 crosses above Plot4 or Plot4 crosses below Plot3 Then Alert = True; Как только тревога вызвалась в соответствии с критериями, который был написан, диалог Внимания будет появляться, уведомление тревоги наряду с слышимым тоном. НАПИСАНИЕ ФУНКЦИИ Первый шаг в письменной форме функция останавливается на имени для новой функции. Это имя – то, что будет использоваться в любом изучении или системе, которая ссылается на функцию. Это должно поэтому быть имя, которое будет как представитель насколько возможно действия, функция должна брать (имя функции должно быть меньше чем 20 символов в длине и не содержать никакие места). Второй шаг – функция непосредственно. Предположите, что пользователь желает писать функцию, которая берет среднее число с 10 бар ами RSI с 14 бар ами и добавляет что к Range бары * 0.5. Имя Назначение Уравнение MYRSICALC = Average(RSI(Close,14),10)+(RANGE * 0.5); Это – все, что имеется к этому. Теперь, любое время, пользователь желает использовать эту формулировку в одном из его или ее studies или систем, все, они должно дела& – включают эту функцию где-нибудь в систему / dизучаете, где то вычисление должно быть выполнено. Вы можете изменятьвышеупомянутый пример так, чтобы inputs были названы вместо одного номера каждый раз. Следующее был бы результат: Inputs: Price1(NumericSeries), Length1(Numeric), Length2(Numeric); Name Assignment Equation MYRSICALC = Average(RSI(Price1,Length1),Length2)+(Range*0.5); Как может быть замечен, имеется одно главное различие между этим inputsом и inputsом в занятиях(изучениях) или системах. В функциях, пользователь должен определить категорию inputs, не значение неплатежа inputs. Другими словами, определите тип inputs, это, ли Числовой (20), NumericSimple (цена без приложенной длины), NumericSeries (цена с приложенной длиной), или TrueFalse категорией. Пока пользователь понимает, в которую категорию функция падает, не должно иметься никакой проблемы в назначении этого. ПОНИМАНИЕ ЛЕГКОГО ЯЗЫКА В 1987, Omega Исследование развивал EasyLanguage, очевидный Английский язык команды, который обеспечивает пользователей без знания программирования гибкостью и мощностью брать их собственные идеи и направлять их в studies или системы, которые могли бы применяться в пределах TradeStation. EasyLangugeвключил многие из сроков(условий), используемых в наличии и товара. Идеи, когда написано в EasyLanguage, тогда переведены в язык машины(механизма), который может признаваться компьютером. Это позволяет пользователям писать их идеи также, как они описали бы их другому торговцу. Имеются три основных типа методов анализа, которые могут быть построены, используя EasyLanguage: Studies, Системы, и Функции. Эта глава будет служить как рекомендация, охватывая все элементы языка. Studies исполняют вычисление, основанное на некотором наборе письменных правил, используя EasyLangugeи готовят результаты на экране. Эти plotы могут тогда быть сравнены с данными или к друг другу, если больше чем один plot используются. Имеются три типа изучения: Индикатор, ShowMe, и Studies PaintBar, и они – все очень подобные в пути, которым они построены. Системы также имеют набор письменных правил, используя EasyLanguage, но они исполняют различную функцию. Ситемы делают buy, sell, и заказы exitа относительно экрана компьютера, когда правила пользовательской Системы были выполнены. Когдаордер размещается, положение(позиция) открыто. То положение(позиция) может тогда быть проверено для информации прибылей и убытков. Эта особенность только доступна с системами. О функциях можно думать как сокращенный array. Если пользователь имеет некоторый набор правил, что он или она хотела бы использовать часто, они могут быть написаны внутри функции. Та функция может тогда быть названа, используя единственное(отдельное) слово, внутри любого изучения, системы, или даже другой функцией. Это экономит(спасает) время и также делает другие методы анализа более легкими, чтобы понять. Подобно любому языку, EasyLangugeимеет набор основных компонентов, которые сделают ядро из языка. Компоненты – слова, символы, или методы имели обыкновение строить утверждения . Эти компоненты должны быть организованы и структурированы правильно, чтобы создать имеющие силу предложения или утверждения . Организованная модель или структура языка названа синтаксисом. Если утверждение(заявление) не имеет правильного синтаксиса, компьютер будет неспособен признать это как имеющий силу. Когда компоненты Легкого Языка используются в надлежащем синтаксисе, фактически любая торговая стратегия может быть написана. Один из главных компонентов Легкого Языка – функция. Много функций были написаны Исследованием Omega, Inc. для удобства пользователя; однако, пользователь может писать его или ее собственные функции. Тогда, все, что пользователи должны делать, должно сослаться на функцию при письме их собственных studies, систем, или других функций. Функции, которые уже включены с TradeStation, закрыты(охвачены) в дальнейшей детали позже в этой главе. В конечном счете, цель будет состоять в том, чтобы писать полные утверждения , использующие EasyLanguage. Мы будем сначала смотреть, как поместить различные компоненты языка вместе, чтобы формировать различные выражения. Тогда мы обсудим, как направить эти выражения в утверждения . Как только пользователь способен писать утверждения , его, или она будет иметь небольшую трудность, направляющую идеи в studies или системы, которые TradeStation может читать и признавать. Следующие темы: Направляющие Компоненты В Выражения Этот раздел сосредоточится на клее, который скрепляет индивидуальные компоненты, имел обыкновение делать имеющее силу выражение. Каждый компонент языка будет охвачен позже в этой главе. Способность, чтобы сравнить один значение с другого, важен, потому что это кажется ценовым, значения, и т.д., в выражения EasyLanguage. Это позволяет пользователям сравниваться сегодняшний open со вчерашним open, или сегодняшним volume со вчерашним volume, или low из текущей бары с low из последних 10 бар . При взятии этого один шаг далее, пользователь может хотеть знать, является ли сегодняшний open больший чем вчерашний open, или если low из текущей бары был самый low Low для последних 10 бар . EasyLangugeможет исполнять простые математические вычисления на ценах или стоимостях(значениях). Это может также делать, и множественные сравнения и взаимно исключительными сравнениями. Например, пользователь может хотеть знать, являются ли открытое и завершение текущей бары большее чем открытое и завершение предыдущей бары. В другом примере, пользователь мог бы хотеть знать, является ли открытое или завершение текущей бары большее чем открытое или завершение предыдущей бары.
Элементы, необходимые исполнять все эти функции названы операторами. Оператор – связь между словами или номерами. Операторы могут самостоятельно быть или слова (и, или) или символы (+ – * / > Выполнение Основной Математики
Математические операторы (+ – * / > Например, чтобы определить Range бары, математический оператор (-) использовался бы, следующим образом: High – Low Имеются четыре доступных математических оператора: ОПЕРАТОР ЗНАЧЕНИЕ + Суммирование – Вычитание * Умножение / Деление Цены Сравнения, Значения, и Другие Элементы Специальные символы, необходимые делать сравнение между одним пунктом(значение м) и другим большие чем, меньше чем, равняются, больший чем или равняются, меньше чем или равняются, и не равняются. TradeStation добавляет два других операторов: пересечения и пересечения под к этому списку. Эти два оператора – чрезвычайно удобный shortcuts, которые являются выгодными при попытке идентифицировать крест или крест под между двумя отдельными пунктами(изделиями). Эти специальные символы включают: ОПЕРАТОР ЗНАЧЕНИЕ < Меньше чем < = Меньше чем или равный к > Больший чем > = Больший чем или равный к = Равный к < > Не равный к Пересечения по / выше Больший чем на текущей бар е но меньше чем или равный на предыдущей бар е Пересечения под / ниже Меньше чем на текущей бар е но больший чем или равный на предыдущей бар е Эти специальные символы типично описывают отношения между ценами. Пересечения и пересечения под / ниже зависят от условия предыдущий день не являющийся истинным. ВЫРАЖЕНИЯ ОПИСАНИЕ H < H[1] + 1 point High текущей бары меньше чем High предыдущей бары плюс один пункт(точка)
L[0] C> C [3] Close текущей бары большее чем завершение трех бар назад C> = Close [3] Close текущей бары большее чем или равный завершению трех бар назад H < > [H] 1 High текущей бары, не равной High предыдущей бары O crosses above C[1] Open из текущих пересечений бары выше завершения предыдущей бары Объединение Двух или больше Выражений Имеются два специальных слова, имел обыкновение связывать два или больше сравнения. И Или И объединяет ряд выражений с относительным типом в составное выражение. То составное выражение более ограничительно (то есть, более трудно достигнуть истинного результата) чем автономные выражения с обеих сторон И. При использовании И, выражения с обеих сторон слова должны быть истинны для полного выражения, которое будет оценено как истинный; однако, если любое выражение ложно, то полное выражение оценено как ложный. В примере ниже, пользователь хочет выделить, когда Volume – в пределах некоторого Range. Volume был бы должен быть больший чем 13,000 и меньше чем 23,000 для выражения, которое будет оценено как истинный. Если любое из двух условий ложно, однако, полное составное выражение оценено как ложный. Volume > 13000 и Volume < 23000 Или также объединяет ряд выражений с относительным типом в составное выражение. Однако, в отличие от И, Или делает составное выражение менее ограничительным (то есть, более легким, чтобы достигнуть истинного результата) чем автономные выражения с обеих сторон Или. При использовании Или, если любое автономное выражение оценено как истинный, то полный состав(составной) выражение оценено как истинный. Для составного выражения, которое будет оценено как ложный, оба автономных выражения должны быть оценены как ложный. В примере ниже, если завершение текущей бары было большее чем завершение предыдущей бары, или открытое из текущей бары, было меньше чем open из предыдущей бары, составное выражение будет оценено как истинный. Однако, если оба автономных выражения были ложны, составное выражение будет ложно. Close > Close [1] или Open < Open [1] Выражения оцениваются Правильно? Когда несколько действий имеют место в числовом выражении, они оценены согласно четкой иерархии так, чтобы результаты были всегда предсказуемы. При оценке утверждений , следующий порядок старшинства используется. Если два или больше действия имеют тот же самый уровень приоритета, действия выполнены слева направо. Круглые скобки Умножение и деление Суммирование и вычитание
, =, < = >, =, < >
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|