Strategy Orders (Ордера стратегии)
All
Данное зарезервированное слово используется вместе с зарезервированными словами «share(s)» или «contract(s)» в торговых стратегиях, определяющим, что все акции/контракты должны быть проданы (для длинных позиций) или закрыты (для коротких позиций) при выходе из текуцей позиции. Пример: If Condition then ExitLong all shares next bar at market;
At$
Фиксирует какую-либо цену бара (O,H,L,C) на котором был сигнал входа.
Bar
Данное слово отражает текущую компрессию данных (5 мин., 1 час и т.д.) Используется только вместе с зарезервированными словами Close, Open, High, Low. Bars — множественное число слова Bar.
Buy
Используется для открытия длинной позиции. Ордера могут быть созданы для:
this bar on Close
next bar at Market
next bar at PRICE Stop
next bar at PRICE Limit
Пример : Buy («LongEntry») 5 contracts this bar on close; — открыть длинную позицию по цене закрытия текущего бара .
Entry
Данное зарезервированное слово определяет название длинного или короткого входа . Никакие входные параметры не требуются. Оно исключительно используется для выхода из позиций для определения конкретного входа. Примеры:
ExitLong from entry («MyTrade») next bar market; — выход из длинной позиции с названием «MyTrade» на первой цене следующего бара.
ExitLong
Выход из длинной позиции . Ордера могут быть созданы для:
this bar on Close
next bar at Market
next bar at PRICE Stop
next bar at PRICE Limit
Самый ранний сигнал выхода, который может быть произведён — завершение текущего бара . Структура выхода состоит из:
Entry/Exit ордера , названия сигнала (Signal), числа контрактов , времени , цены , Market/Stop/Limit. Примеры :
ExitLong 5 contracts this bar on close; — выход из длинной позиции (5 контрактов) по цене закрытия текущего бара .
ExitLong next bar at market; — выход из всех длинных позиций по цене открытия следующего бара.
ExitShort
Выход из коротких позиций . Ордера могут быть созданы для :
this bar on Close
next bar at Market
next bar at PRICE Stop
next bar at PRICE Limit
Самый ранний сигнал выхода, который может быть произведён — завершение текущего бара . Структура выхода состоит из:
Entry/Exit ордера , названия сигнала (Signal), числа контрактов, времени, цены, Market/Stop/Limit. Примеры :
ExitShort 5 contracts this bar on close; — выход из короткой позиции (5 контрактов) по цене закрытия текущего бара .
ExitShort from entry («MyTrade») next bar at 75 Stop; — выход из короткой позиции входа с названием «MyTrade» по цене 75 или выше.
From
Данное зарезервированное слово не обрабатывается компилятором EasyLanguage и служит просто для более понятной английской лексики. Пример использования:
ExitLong from Entry («Test») Next Bar at Market
Higher
Синоним зарезервированных слов stop или limit, в зависимости от контекста , используемой в пределах самой стратегии. Переводится как «выше». Higher используется как Stop в следующих выражениях:
Buy next bar at MyEntryPrice or Higher;
ExitShort next bar at MyExitPrice or Higher;
Higher используется как Limit в следующих выражениях :
Sell next bar at MyEntryPrice or higher;
ExitLong next bar at MyEntryPrice or higher;
Limit
Зарезервированное слово используется вместе с Entry или Exit для определения типа ордера. Limit ордер может быть выполнен только на следующем баре. Limit может пониматься как «эта цена или лучше», означая меньше для длинного входа (Long Entry) и короткого выхода (Short Exit), больше для короткого входа (Short Entry) и длинного выхода (Long Exit.) Примеры:
Buy next bar at 75 Limit; — генерирует ордер на вход в длинную позицию по цене 75 или ниже.
Sell next bar at 75 Limit; — генерирует ордер на вход в короткую позицию по цене 75 или выше.
Lower
Синоним зарезервированного слова Limit
Market
Данное зарезервированное слово указывает следующую торговлю или тик не определяя цену . Пример : Buy next bar at market;
Next
Используется вместе с зарезервированным словом Bar и указывает следующий бар на диаграмме. Пример: Buy next bar at market;
Point и Points
Указывает на минимально возможное изменение значение цены для данного символа. Пример использования:
ExitLong This Bar at EntryPrice — 3 points Stop;
Sell
Указываеет на открытие короткой позиции. Саммый ранний вход может быть произведён в завершение текущего бара.
this bar on Close
next bar at Market
next bar at PRICE Stop
next bar at PRICE Limit
Структура открвтия длинной или короткой позиции состоит из :
1. Ордера входа или выхода
2. Названия сигнала
3. Числа контрактов
4. Выбора ввремени
5. Цены
6. Market/Stop/Limit
Примеры:
Sell («ShortEntry») 5 contracts this bar on close;
Sell («NextEntry») next bar at market;
Sell («MyTrade») next bar at 75 Stop; — генерирует ордер на открытие короткой позиции в следующем баре по указанной цене или ниже.
SetBreakEven(FloorAmnt)
Выход из позиции при достижении профита в FloorAmnt. Используется с SetStopContract или SetStopPosition.
SetDollarTrailing(DollarValue)
Выход их позиции с достижением потерь в DollarValue. Используется с SetStopContract или SetStopPosition.
SetExitOnClose;
Выход из позиции в последнем баре для intraday данных. Используется с SetStopContract или SetStopPosition.
SetPercentTrailing(FloorAmt, Percent)
Выход из позиции при достижении профита = FloorAmt$ или при достижении убытков = Percent% от FloorAmt$. Используется с SetStopContract или SetStopPosition.
SetProfitTarget (DollarValue)
Выход из позиции при достижении прибыли (профита) равного долларовому значению DollarValue. Используется с SetStopContract или SetStopPosition.
SetStopContract;
Устанавливает стоп ордер для контрактов. Пример:
SetStopContract;
SetStopLoss(500);
Устанавливает лимит на потери 500$ для одного контракта .
SetStopLoss (DollarValue)
Используется для установки стоп ордеров . DollarValue — числовое выражение представляющее долларовое значение которое будет достигнуто прежде чем позиция/контракт будет ликвидирована. Примеры:
Допустим вы купили 10 акций по цене 52
SetStopContract;
SetStopLoss (2);
В этом примере стоп сработает как только каждая акция упадёт в цене на 2. Т.е. используется выражение SetStopContract.
Допустим вы купили 500 акций по цене 12
SetStopPosition;
SetStopLoss (1000);
В данном случае позиция будет ликвидирована как только общая стоимость акций снизится на 1000 т.е. как только каждая акция упадёт в цене на 2$.
SetStopPosition;
Если бы вы хотели исполнить, например, стоп приказ который срабатывал бы при понижении позиции на 1200$ вы бы написали так:
SetStopPosition;
SetStopLoss (1200);
Т.е. данное зарезервированное слово укзывает , что следующий приказ будет относится ко всей позиции . Оно никогда не используется одно. См. примеры выше.
Share
Используется для того, что бы определить колличиство контрактов/акций для специфических заказов. Пример: Buy 1 Share Next Bar at Open;
Shares
Множественное число зарезервированного слова Share.
Stop
Используется в утверждениях входа или выхода.
Стоп приказы могут быть выполнены только на следующем баре. Может пониматься как «указанная цена или хуже». Означая — выше для длинной позиции и ниже — для короткой. Примеры :
Buy next bar at 75 Stop; — купить в следующем баре по этой цене или выше .
Sell next bar at 75 Stop; — войти в короткую позицию по этой цене или ниже .
ExitLong next bar at 75 Stop; — выйти из длинной позиции по этой цене или ниже.
This
Зарезервированное слово указывающие на текущий бар. Пример:
Buy This Bar on Close — купить по цене закрытия текущего бара.
Total
Зарезервированное слово используемое в утверждении выхода, чтобы определить число контрактов длинной или короткой позиции.
Strategy Position. (Позиция стратегии)
BarsSinceEntry(Num)
Возвращает число баров начиная отсчёт с указанного входа стратегии. Num — числовое выражение представляющее собой число позиций назад. Пример: BarsSinceEntry(2) возвратил бы величину 68, если бы начиная со входа до 2 позиций назад прошло 68 баров .
BarsSinceExit(Num)
Возвращает число баров начиная отсчёт с указанного выхода стратегии. Num — числовое выражение представляющее собой число позиций назад. Пример: BarsSinceExit(2) возвратил бы величину 68, если бы начиная с выхода до 2 позиций назад прошло 68 баров.
CurrentContracts
Возвращает количество контрактов в текущей позиции.
CurrentEntries
Возвращает количество открытых входов стратегии.
EntryDate(Num)
Возвращает дату входа указанной позиции в формате ГГГГММДД. Num — числовое выражение, представляющее число позиций назад. Пример:
EntryDate(2) мог бы возвратить значение 20001005, если дата входа 2 позиций назад была 5 октября , 2000.
EntryPrice(Num)
Возвращает цену входа Num- позиции назад. EntryPrice(2) мог бы возвращать цену 101.19 как цена входа 2 позиции назад на диаграмме акции Microsoft.
EntryTime(Num)
Возвращает время входа в Num- позицию назад в формате ЧЧММ.
ExitDate(Num)
Возвращает дату выхода указанной позиции в формате ГГГГММДД. Num — числовое выражение, представляющее число позиций назад. Пример: EntryDate(2) мог бы возвратить значение 20001005, если дата выхода 2 позиций назад была 5 октября , 2000 .
ExitPrice(Num)
Возвращает цену выхода Num- позиции назад. EntryPrice(2) мог бы возвращать цену 101.19 как цена выхода 2 позиции назад на диаграмме акции Microsoft.
ExitTime(Num)
Возвращает время выхода в Num- позицию назад в формате ЧЧММ .
MarketPosition(Num)
Возвращает число характеризующие Num- позицию назад . -1 открыта короткая позиция ; 1 открыта длинная позиция ; 0 нет открытых позиций .
MaxContracts(Num)
Возвращает максимальное число контрактов Num- позиций назад. Пример: MaxContracts(2) данная функция могла бы вернуть значение 3, если бы две позиции назад максимальное число контрактов в той позиции равнялось 3.
MaxEntries(Num)
Возвращает максимально число входов Num- позиции назад.
MaxPositionLoss(Num)
Возвращает максимальный убыток в Num- позиции назад.
MaxPositionProfit(Num)
Возвращает наибольшую прибыль в Num- позиции назад.
OpenPositionProfit
Возвращает величину текущей прибыли или убытка по текущей позиции.
PositionProfit(Num)
Возвращает прибыль или убыток Num- позиции назад.
Strategy Perfomance. (Отчет стратегии)
AvgBarsLosTrade
Возвращает среднее число баров закрытых позиций на которых были понесены убытки по всем закрытым позициям. Пример:
AvgBarsLosTrade возвратит 5, если число баров 2-х проигрышных позиций были 7 и 3. Т.е. на 7-и и на 3-х барах соответственно были понесены убытки .
AvgBarsWinTrade
Возвращает среднее число баров закрытых позиций на которых была получена прибыль по всем закрытым позициям. Пример:
AvgBarsWinTrade возвратит 5, если число баров 2-х позиций были 7 и 3. Т.е. на 7 и на 3 барах были получены прибыли.
AvgEntryPrice
Возвращает среднюю цену открытия всех входов текущей позиции. Пример:
AvgEntryPrice вернёт значение 150, если в настоящее время три входа по ценам 130, 145 и 175.
CurrentContracts
Возвращает число контрактов текущей позиции. Если возвращённая величина положительная, значит она характеризует число длинных позиций. Если отрицательная — число коротких позиций.
CurrentEntries
Возвращает количество входов текущей открытой позиции.
GrossLoss
Возвращает долларовое значение суммарных убытков всех проигрышных закрытых позиций. Пример: GrossLoss возвратит -1000, если имеются три проигрышных позиции -500, -200 и -300$.
GrossProft
Возвращает долларовое значение суммарной прибылей во выиграшных позициях. Пример: GrossProft вернёт 1000, если имеются три выиграшных позиции по 500, 200 и 300$.
Strategy Properties. (Свойства стратегии)
Commission
Возвращает комиссионные из настройки Format Strategy -> Costs -> Commissin -> Amount.
Это зарезервированное слово можно использовать только для оценки стратегий.
GetStrategyName
Возвращает название стратегии используемой в данный момент. Пример:
GetStrategyName возвращает текстовую строку «Moving XAvg Cross» когда используется стратегия Moving XAvg Cross.
Margin
Возвращает значение маржи установленной во вкладке Format Strategy -> Costs -> Margin.
Slippage
Возвращает значение slippage установленной во вкладке Format Strategy -> Costs -> Slippage.
Ago — Данное зарезервированное слово используется для обозначения предыдущих баров. Использоваться может с любыми переменными, где это имеет смысл.
Пример: Close of 1 Bar Ago
Close — цена закрытия текущего бара.
of — слово, используемое для более удобного понимания текста программы. Компилятором не используется. Его можно опустить.
Bar — данное слово указывает текущую компрессию данных (5 мин., 1 час. и т.п.).
Ago — назад — перевод c английского.
Т.е. данное выражение равно цене закрытия одного бара назад.
Вместо слова Ago можно использовать квадратные скобки. Более кратко это выражение можно записать так: Close[1].
Bar или Bars — Данное слово отражает текущую компрессию данных (5 мин., 1 час. и т.п.) Используется только вместе с зарезервированными словами Close, Open, High, Low. Bars — множественное число слова Bar.
BarInterval — Возвращает компрессию данных в минутах. Имеет силу, только если используется минутная компрессия данных. Т.е. возвращает число не больше 60.
BarStatus — Определяет текущий статус бара. Возвращает одно из четырёх возможных значений:
0 — если текущий текущая цена (tick) равна цене открытия.
1 — если текущая цена внутри бара.
2 — если текущая цена равняется цене закрытия.
-1 — ошибка.
BigPointValue — Возвращает долларовое значение одного пункта.
C или Close — Цена закрытия. Пример: C[1] — цена закрытия прошлого бара.
CommodityNumber — Возвращает номер символа (Symbol Number) из Edit Symbol в Global Server. Если это значение не определено CommodityNumber возвращает 0.
Contract или Contracts — Определяет число контрактов для специфических ордеров используемых в торговых стратегиях.
Пример: Buy 1 contract next bar at market — ордер покупки одного контракта на открытие следующего бара. ExitLong 1 contract total next bar at market; — закрытие одного из контрактов длиной позиции.
ContractMonth — Возвращает месяц истечения контракта. Может использоваться вместе с зарезервированными словами option, future.
ContractYear — Возвращает год истечения контракта. Может использоваться вместе с зарезервированными словами option, future.
CurrentBar — Возвращает номер текущего бара. Номер — соответствует следующему после бара, указанного как максимальное число баров.
Например, MaxBarsBack = 11
тогда, на 12-м баре CurrentBar будет равняться 1, на 13-м CurrentBar будет равняться 2 и т.д. Функция обновляет своё значение после каждого бара.
Date или D — Возвращает дату текущего бара в формате ГГММДД.
DailyLimit — Возвращает ежедневный лимит цен из словаря сиволов (Symbol Dictionary) (т.е. максимальное движение цен, разрешенное в любом дне) в десятичном формате проверяемого контракта. Никакие значения входа не требуются. Если товар не имеет ни какого ежедневного лимита цен, то возвращается 1000000.
Например, в пшенице, где максимальный ежедневный лимит цен равняется 20 центов, 20.0 возвращены.
Data — Определяет номер потока данных. Если в одном окне несколько графиков, то использование этого зарезервированного слова становится актуальным. Грубо говоря, каждый график (не обязательно даже график) имеет свой номер данных. Используется для того, что бы программа понимала, для каких именно данных написано данное выражение. Номер данных можно посмотреть (изменить) в одном из подменю меню Format Symbol. Актуально, когда используется несколько данных (графиков в одном окне).
Пример: Value = Close[1] of Data(2); Т.е. переменная Value примет значение цены закрытия прошлого бара в данных примере номер 2.
DataCompression — Возвращает число, представляющее сжатие данных отобранного ряда данных. Убедитесь, что установка для Максимального числа баров (MaxBarsBack) в вашей программе меньше, чем общее количество баров в вашем окне диаграммы.
0 = TickBar
1 = Intra-day
2 = Daily
3 = Weekly
4 = Monthly
5 = Point & Figure
Пример: Предположим, что рассматриваемый ряд данных — Intra-day ряд данных, тогда Value в ниженаписанном примере примет значение 1.
Value = DataCompression
Day — Зарезервированное слово представляет бар в данных. Когда используется дневная компрессия данных слова bar и day являются синонимами.
Пример: Close of 1 day Ago; Данное выражение равно цене закрытия предыдущего бара. Или: ExitShort this day on close; В торговой стратегии — ордер на закрытие всех коротких позиций в момент цены закрытия текущего бара .
Days — множественное число слова Day. Используется для более ранней совместимости.
Пример: Close of 5 Days Ago — Возвращает цену закрытия пятого бара назад. Начиная отсчёт с текущего бара. Или ExitShort this day on close — закрытие всех коротких позиций по цене закрытия текущего бара.
DeliveryMonth — Возвращает номер месяца истечения фьючерсного контракта.
Список номеров месяцев:
1 Январь
2 Февраль
3 Март
4 Апрель
5 Май
6 Июнь
7 Июль
8 Август
9 Сентябрь
10 Октябрь
11 Ноябрь
12 Декабрь
Пример: Предположим, что текущий контракт истекает — 07/91, функция возвращает значение 7.
DeliveryYear — Возвращает год истечения фьючерсного контракта, который в настоящее время проверяется. Пример: Предположим, что текущие данные буду проверены — 07/91, функция возвращает значение 1991.
DownTicks — Возвращает количество тиков в баре, чьё значение меньше чем «последний» тик. Пример: DownTicks возвратит 5, если значение цены последнего тика больше 5 тиков в до этого тика в текущем баре. Дополнительный пример: Для проверки устойчивого спада /подъема нужно сравнить DownTicks и UpTicks.
ExpirationDate — Возвращает дату истечения актива, к которому инструмент применён. Замечание: ExpirationDate возвращает год с четыремя цифрами.
FirstNoticeDate — Возвращает дату (в формате EL) первого сигнала уведомления. Пример: If FirstNoticeDate=Date then Alert(«First Notice Expiration»); Замечание: Данное слово может быть использовано только с RadarScreen и / OptionStation. С TradeStation или SuperCharts использование невозможно.
GetExchangeName — Возвращает название биржи (возвращает текстовую переменную) для символа, который в данный момент используется.
GetSymbolName — Возвращает название символа (возвращает текстовую переменную), который в данный момент используется .
H или High — Возвращает максимальную цену бара заданной компрессии времени.
OpenInt или ОI — Возвращает величину открытого интереса для конкретного бара.
Low или L — Возвращает минимальную цену бара заданной компрессии времени.
LastTradingDate — Возвращает последнюю дату торговли.
Market — Зарезервированное слово, указывает на следующий торговый импульс сигнала (tick), при этом не определяя цену. Обычно используется в торговых сигналах.
Пример: Buy next bar at market; — открыть длинную позицию в следующем баре, при этом цена может быть любой.
MaxBarsBack — Зарезервированное слово, представляет собой количество баров, необходимое для вычислений любого метода анализа. Эта функция используется в циклах, что бы ограничить число итераций или проходить через цикл. Пример: Если Вам нужно посчитать 14-периодный RSI, то MaxBarsBack должен быть равен, как минимум, 14.
MaxBarsForward — Представляет собой число баров справа, от последнего бара на диаграмме. Т.е. данное зарезервированное слово возвращает количество баров, свободных баров на диаграмме.
MinMove — Возвращает минимальное движение данных, связанное с выбранным рядом данных. Пример: Возвращает минимальное изменение данных №2.
Value = MinMove data2
Next — Зарезервированное слово, чаще всего используется со словом bar, для указания следующего действия. Пример: Open of next day — цена открытия следующего бара.
Open или O — Возвращает цену открытия бара заданной компрессии времени.
Point или Points — Зарезервированное слово, представляет собой величину, равную одному пункту. Т.е., на EUR/USD эта величина равна 0.0001.
Points — множественное число слова Point. Пример: Close + 5 points — эта величина будет равна цене закрытия текущего бара + 5 пунктов. Low — 1 point = минимальная цена текущего бара минус 1 пункт.
PointValue — Возвращается долларовое значение одного пункта, которое в настоящее время используется. Никакие значения входа не требуются.
PriceScale — Возвращает ценовой масштаб отобранного ряда данных. В следующем примере Value возвращает ценовой масштаб, связанный со вторым рядом данных (Data2). Если ценовой масштаб — 1/100, Value равняется 100. Пример: Value = PriceScale data2
SessEndTime — Возвращает время закрытия первой сессии в 24-ч. формате. Sess — дневная сессия . Sess2 — вечерняя сессия . (на большинстве рынков есть только одна сессия.) Используется, в основном, с Intra-Day данными.
SessFirstBarTime — Возвращает время первого бара первой сессии. Используется в основном с Intra-Day данными. Время в 24- формате .
SessStartTime — Возвращает время открытия первой сессии в 24- формате. Используется в основном с Intra-Day данными.
Sess2EndTime — Возвращает время закрытия второй сессии в 24- формате. Используется в основном с Intra-Day данными.
Sess2FirstBarTime — Возвращает время первого бара второй сессии в 24- формате. Используется в основном с Intra-Day данными .
Sess2StartTime — Возвращает время открытия второй сессии в 24- формате. Используется в основном с Intra-Day данными.
Time или T — Зарезервированное слово, возвращает время закрытия бара. Если бар текущий — возвращает текущее время (последнего обновления котировок).
This — Зарезервированное слово, предназначено для указания текущего бара. Обычно используется с зарезервированными словами Bar или Day.
Пример: Buy This Bar on Close — открывать длинную позицию в закрытие текущего бара.
Ticks — Зарезервированное слово, означает — одно изменение цены (tick). Пример: Low — 2 ticks — возвращает наименьшую цену текущего бара минус 2 тика.
UnionSessEndTime — Возвращает самое последнее время конца первой сессии из всех времён конца первой сессии. Имеет смысл когда на одной диаграмме несколько графиков с разным временем закрытия первой сессии.
UnionSessFirstBarTime — Возвращает самое раннее время появления первого бара в первой сессии из всех времён появления первого бара в первых сессиях. Имеет смысл когда на одной диаграмме несколько графиков.
UnionSessStartTime — Возвращает самое раннее время начало первой сессии из всех времён начала первой сессии. Имеет смысл, когда на одной диаграмме несколько графиков.
UnionSess2EndTime — Возвращает самое последнее время окончания второй сессии из всех времён окончания второй сессии. Имеет смысл, когда на одной диаграмме несколько графиков.
UnionSess2FirstBar — Возвращает самое раннее время появления первого бара во второй сессии из всех времён появления первого бара во вторых сессиях. Имеет смысл, когда на одной диаграмме несколько графиков.
UnionSess2StartTime — Возвращает самое раннее время открытия второй сессии из всех времён открытия вторых сессий. Имеет смысл, когда на одной диаграмме несколько графиков.
UpTicks — Возвращает количество тиков в баре, чьё значение было выше чем «предыдущий» тик.
Volume или V — Возвращает величину объёма торговли конкретного бара.
CurrentDate — Возвращает сегодняшнюю календарную дату. Пример: Если дата — 14 октября 1992, CurrentDate возвращается 921014.
Обратите внимание:
1. При работе в online: Дата или/и время (CurrentTime) возвратит дату или/и время диаграммы, а не datafeed.
2. При работе в offline. Дата или/и время берутся из компьютерных внутренних часов.
Эти два пункта так же относятся и к ниженаписанной функции.
CurrentTime — Возвращает текущее время в формате ЧЧММ (0000 to 2359). Пример: Если сейчас 14:10, CurrentTime возвращает 1410.
DateToJulian(cDate) — Возвращает Юлианскую дату от значения входа. Входной параметр может лежать в пределах: от 1 января 1900 года до 28 февраля 2100 года.
Пример: DateToJulian(860617) возвращает 31578. Если год 2000 или больше то, cDate должен принимать формат ГГГММДД.
DayOfMonth(cDate) — Возвращает день месяца. Пример: DayOfMonth(901023) возвращает 23.
DayOfWeek(cDate) — Возвращает день недели текущего дня .
0 = Воскресенье , 1 = Понедельник , 2 = Вторник , 3 = Среда , 4 = Четверг , 5 = Пятница , 6 = Суббота. Пример : DayofWeek (900719) возвращает 4.
EL_DateStr( , , ) — Возвращает дату в формате ГГГГММДД .
Friday — Пятница. Возвращает числовое значение = 5.
JulianToDate(jDate) — Возвращает дату в формате ГГММДД. На вход подаётся Юлианская дата. Пример: JulianToDate (31578) возвращений 860617.
LastCalcJDate — Возвращает Юлианскую дату последнего законченного бара.
LastCalcMMTime — Возвращает время в минутах начиная с полуночи последнего законченного бара.
Monday — Понедельник. Возвращает числовое значение = 1.
Month(cDate) — Возвращает номер месяца .
1 = Январь 7 = июль
2 = Февраль 8 = август
3 = Март 9 = сентябрь
4 = Апрель 10 = октябрь
5 = Может 11 = ноябрь
6 = Июнь 12 = декабрь
Пример: Month(921120) возвращает 11.
Saturday — Суббота. Возвращает числовое значение = 6.
Sunday — Воскресение. Возвращает числовое значение = 0.
Time или T — Зарезервированное слово, возвращает время закрытия бара. Если бар текущий — возвращает текущее время ( последнего обновления котировок).
Thursday — Четверг. Возвращает числовое значение = 4.
Tuesday — Вторник. Возвращает числовое значение = 2.
Wednesday — Среда. Возвращает числовое значение = 3.
Year(cDate) — Возвращает последние 2(3) цифры года. Пример : Year(901120) возвращает 90.
Text Drawing (Изображение текста).
Коды ошибок, возвращаемые функциями объектов рисования.
Если функция была определена неправильно, то будет возвращён код ошибки.
Значение Объяснение
-2 Идентификатор объекта был неверный.
-3 Номер данных (Data2, Data3, и т.д.) используемый с функцией был недействителен.
-4 Значение прошло к ФУНКЦИИ МНОЖЕСТВА, был недействителен .
-5 Начало и пункты ( ) окончания было тот же самый .
-6 Функция была неспособна загрузить значения по умолчанию для инструмента .
-7 Неспособность добавить объект. Возможно из-за недостаточности памяти .
-8 Недействительный указатель.
-9 Предыдущая ошибка.
-10 Слишком много линий тренда на диаграмме.
-11 Слишком много текстовых объектов на диаграмме.
Цвета, и их значения, для использования в объектах рисования. Можно использовать как сами слова так и их значения.
Default По умолчанию используемый .
Black Чёрный . 1
Blue Синий . 2
Cyan 3
Green Зелёный . 4
Magenta 5
Red Красный . 6
Yellow Жёлтый . 7
White Белый 8
DarkBlue Тёмно синий . 9
DarkCyan 10
DarkGreen Тёмно зелёный . 11
DarkMagenta 12
DarkRed Тёмно красный . 13
DarkBrown 14
DarkGray Тёмно серый . 15
LightGray Светло серый . 16
GetBackGroundColor — Возвращает цвет фона окна. А именно, число от 1 до 16. Каждое число означает определённый цвет фона. Пример: Если текущий цвет фона — тёмно синий, функция вернёт значение 9.
Text_Delete(TX_Ref) — Данная функция удаляет текст с индификационным номером TX_Ref. Пример: Text_Delete(92) удаляет текстовый объект из диаграммы с индификационным номером 92. В дальнейшем будет написано, что каждому объекту присваивается свой номер, по которому можно будет непосредственно обратиться, как и в данном примере. Этот номер и есть TX_Ref. Счёт индификаторов начинается с 0, до n. Т.е. объект с индификатором 0 — это первый объект, объект с индификатором n — это (n + 1 ) объект.
Text_GetColor(TX_Ref) — Возвращает цвет указанного текстового объекта. Пример: Value = Text_GetColor (56) возвращений цвет текста объекта с номером 56.
Text_GetDate(TX_Ref) — Возвращает дату указанного текстового объекта в формате ГГГММДД.
Text_GetFirst(Pref) — Возвращает индификатор первого текстового объекта на диаграмме. Pref одно из следующих значений:
1 — Зарезервированное слово вернёт индификатор первого текстового объекта созданного аналитическим инструментом .
2 — Зарезервированное слово вернёт индификатор первого текстового объекта созданного объектом рисования.
3 — Зарезервированное слово вернёт индификатор первого текстового объекта созданного или 1 или 2.
TextGetHStyle(TX_Ref) — Возвращает номер горизонтального выравнивания определённого текстового объекта. А именно:
1 — Текстовый объект выровнен по горизонтали влево.
2 — Текстовый объект выровнен по горизонтали вправо.
3 — Текстовый объект выровнен по горизонтали по центу.
Text_GetNext (TX_Ref, Pref) — Возвращает индификатор текстового объекта созданного после текстового объекта с индификатором TX_Ref, при условии, что следующий текстовый объект будет удовлетворять условию Pref. Где Pref, одно из следующих значений:
1 — Зарезервированное слово вернёт индификатор первого текстового объекта созданного аналитическим инструментом.
2 — Зарезервированное слово вернёт индификатор первого текстового объекта созданного объектом рисования.
3 — Зарезервированное слово вернёт индификатор первого текстового объекта созданного или 1 или 2.
Text_GetString (TX_Ref) — Возвращает текстовую строку указанного текстового объекта.
Text_GetTime (TX_Ref) — Возвращает время, в которое указанный текстовый объект был создан в формате ЧЧММ. Основано на горизонтальном и вертикальном выравнивании.
Text_GetValue (TX_Ref) — Возвращает цену (Price) указанного текстового объекта. Основано на горизонтальном и вертикальном выравнивании.
Text_GetVStyle (TX_Ref) — Возвращает номер вертикального выравнивания определённого текстового объекта. А именно:
1 — объект выровнен по вертикали верх.
2 — Текстовый объект выровнен по вертикали вниз.
3 — Текстовый объект выровнен по вертикали по центру.
Text_New (cDate, tTime, nPrice, «Str») — Создаёт новый текстовый объект в указанном местоположении.
cDate — Дата, в которой будет расположен новый текстовый объект в формате ГГГММДД.
tTime — Время, в которой будет расположен новый текстовый объект в формате ЧЧММ.
nPrice — Цена, в которой будет расположен новый текстовый объект.
Str — Стока, которая будет расположена в указанном месте.
Пример: Value = Text_New (Date, Time, High + 20, «Stock Split»);
Text_SetColor (TX_Ref, Clr) — Устанавливает цвет (Clr) заданному текстовому объекту (TX_Ref). Таблица всех возможных цветов приведена в начале данного раздела. Возвращает 0, если изменение цвета было успешным.
Text_SetLocation (TX_Ref, cDate, tTime, nPrice) — Перемещает указанный текстовый объект в заданное место.
TX_Ref — Индификатор текстового объекта.
cDate — Дата, в которой будет расположен новый текстовый объект в формате ГГГММДД.
tTime — Время, в которой будет расположен новый текстовый объект в формате ЧЧММ.
nPrice — Цена, в которой будет расположен новый текстовый объект.
Text_SetString (TX_Ref, «Str») — Изменяет текстовую строку указанного текстового объекта.
TX_Ref — Индификатор текстового объекта.
Str — Строка, которая будет расположена в указанном текстовом объекте.
Text_SetStyle (TX_Ref, Horiz, Vert) — Устанавливает стиль текстового объекта.
TX_Ref — Индификатор текстового объекта.
Horiz.
0 — Выравнивание влево по горизонтали.
1 — Выравнивание вправо по горизонтали.
2 — Выравнивание по центру по горизонтали.
Vert.
1 — объект выровнен по вертикали верх.
2 — Текстовый объект выровнен по вертикали вниз.
3 — Текстовый объект выровнен по вертикали по центру.
Skip Words (Резервные слова).
Все слова, описанные в этом разделе являются необязательными для применения. Эти слова компилятор EasyLanguage PowerEditor пропускает при компиляции. Т.е. они совсем не несут никакой смысловой нагрузки, а используются только для более понятного написания программ. А именно, они сохраняют английскую грамматику.
A — Употребление: If a Close is > 100. Это выражение равносильно If Close is > 100.
An — If an Open < 30 Then Sell
At — Buy 200 Shares at Market
by
does — If Plot does Cross Over Plot2 Then Alert
is — If Open is < Close Then Sell
of — Value = Close of 1 Bar Ago
on — Buy This Bar on Close;
that — If High > than the Highest(High,50) Then {ACTION}
the — Sell the Next Bar on the Close;
was — If the Low was > than 60 Then Buy
Output. Вывод информации в окно отладки (Debug Windows), в файл, или на принтер.
Вы можете выводить информацию от любого сигнала торговли (trading signal), методики анализа (analysis technique) или функции (function) в окно отладки (Debug Windows), в файл, или на принтер. Окно отладки находится в EasyLanguage PowerEditor, и может использоваться для вывода текста, который помог бы Вам увидеть промежуточные вычисления, не показанные результатом сигнала торговли, методики анализа, или функции. Это помогло бы определять точное поведение используемых аналитических инструментов. Окно отладки EasyLanguage не поддерживает API, поэтому не может быть включено в рабочее пространство Omega Research (отладки есть только в EasyLanguage PowerEditor). Его можно использовать очень эффективно и удобно для отладки своих программ. Обратите внимание: Окно отладки заменило окно Print Log, которое было доступно в предыдущих версиях Omega Research.
Print -Это зарезервированное слово выводит информацию в окно отладки (Debug Window), файл, или на принтер установленный по умолчанию. Независимо от того, куда Вы выводите информацию, это зарезервированное слово всегда добавляет перевод строки в конце выражения, т.е. каждое новое обращение к этому зарезервированному слову выводит на печать текст с новой строки.
Синтаксис: Print( [Printer, File(«<File Name>»),] Expression );
<File Name> — полный путь к файлу, в который будет произведён вывод информации.
Expression — любая переменная, или переменные отделенные запятой.
Переменные могут быть числовые, True/False, или текстовые, а так же их комбинации. Чтобы для вывода использовать окно отладки EasyLanguage, используйте список переменных без любой дополнительной информации ([Printer, | File(«<File Name>»),]). Например, следующее выражение печатает дату, время, и цену закрытия текущего бара в окне отладки: Print(Date, Time, Close);
Имеется возможность округлять входные данные. Для этого используется следующая запись: Print(Value:N:M); где N — число, отражающее минимальное количество целых чисел для вывода, M — количество знаков после запятой. Value — любое числовое выражение. Пример: Print(Value:10:4), где Value = 3,141539, тогда выходное значение будет 3,1415.
Для того чтобы выводить информацию на заданный по умолчанию принтер, слово Printer должно быть первым выражением стоящим в круглых скобках зарезервированного слова Print. Например, следующее выражение посылает дату, время, и цену закрытия каждого бара на заданный по умолчанию принтер:
Print( Printer, Date, Time, Close);
Выводите исторические выражения, используя много линии на странице, однако можно выводить информацию и на данные, собранные в реальном времени. Т.е., например, 1 линия — 1 страница. В этом случае вывод имеет смысл производить в завершении каждого бара. Например , если торговая стратегия или методика анализа применяется к диаграмме с 500 барами, и стратегия торговли или методика анализа посылают одну линию на печать для каждого бара на диаграмме, распечатка будет состоять из 500 линий.
Для вывода информации в файл, первое выражение, включенное в круглые скобки должно быть File с указанием полного пути к файлу. Например , следующее выражение выводит EasyLanguage дату, время, и цену закрытия каждого бара на диаграмме.
Print( File(«с:\ Omega Research\ MyText.txt»), Date, Time, Close);
Важно: При новом сигнале торговли, методика анализа, или функции файл записывается заново. Также, Вы не можете использовать <File Name> как имя файла, это должно быть полный путь с названием файла.
FileAppend — Это зарезервированное слово создает и добавляет текстовые выражения или строки в конец указанного файла. При выводе информации на принтер или в файл, мы рекомендуем, чтобы Вы использовали, это зарезервированное слово вместо Print.
Синтаксис: FileAppend( «<FileName>», Text );
<File Name> — полный путь к файлу, в который будет произведено добавление информации.
Text — текстовое выражение строки, чтобы добавить в конец к файлу.
Например, следующее выражение использует имя символа как имя файла:
Variable: Txt(» «);
Txt = «c:\ My Documents\» + GetSymbolName + «.txt»;
FileAppend( Txt, «This will be sent to a file» );
FileAppend обеспечивает альтернативу зарезервированного слова Print, которое не удаляет исходный файл. Файл постоянно будет становиться больше, пока не будет вручную отредактирован или удалён.
Обратите внимание: Вы можете использовать зарезервированное слово FileDelete, чтобы удалить файл или, моделировать поведение зарезервированного слова Print. Перевод строки не добавлен к концу каждого выражения; используйте зарезервированное слово NewLine всякий раз, когда Вы хотите включить перевод каретки. Например, следующее выражение добавляет текст к указанному файлу (линия для каждого бара на диаграмме):
FileAppend(«c:\ My Documents\ text.txt», «This text will be sent to a file» + NewLine);
Зарезервированное слово принимает только текстовые выражения, любые даты или числа должны быть конвертированы в текстовые строки. Например, следующее выражение выводит дату и цену на момент закрытия биржи в файл:
FileAppend(«c:\ My Documents\ text.txt»,ELDateToString(Date)+NumToStr(Close,2));
Слово ELDATETOSTRING, конвертирует EasyLanguage дату (ГГГММДД ) в текстовое выражение. Аналогично, цена закрытия биржи включена как параметр для NumToStr, который конвертирует числа в текстовое выражение.
ClearDebug — Очищает содержимое окна Output Debug в EasyLanguage PowerEditor.
File — См . Print.
FileDelete(«str_Filename») — Удаляет указанный файл. str_Filename — полный путь к файлу.
Пример: FileDelete («e:\ path\ anyfile.txt»); — удаляет файл e:\ path\anyfile.txt
MessageLog(Parameters) — Сохраняет определённые данные в Message Log. В качестве Parameters могут быть любые параметры перечисленные через запятую. Message Log может быть не более 255 символов.
Printer — Это зарезервированное слово используется вместе со словом Print для вывода данных на принтер.
Math and Trig. (Математические и тригонометр. функции)
AbsValue(Num) — Возвращает абсолютную величину числового выражения Num.
Arctangent(Num) — Возвращает арктангенс числового выражения Num, в градусах.
AvgList(Num , Num2, Num3, …., NumN) — Возвращает среднее арифметическое входных параметров.
Ceiling(Num) — Возвращает наименьшее целое число, больше чем Num.
Пример: Ceiling(7.4) = 8, Ceiling(-5.4) = -5
Cosine(Num) — Возвращает косинус угла Num (в градусах).
CoTangent(Num) — Котангенс угла Num ( в градусах ).
ExpValue(Num) — Экспонента в степени Num.
Floor(Num) — Наибольшее целое число , меньше чем Num. Пример : Floor(10.8) = 10, Floor(-11.1) = -12
FracPortion(Num) — Дробная часть числа Num. Пример : FracPortion( 1.56) = .56
IntPortion(Num) — Целая часть числа Num. Пример : IntPortion(1.56) = 1
Log(Num) — Натуральный логарифм числа Num. Пример: Log(4) = 1.386290
MaxList(Num , Num2, Num3, …, NumN) — Возвращает максимальное число из списка Num …NumN. пример :MaxList(4,9,6) = 9
MaxList2(Num , Num2, Num3, …, NumN) — Возвращает второе максимальное число из списка Num …NumN. пример: MaxList(4,9,6) = 6
MinList(Num , Num2, Num3, …, NumN) — Возвращает минимальное по величине число из списка Num …NumN. пример: MaxList(4,9,6) = 4
MinList2(Num , Num2, Num3, …, NumN) — Возвращает второе минимальное по величине число из списка Num …NumN. пример : MaxList(4,9,6) = 6
Mod(Num, Divisor) — Возвращает остаток от деления Num/Divisor.
Neg(Num) — Возвращает отрицательный модуль числа Num. Пример: Neg(10) = -10, Neg(-8) = -8
NthMaxList(N, Num , Num2, …, NumM) — Возвращает N- максимальное число из списка. Пример: NthMaxList(2,8,10,1) = 8 т.е. 8 в данном случае является вторым наибольшим числом .
NthMinList(N, Num , Num2, …, NumM) — Возвращает N- минимальное число из списка . Пример : NthMinList(2,8,10,1) = 8 т.е. 8 в данном случае является вторым наименьшим числом.(совпадение)
Pos(Num) — Возвращает модуль числа Num. Пример: Pos(-5) = 5, Pos(3) = 3
Power(Num, Pow) — Возведение в степень. Num в степени Pow. Пример: Power(2,3) = 8
Random(Num) — Возвращает случайное число от 0 до Num.
Round(Num, Prec) — Округляет число Num до Prec знаков после запятой. Пример: Round(3.456,2) = 3.46
Sign(Num) — Возвращает 1 если Num>0, возвращает 0 если Num=0, возвращает -1 если Num<0. Пример: Sign(4) = 1 , Sign(-3.23) = -1
Sine(Num) — Синус угла Num (в градусах). Пример : Sine(115.125) = .905388
Square(Num) — Квадрат числа Num. Пример: Square(4.2) = 17.64
SquareRoot(Num) — Корень квадратный из числа Num. Пример: SquareRoot(25) = 5
SumList(Num , Num2, Num3, …, NumN) — Сумма списка чисел Num …NumN. Пример: SumList(5,7,9) = 21
Tangent(Num) — Тангенс угла Num ( градусах ). Пример : Tangent(45) = 1
Colors (Цвета)
Цвета, и их значения, для использования в объектах рисования. Можно использовать как сами слова так и их значения. Значения, возвращаемые функциями могут быть только в числовом эквиваленте.
Default По умолчанию используемый .
Black Чёрный . 1
Blue Синий . 2
Cyan 3
Green Зелёный . 4
Magenta 5
Red Красный . 6
Yellow Жёлтый . 7
White Белый 8
DarkBlue Тёмно синий . 9
DarkCyan 10
DarkGreen Тёмно зелёный . 11
DarkMagenta 12
DarkRed Тёмно красный . 13
DarkBrown 14
DarkGray Тёмно серый . 15
LightGray Светло серый . 16
Messaging (Передача сообщений)
Pager_DefaultName — Возвращает строку содержащую получателя сообщения из File — Desktop Options — Messaging — Message Recipient.
Pager_Send(itStr_Namel., «Str_Msg») — Посылает указанную строку Str_Msg указанному получателю Str_Name. Для этого должна быть включена опция в File — Desktop Options — Messaging, разрешающая посылку сообщений. Пример : Pager_Send(«Joe Trader», «Buy 200 AMD at Market»); — посылает к Joe Trader
сообщение Buy 200 AMD at Market.
Plotting (Создание рисунков)
GetBackGroundColor — Возвращает цвет фона окна . А именно , число от 1 до 16. Каждое число означает определённый цвет фона. Пример: Если текущий цвет фона — тёмно синий, функция вернёт значение 9.
GetPlotBGColor(PlotNum) — Возвращает цвет фона функции Plot. См. раздел Colors. PlotNum — номер функции Plot, номер цвета фона который вернёт функция GetPlotBGColor.
GetPlotColor(PlotNum) — Возвращает цвет графика функции Plot или цвет сетки. См. раздел Colors. PlotNum — номер функции Plot, номер цвета которой вернёт функция GetPlotBGColor.
GetPlotWidth(Plot) — Возвращает номер ширины линии на графике функции Plot.
NoPlot(Plot) — Это зарезервированное слово удаляет указанный график (Plot) из текущего бара с диаграммы . (использовать с ShowMe). Пример ShowMe:
If High < Low of 1 Bar Ago Then
Plot (Low, «GapDown»)
Else
NoPlot(1);
Plot(n) — Возвращает цену (Price) указанного графика. n — номер графика , т.е. если нужно получить значение цены на текущем баре графика Plot, функция будет использоваться так: Plot(1). Замечание: Для изображения графиков используются функции Plot1 — Plot4.
Plot1 , Plot2, Plot3, Plot4 — Отражает результаты математических вычислений на графике или сетке. Проще говоря, строит график.
Plot (Value, «str_name», FGColor, BGColor, Width) ; — полная запись слова Plot.
Value — любое числовое (строка) выражение для изображения его на графике, или True/False выражение для отображения на сетке.
«str_name» — текстовая строка представляющая название графика, которое будет отображенио во вкладке Properties когда вы работаете с форматом методики анализа (Format analysis technique). Необязательный параметр. Если он не указан, название графика будет совпадать с названием функции Plot. Т.е. Plot , Plot2, Plot3 или Plot4.
FGColor — цвет графика.
BGColor — цвет фона графика.
Width — ширина линии.
Три последних параметра являются необязательными. В дальнейшем их можно менять в Format analysis technique — Properties при использовании этого аналитического инструмента.
Когда методика анализа (analysis technique) используется вы можете изменить график. Примеры: Plot [3] (Value ); — данный пример вычисляет значение Value используя данные текущего бара, но строит график 3 бара назад.
Plot (Average(Close, 1 4), «Average»); — строит график среднего значения цены закрытия за последние 14 дней. Average — название данного графика.
Цвета и ширина используются по умолчанию в настройках Properties.
Plot (Value , iVAveragel., Value2, Value3, Value4); — строит график значения Value. Average — название данного графика.
Остальные переменные Value2, Value3, Value4 (графика, цвет фона и ширина) могут изменяться динамически , в зависимости от каких либо условий.
PlotPaintBar(High, Low, Open, Close, ilPlotNamelr, Foreground, Background, PlotWidth) — Используется для изменения цвета бара. (PaintBar). Красит весь бар, включая отрезки открытия и закрытия.
High — наибольшее значение цены бара.
Low — наименьшее значение цены бара.
Open — цена открытия.
Close — цена закрытия.
PlotName — название графика. Необязательный параметр.
Дополнительное использование PlotPaintBar:
PlotPaintBar(High, Low, Open, Close, «PlotName»)
PlotPaintBar(High, Low, «PlotName», Foreground, Background, PlotWidth)
Некоторые из параметров могут быть опущены. Данное зарезервированное слово может использоваться только с PaintBar study.
Примеры :
If Volume >2 *Average(Volume, 0) Then
PlotPB(High, Low, Open, Close, «AvgVol», Red );
Данный пример красит бар в красный цвет при выполнении условия
Volume >2*Average(Volume, 0)
Следующий пример красит в синий цвет полосу Боллинджера .
Variables: Top(0), Bottom(0);
Top = BollingerBand(Close, 4,2);
Bottom = BollingerBand(Close, 1 4, -2);
If ADX( 4) < 25 Then
PlotPaintBar(Top, Bottom, «Area», Blue);
PlotPB(High, Low, ioPlotNamel,, Foreground, Background, PlotWidth) — См. PlotPaintBar. Одно и то же. Данное слово является сокращённой записью PlotPaintBar.
SetPlotBGColor(PlotNum, BGCOLOR) — Устанавливает цвет фона области к которой применима данная методика анализа.
PlotNum — числовое выражение, представляющее номер графического объекта. BGCOLOR — зарезервированное слово (номер), соответствующий конкретному цвету. См. раздел Color. Данная функция может использоваться только с индикаторами применёнными к сетке. Пример: Если вы хотите установить белый цвет фона для функции Plot1, то нужно использовать следующие выражение: SetPlotBGColor(1 , White).
SetPlotColor(PlotNum, FGColor)
Устанавливает цвет линии применённой к диаграмме .
PlotNum — числовое выражение, представляющее номер графического объекта. FGColor — зарезервированное слово (номер), соответствующий конкретному цвету. См. раздел Color. Данная функция может использоваться только с индикаторами применёнными к сетке. Пример: Если вы хотите установить белый цвет линии для функции Plot1 то, нужно использовать следующие выражение : SetPlotBGColor(1 , White).
SetPlotWidth(PlotNum, Width)
Устанавливает ширину линии применённой к диаграмме. PlotNum — числовое выражение, представляющее номер графического объекта. Width — числовое выражение представляющее ширину линии. Данная функция может использоваться только с индикаторами применёнными к сетке. Пример: SetPlotWidth(1 , 5); — устанавливает ширину линии Plot1 равной 5.
Product Information (Информация о продукте)
BlockNumber
Возвращает номер блока (Block Number), защитного блогка используемого в данном ПК . Данное зарезервированное слово может использоваться для проверки подлинности ПК для которого данное средство анализа написано. Пример:
If BlockNumber = 55522 Then
Plot1 (Value , «Indicator»);
Строит индикатор Plot1 только в том случае , если BlockNumber = 55522.
CurrentDate
Возвращает сегодняшнюю календарную дату. Пример: Если дата — 14 октября, 1992 CurrentDate возвращается 921014
Обратите внимание :
1 . При работе в online: Дата или / время (CurrentTime) возвратит дату или / время диаграммы а не datafeed.
2. При работе в offline. Дата или / время берутся из компьютерных внутренних часов.
Эти два пункта так же относятся и к ниженаписанной функции .
CurrentTime
Возвращает текущее время в формате ЧЧММ (0000 to 2359). Пример: Если сейчас 14:10, CurrentTime возвращает 1410
CustomerID
Возвращает уникальный индификационный номер пользователя. Замечание: Каждый пользователь имеет свой уникальный номер, который может использоваться, чтобы индентифицировать свою программу.
EasyLanguageVersion
Возвращает текущую версию EasyLanguage. Пример: If EasyLanguageVersion >= 4.0 Then Plot1 (Value , «Indicator»); — строит график Plot1 только в том случае, если версия EL больше четвёртой.
Product
Возвращает номер продукта в зависимости от того, к чему применим в данный момент аналитический инструмент. (TradeStation — 0, OptionStation или SuperCharts — 1). Пример:
If Product = 0 Then Plot1 (Value , «Indicator»); строит индикатор только в том случае, если он используется в TradeStation.
Alerts & Commentary (Сигналы и Коментарии)
Многие аналитические инструменты, используемые в продуктах Omega Research поддерживают опцию подачи звуковых или визуальных сигналов при выполнении определённых условий. Статистику всех поданных сигналов можно просмотреть в приложении Центра Слежения (Tracking Center).
Данное приложение может отражать всю необходимую информацию о поданных сигналах. Вы можете использовать сигналы в :Indicators, ShowMe, PaintBar, ActivityBar, ProbabilityMap. Важно помнить, что сигналы могут подаваться только на последнем баре. Т.е. на исторических
данных сигналы не подаются.
Сигналы могут как использоваться так и нет. Для этого нужно обратиться к вкладке Properties и включить или выключить подачу сигналов, в зависимости от потребностей пользователя.
Alert(«Description»)
Данное зарезервированное слово вызывает сигнал и может выдавать заранее определённое сообщение описания текущих условий, при которых был вызван данный сигнал.
«Description» — Любая текстовая строка определяемая пользователем. В ней, например, могут быть описаны условия, из за которых был вызван данный сигнал.
Данная строка будет появляться каждый раз при очередной подаче данного сигнала. Пример:
Plot1 (Average(Close, 1 0), «Avg»);
If Close Crosses Over Plot1 Then
Alert(«Price crossed over average»);
If Volume > Average(Volume, 0) Then
Alert(» Volume Alert»);
Если оба условия будут выполнены одновременно на одном баре, то подаст сигнал только одно (последнее) зарезервированное слово Alert. Т.е. в данном случае это будет сигнал Volume Alert. Если выполнено только одно условие — будет подан только один сигнал, соответствующий
данному условию .
AlertEnabled
Данное зарезервированное слово возвращает True, если во вкладке Properties разрешена подача сигналов. В противном случае False. Пример:
If AlertEnabled Then
Begin
{Your Code Here}
End;
Т.е. {Your Code Here} будет выполнен только если разрешена подача сигналов во вкладке Properties.
AtCommentaryBar
Возвращает True/False в зависимости от того, выбран ли данный бар с помощью Expert Commentary Tool. Пример:
If AtCommentaryBar Then
Begin
{Your Commentary Code Here}
End;
Если AtCommentaryBar выбран Expert Commentary Tool, то будет выполнено выражение {Your Commentary Code Here}.
Cancel
Используется для отмены сигнала (Alert), который был предварительно вызван. Отмена сигнала возможна только на последнем баре в данный момент времени.
Пример : If {Your Criteria Here} Then Cancel Alert; — т.е. при выполнении {Your Criteria Here}=Truе будут отменены все сигналы, которые были вызваны ранее.
CheckAlert
Возвращает True, если на последнем баре разрешено использование сигналов во вкладке Properties. И возвращает False если на последнем баре использовние сигналов не разрешено во вкладке Properties.
Commentary(«My Expression»)
Посылает комментарий в Expert Commentary Tool. Где MyExpression может быть список числовых, строковых или True/False переменных. Пример:
Commentary(«Close of This Bar: «,Close);
CommentaryCL(«My Expression»)
Посылает комментарий в Expert Commentary Tool. Отличие от Commentary состоит в том , что после выражения MyExpression производится перевод строки. Т.е. данное слово удобно использовать в составных комментариях . Пример:
CommentaryCL(«This is one line of commentary»).
CommentaryEnabled
Возвратил бы True для любого бара, где применялся Expert Commentary. В противном случае False. Пример:
If CommentaryEnabled Then
Begin
{Your Code Here}
End;
Comparison and Loops (Условные операторы и циклы)
Замечание: {Your Code Here} — может быть совершенно любой последовательностью действий. Т.е. условные операторы и циклы могут быть вложенными с любой степенью сложности. Всё это справедливо для условных операторов и всех циклов. Если непонятно использование
условных операторов и циклов, то проще будет открыть любую книгу по какому либо компьютерному языку программирования (Бэйсик, Паскаль, Си ). Там более подробно рассказно.
Конечно этому разделу стоило уделить гораздо больше внимания, но если вы имели дело с языками программирования, то данный раздел покажется совершенно не сложным. Если вы всё таки до этого времени не сталкивалися с языками программирования, то, думаю , этому разделу следует уделить особое внимание и разобраться основательно т.к. условные операторы и циклы являются важной частью при написании своих программ на EasyLanguage.
Above или Over
Данное зарезервированное слово используется для проверки и сравнения пересечения каких либо заданных величин. Оно используется вместе с зарезервированным словом «crosses» и обнаруживает, когда одна величина становится больше другой. Т.е. величина Value1 в
текущем баре становится больше Value2, но в предыдущем баре Value1 была меньше Value2. Примеры : If Plot1 Crosses Above Plot2 Then ….- если Plot1 пересекает снизу Plot2 т.е. значение Plot становится больше чем значение Plot2 то , выполняется определённая последовательность действий. If Value1 Crosses Above Value2 Then …
— если Value1 в текущем баре становится больше чем Value2, то выполняется определённое действие.
And
Этот оператор переводится с английского как «И». Он используется в условных выражениях для выполнения нескольких условий сразу. Пример:
If Plot1 Crosses Above Plot2 And Plot2 > 5 Then … — Данное выражение проверяет пересечение графиков Plot и Plot2 а так же проверяется условие Plot2 > 5. Если Plot1 на текущем баре стал больше , чем Plot2 и Plot2 > 5 то только в этом случае выполняется определённое действие. Если
хотя бы одно из этих условий не выполнено, то никакого действия происходить не будет. Т.е. выражение Plot1 Crosses Above Plot2 And Plot2 > 5 будет равно False.
Begin и End
Данное зараезрвированное слово используется в условных операторах (If- Then,If- Then- Else, For, или While ) для начала определённой последовательности действий. Рассмотрим примеры:
If Condition1 Then
Begin
{Your Code Line }
{Your Code Line2, etc.}
End;
В данном примере при выполнении условия Condition1 выполняется последовательность действий записанная между заразервированными словами Begin ( как «Начало») и End ( как «Конец»). Можно обходиться и без этих зарезервированных слов, тогда после слова Then должна идти последовательность действий которая будет выполняться при выполнении условия Condition1 и, что самое главное, эта последовательность действий будет выполнена только до первого символа «;» который означает конец условного оператора. Этого бывает достаточно, когда последовательность действий огранична своими потребностями. Если же потребности таковы, что при выполнении условия Condition1 должна выполняться какая либо
«большая» последовательность действий, в которой нельзя обойтись одним символом «;» то в этом случае придётся использовать данные зарезервированные слова . Т.е. Begin и End.
Зарезервированные слова Begin и End обязательно используются вместе. Т.е. если в программе есть одно слово то , обязательно должно быть и другое. (Если есть «начало» то , обязательно должен быть и «конец»)
Below или Under
Данное зарезервированное слово используется для проверки и сравнения пересечения каких либо заданных величин. Оно используется вместе с зарезервированным словом «crosses» и обнаруживает, когда одна величина становится меньше другой. Т.е. величина Value1 в
текущем баре становится меньше Value2, но в предыдущем баре Value1 была больше Value2. Примеры : If Plot Crosses Below Plot2 Then ….- если Plot1 пересекает сверху Plot2 т.е. значение Plot1 становится меньше чем значение Plot2, то выполняется определённая последовательность действий . If Value1 Crosses Above Value2 Then … — если Value1 в текущем баре становится меньше чем Value2, то выполняется определённая последовательность действий.
Cross или Crosses.
Данное зарезервированное слово используется для проверки пересечения двух величин. Оно всегда должно использоваться вместе с зарезервированными словами Above, Below, Over или Under. Cross эквивалентно Crosses. Примеры использования этого слова рассмотрены выше у
зарезервированных слов Above и Below.
Downto
Данное зарезервированное слово используется как часть выражения для показания уменьшения одной величины к другой . Оно всегда используется между двумя арифметическими выражениями. Пример:
For Value5 = Length Downto 0 Begin
{Your Code Here}
End;
Данное выражение нужно понимать так:
Пока величина Value будет уменьшаться от Length до 0, будет выполняться последовательность действий заключённая между зарезервированными словами Begin и End. Данная запись есть ни что иное как цикл. За какждый цикл (выполнение последовательности действий, заключённой между зарезервированными словами Begin и End.) параметр Length будет уменьшаться на 1, пока не достигнет 0. После достижения 0, цикл выполняться перестанет.
Else
Данное зарезервированное слово является необязательной частью условного оператора if…then. Оно делает более гибким использование этого условного выражения. А именно, пример :
If Condition1 Then
Begin
{Your Code Line }
End
Else
Begin
{Your Code Line2}
End;
Если условие Condition1 действительно, т.е. равно True то, выполняется последовательность действий которая идёт сразу после зарезервированного слова Then (переводится — «тогда»). После слова Then в данном примере используется зарезервированное слово Begin. Т.е. при
выполнение условия Condition1 будет выполнена вся последовательность действий, заключённая между зарезервированнвми словами Begin и End. Если же условие Condition1 не выполнено, то будет выполнена последовательность действий которая будет стоять после зарезервированного слова Else. После зарезервированного слова Else стоит Begin, значит, если условие не выполнено, то будет выполнена последовательность действий {Your Code Line2} которая стоит после слова Else. Как и написано выше, зарезервированное слово Else использовать соверщенно не обязательно. Его нужно использовать только в том случае, если
возникла необходимость при написании программы использовать более гибкие условия.
False и True
True в переводе с английского — истинно . False — ложно. Эти зарезервированные слова характеризуют выполнения определённых условий в условных операторах.
В дальнейшем будет сказано, что кроме числовых переменных есть ещё строковые переменные и True/False переменные. Т.е. это переменные, которые могут принимать значения только True(Истинно) или False(Ложно). Примеры: If Condition1 Then — эта запись означает, что если
Condition1 = True, то будет выполнена определённая последовательность действий, которая будет написана после зарезервированного слова Then. Т.е. в условном операторе по умолчанию
подразумевается , что условие Condition должно быть истинно, но можно задать условия, при которых последовательность действий будет выполнена только в том случае, если переменная будет иметь значение False. В этом услучае записать надо так: If Condition1 =False Then…
Итог: Переменные True/False могут принимать только два значения. True или False. True — если условие выполнено , False — если не выполнено. Condition1 = 1 > 0; — В данном случае, переменная Condition1 , однозначно будет равна True т.е. условие истинно.
For
Данное зарезервированное слово используется в циклах (определённой последовательности действий заданное количество раз). Используется вместе с зарезервированными словами DownTo или To. Работу циклов проще рассмотреть на примерах:
For Value5 = Length To Length + 10 Begin
{Your Code Here}
End;
Выражение {Your Code Here} (т.е. выражение стоящее после зарезервированного слова to или downto.) будет выполнено 10 раз.
А именно, выражение будет выполняться до тех пор, пока Value5 не станет равным Length + 10. За один проход цикла величина Value5 будет увеличена на 1, о чём говорит зарезервированное слово To. Вместо To может использоваться DownTo, которое будет уменьшать переменную Value5 на 1 за каждый проход цикла. Естественно, смысл всего выражения изменится. Т.е. выбор To и DownTo зависит от конретных потребностей пользователя, а именно, от того, уменьшать или увеличивать нужно переменную при каждом проходе цикла.
Variables: Sum(0), Counter(0);
Sum = 0;
For Counter = 0 To Length — 1 Begin
Sum = Sum + Price[Counter];
End;
Данное выражение суммирует цену Price за Length — 1 последних дней, включая текущий. Т.е. при первом проходе цикла Counter = 0 при втором на 1 больше. При третьем ещё на единицу больше по сравнению со вторым. И так до тех пор, пока Counter не будет равняться Length — 1.
If
Данное зарезервированное слово используется в условных операторах. (С англ. переводится — «Если»). Используется вместе с зарезервированным словом Then. (В переводе — «Тогда»). См . зарезервированное слово Else, там описано более подробно и приведены примеры.
Or
Этот оператор переводится с английского как «Или». Используется в условных выражениях для выполнения одного из нескольких условий. Пример:
If Plot1 Crosses Above Plot2 or Plot2 > 5 Then … — Данное выражение проверяет пересечение графиков Plot1 и Plot2, а так же проверяется условие Plot2 > 5. Если Plot1 на текущем баре стал больше, чем Plot2 или Plot2 > 5, то только в этом случае выполняется определённое действие.
Then
Переводится «Тогда». Используется в условном операторе (If условие Then действие). См. зарезервированное слово Else.
To
См. зарезервированные слова For и DownTo. Используется в циклах для увеличения переменной на 1.
While
Используется в циклах. Работу данного цикла проще рассмотреть на примере:
While Condition1 Begin
{Your Code Here};
End;
Пока переменная Condition1 истинно, т.е. равняется True, будет выполняться цикл, а именно, будет выполняться последовательность действий, заключённая между зарезервированными словами Begin и End. Т.е. {Your Code Here}
Compiler Directives (Директивы компилятора)
#BeginAlert и #End
Исходный код программы будет выполнен между двумя этими директивами компилятора только в том случае, если включен переключатель Enable Alert.
Если переключатель Enable Alert выключен, то код программы заключённый между этими словами будет проигнорирован.
Пример :
#BeginAlert
If Close[50] > Close and ADX(Length) > ADX(Length)[ ] then
Alert(«ADX Alert»);
#End;
Данный фрагмент программы будет выполнен только в том случае , если Enable Alert включен.
#BeginCmtry и #End.
Исходный код программы будет выполнен между двумя этими директивами компилятора только в том случае, если если в данный момент используется Expert Commentary. Если Expert Commentary не используется, то код программы заключённый между двумя этими зарезервированными словами будет проигнорирован. Пример:
#BeginCmtry
Commentary(ExpertADX(Plot1 ));
#End;
Данный фрагмент программы будет выполнен только в том случае, если используется Expert Commentary.
#BeginCmtryOrAlert и #End.
Исходный код программы будет выполнен между двумя этими директивами компилятора только в том случае, если если в данный момент используется Expert Commentary или включен переключатель Enable Alert. Если переключатель Enable Alert выключен и не используется
Expert Commentary, то код программы заключённый между двумя этими зарезервированными словами будет проигнорирован. Пример:
#BeginCmtryOrAlert
If Close[50] > Close and ADX(Length) > ADX(Length)[ ] then
Alert(«ADX Alert»);
Commentary(ExpertADX(Plot ));
#End;
Данный пример будет подавать сигналы или коментарии, в заваисимости от конкретных условий. Если в данный момент Enable Alert выключен и не используется Expert Commentary данный кусок программы будет проигнорирован.
Text Manipulation (Манипуляции с текстом)
InStr (String , String2)
Возвращает местоположение строки String2 в пределах строки String1. Местоположение характеризуется числом символов с левой стороны строки String1. Если строка String2 была найдена более, чем в одном месте строки String1, то возвращается более близкое местоположение строки String2 к началу String1. Если строка String2 была не найдена в строке String1, то возвращается 0. Примеры :
InStr(«Net Profit in December», «Profit») — возвращает 5.
InStr(«Net Profit in December», «January») — возвращает 0.
LeftStr(Str , sSize)
Возвращает (sSize) первых символов строки (Str ). Отсчёт ведётся с левого края. Строка (Str ) должна быть записана в кавычках, как и любая другая строка используемая в функциях или зарезервированных словах. Естественно, вместо строки может использоваться строковая
переменная . В этом случае кавычки не используются. Это относится ко всем зарезервированным словам и функциям работающим со строками или строковыми
переменными. Пример:
LeftStr(«Net Profit», 3) возвращает «Net».
LowerStr(«Str»)
Возвращает строку «Str » в нижнем регистре. Пример : LowerStr(«Net Profit») возвращает строковое выражение «net profit».
MidStr(«String», Pos, Siz)
Возвращает текстовую подстроку (строки String) состоящую из Siz символов начиная с Pos символа. Пример:
MidStr(«NetProfit in December», 5, 6) — возвращает подстроку «Profit».
NewLine
Данное зарезервированное слово используется для перевода каретки на новую строку . Используется вместе с зарезервированными словами FileAppend и с expert commentary. Пример: FileAppend(«c:\mydata.txt», «This symbol gapped up on » + NumToStr(Date, 0) + NewLine);
NumToStr(Num, Dec)
Конвертирует числовое выражение к строковому выражению.
Num — числовое выражение, которое Вы хотите конвертировать к строковому выражению.
Dec — числовое выражение, указывающее, как много символов нужно отвести в строке под выражение Num. Пример: NumToStr( 1170.5, 2) возвращает строковое выражение «1170.50».
RightStr(Str , sSize)
Укорачивает указанное строковое выражение.
Str — строковое выражение, которое Вы хотите уменьшить. Должно быть указано в кавычках. sSize — числовое выражение, указывающее, какое количество символов (с конца строки Str ) должны быть сохранены, все остальные символы будут удалены. Пример:
RightStr(«Net Profit», 6) возвращает строку «Profit».
Spaces (Cnt)
Добавляет указанное число (Cnt) пробелов в коментарий или тексовую строку вывода. Пример: Print(«Close» + Spaces(5) +NumToStr(Close, 3));
StrLen(Str)
Возвращает количество символов в указанном выражении строки (Str). Естественно, все строковые выражения в любых функциях или зарезервированных словах должны быть заключены в кавычки. Если строковая переменная, то этого делать не надо. Пример:
StrLen(«Net Profit») — возращает 10.
StrToNum («Str»)
Конвертирует строковое выражение (Str) в числовой формат. Если в самой строке присутствуют не числовые символы, то функция вернёт 0. Единственное исключение: когда нечисловые символы расположены в конце строки. Пример:
StrToNum(«1170.50») вернёт 1170.50
UpperStr («Str»)
Данная функция возвращает строку (Str), но написанную заглавными буквами. Пример: UpperStr(«omga») вернёт строку «OMGA».