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

Учебник по языку программирования Easy Language

ПРИЛОЖЕНИЕ 1. Синтаксические ошибки EasyLanguage

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


61 "Word not recognized by EasyLanguage."
"Слово, не распознанное EasyLanguage" Эта ошибка отображается всякий раз, когда слово не распознано PowerEditor. Например, если это - не зарезервированное слово EasyLanguage, не функция EasyLanguage или объявленная определяемая пользователем переменная, не массив или имя входа.


62 "Invalid number."
"Недопустимое число" PowerEditor отображает это сообщение всякий раз, когда находит типографскую ошибку в числе. Например, если вставлен ошибочный символ в числе, то число будет подсвечено и эта ошибка будет отображена. Пример недопустимого числа - 100,b4


63 "Number out of range."
"Число вне диапазона" PowerEditor отображает эту ошибку всякий раз, когда обнаруживает число, которое находится вне поддерживаемого диапазона (число, которое является слишком большим). Следующая инструкция продуцирует данную ошибку:
Value1 =; 99999999999999999999


65 "Invalid variable name."
"Недопустимое имя переменной" PowerEditor отображает эту ошибку всякий раз, когда находит недопустимое название в инструкции объявления переменной. Имена переменных не могут начинаться с числа и других специальных символов, кроме подчеркивания (_). Например, данная ошибка будет сгенерирована, когда проверена следующая инструкция:
Variable: $MyVariable (0);


66 "Invalid input name."
"Недопустимое имя константы" PowerEditor отображает эту ошибку всякий раз, когда находит недопустимое имя в инструкции объявления константы. Названия констант не могут начинаться с числа и других специальных символов, кроме подчеркивания (_). Например, данная ошибка будет сгенерирована, когда проверена следующая инструкция:
Input: $MyInput (0);


70 "Array size cannot exceed 2 billion elements."
"Размер массива не может превышать 2 миллиарда элементов" Массивы могут иметь до 2 миллиардов элементов. Число элементов рассчитывается умножением все измерений массива. Например, объявленный с использованием следующей инструкции массив, будет иметь 66 элементов:
Array: MyArray[10,5](0);
Этот массив будет иметь строки от 0 до 10, и столбцы от 0 до 5; другими словами - 11 строк и 6 столбцов. Результат от умножения измерений массива не может превысить 2 миллиарда.


74 "Invalid array name."
"Недопустимое имя массива" PowerEditor отображает данную ошибку всякий раз, когда находит недопустимое имя в инструкции объявления массива. Название массива не может начинаться с числа и другого специального символа, кроме подчеркивания (_). Например, данная ошибка будет сгенерирована, когда проверена следующая инструкция:
Array: $MyArray [10] (0) ;


90 "The first jump command must be a begin: (\ \hb,\ \pb,\ \wb)"
"Первой командой перехода должна быть начальная: (\ \hb,\ \pb,\ \wb)" Эта ошибка отображается, когда PowerEditor находит в текстовой строке конечную команду перехода без начальной команды перехода. Конечные команды перехода:
\he
\pe
\we
Перед этими командами должна использоваться начальная команда перехода. Обратите внимание: при определении имени файла для зарезервированных слов Print() or FileAppend(), файлы, которые начинаются с любой из команд перехода, генерируют данную ошибку. Так что имя файла в "c:\hello.txt" генерирует ошибку, т.к. часть названия \he.


91 "You cannot nest jump commands within other jump commands."
"Вы не можете вложить команды перехода в пределах других команд перехода" Команды перехода используются в связанных с комментарием текстовых строковых выражениях, чтобы подсветить слова, и создать связи со строками справки. Команды перехода не могут быть вложены, т.е. не может быть несколько начальных команд перехода, не имеющих соответствующих связей с конечными командами перехода.


92 "You must terminate all jump commands with ends (\\he,\\pe,\\we)"
"Вы должны закрыть все команды перехода конечными командами (\\he,\\pe,\\we) " Эта ошибка отображается, когда PowerEditor находит в текстовой строке начальную команду перехода без конечной команды перехода. Начальные команды перехода:
\hb
\pb
\wb
После этих команд должна использоваться конечная команда перехода. Обратите внимание: при определении имени файла для зарезервированных слов Print() or FileAppend(), файлы, которые начинаются с любой из команд перехода, генерируют данную ошибку. Так что имя файла в "c:\hello.txt" генерирует ошибку, т.к. часть названия \he.


151 "This word has already been defined."
"Это слово было уже определено" Определяемые пользователем слова (типа переменных, массивов, констант) должны иметь уникальные имена. Данная ошибка генерируется, когда определяемое пользователем слово используется не один раз, как в следующем примере:
Input: vac(10);
Variable: vac (0) ;


154 "=, <>, >, >=, <, <= expected here."
" =, <>,>,> =, <, <= ожидается здесь" Эта ошибка отображается, когда PowerEditor оценивает комплексные выражения true/false и находит ошибку в пределах выражения.
Condition1 = Condition2 = Close ;
Намерение этой инструкции состояло в том, чтобы назначить сложное истинно-ложное значение на переменную Condition1, используя Condition2 и сравнение, которое включает Close. Исправленная версия выглядела бы следующим образом:
Condition1 = Condition2 AND Open = Close;


155 " '(' expected here."
" '(' ожидается здесь" Левая круглая скобка ожидалась перед подсвеченным словом; например, если Вы используете функцию, которая требует параметров, но никакие параметры не внесены в список.
Value1 = Average + 10;
В данном примере подсветка показывает, что круглая скобка ожидалась перед знаком "+".


156 " ')' expected here."
" ')' ожидается здесь" Правая круглая скобка ожидалась после подсвеченного слова; например, если Вы используете функцию, которая требует параметров, Вы должны включить их в круглые скобки.
Value1 = Average(Close, 10 ;
Здесь подсветка показывает, что закрывающая круглая скобка ожидалась перед ";".


157 "Arithmetic (numeric) expression expected here."
"Числовое выражение ожидается здесь" Эта ошибка отображается всякий раз, когда PowerEditor ожидает число или числовое выражение, а находит истинно-ложное выражение, строковое значение или любое другое ключевое слово, которое не возвращает числовое выражение. Например, функция Average(), ожидающая два числовых выражения, как представлено ниже:
Value1 = Average(Condition1, 10);
генерирует ошибку, так как Condition1 - истинно-ложное выражение.


158 "An equal sign '=' expected here."
"Знак "=" '=' ожидается здесь" Эта ошибка отображается, если опущен знак "=" при назначении значения на переменную, массив или функцию (запись оператора присваивания). Например, следующая инструкция вызовет ошибку:
Value1 10 ;
которая исправляется добавлением знака "=" :
Value1 = 10;


159 "This word cannot start a statement."
"Это слово не может запустить инструкцию" Не все слова могут использоваться, чтобы запустить инструкцию. Например, информационное слово Close не может использоваться, чтобы запустить инструкцию. Обычно зарезервированные слова, которые генерируют некоторое действие, используются в начале инструкций типа Buy, Plot1 или If-Then.


160 "Semicolon (;) expected here."
"Точка с запятой (;) ожидается здесь" Все инструкции EasyLanguage должны заканчиваться точкой с запятой. Всякий раз, когда PowerEditor находит слово или выражение, которое может интерпретироваться как новая строка, он размещает курсор перед этим выражением и показывает данную ошибку. Например, следующие инструкции продуцируют эту ошибку:
Value1 = Close + Open |
Buy Next Bar at Value1 Stop;
Учитывая, что слово Buy всегда используется в начале инструкции, чтобы разместить торговый ордер, точка с запятой требуется после Open.


161 "The word THEN must follow an If condition."
"Слово THEN должен следовать за If условием" Эта ошибка отображается всякий раз, когда слово Then опущено в инструкции If-Then. Слово Then должно всегда следовать за условием инструкции If-Then. Правильный синтаксис для инструкции If-Then:
If Condition1 Then {любая операция}


162 "STOP, LIMIT, CONTRACTS, SHARES expected here."
"STOP, LIMIT, CONTRACTS, SHARES ожидается здесь" Эта ошибка отображается PowerEditor, если он находит числовое выражение после торгового приказа без включения одного из вышеупомянутых слов. Числовое выражение может использоваться в торговом ордере, чтобы определить количество акций (или контрактов) и/или определить цену стопового или лимитированного приказа. Например, выражение:
Buy Next Bar at Low – Range ;
является неправильным, потому что оно не включает торговый приказ после Range. Чтобы сделать это выражение правильным, Вы можете добавить слово Stop или Limit, как показано ниже:
Buy Next Bar at Low - Range Stop;


163 "The word TO or DOWNTO was expected here."
"Слово TO или DOWNTO ожидается здесь" Эта ошибка отображается всякий раз при записи For loop, когда слово to или downto опущено. Правильный синтаксис для For loop:
For Value1 = 1 To 10 Begin
{инструкция}
End;


165 "The word BAR or BARS expected here."
"Слово BAR или BARS ожидается здесь" Эта ошибка отображается при ссылке на значению предыдущего бара, когда слово Bar опущено. Например, следующая инструкция вызовет эту ошибку:
Value1 = Close of 10 Ago ;
Правильный синтаксис:
Value1 = Close of 10 Bars Ago;


166 "The word AGO expected here."
"Слово AGO ожидается здесь" Эта ошибка отображается, когда PowerEditor находит ссылку в любом выражении на число баров без использования фразы Bars Ago. Например:
Value1 = Close of 10 Bars ;
генерирует эту ошибку, потому что слово Ago отсутствует. Правильный синтаксис для этого выражения:
Value1 = Close of 10 Bars Ago;


167 " '}' was expected before end of file."
" '}' ожидается в конце файла" Чтобы добавить комментарий в EasyLanguage, необходимо включить текст комментария в фигурные скобки "{'and'}". Сообщение об ошибке отображается, когда левая фигурная скоба найдена без соответствующей правой фигурной скобки.
{ комментарий трейдера Джоя
If Close > Highest (High, 10)[1] Then
Buy Next Bar at Market; |
В примере выше, правая фигурная скобка была опущена где-нибудь перед вертикальным курсором. В этом примере правая изогнутая скоба должна была быть помещена после слова "Джоя".


168 " '['was expected here."
" '[' ожидается здесь" При объявлении, назначении или ссылке на значениях массива, Вы обязаны использовать квадратные фигурные скобки, чтобы определить элемент(ы) массива. Эта ошибка отображается, если левая квадратная скобка не использовалась при работе с массивом.
Array: MyArray ( 10 ) ;
Например, здесь показано подсветкой, что квадратная скобка, соответствующая объявленному числу элементов массива, ожидается перед круглой скобкой.


169 " ']' was expected here."
" ']' ожидается здесь" При работе со смещениями баров или массивами, бар или индекс массива должны быть включены в квадратные скобки. Данное сообщение отображается, если правая квадратная скобка отсутствует.
Value1 = Close[10 * 1.05 ;
В этом примере, подсветка указывает, что где-нибудь перед точкой с запятой должна быть помещена квадратная скобка. Обратите внимание, что, так как PowerEditor ожидает квадратную скобку, то он размещает подсветку после последнего символа в числовом выражении. Однако, в этом случае, правая скобка была вероятно предназначена, чтобы быть помещенной после числа 10.


170 "Assignment to a function not allowed."
"Назначение на функцию не разрешается" Эта ошибка отображается, когда Вы пытаетесь назначить значение на функцию. По определению, функция - процедура EasyLanguage, которая возвращает значение, так что невозможно назначить значение на функцию (кроме как, при возвращении значения изнутри функции).
Average = 100.1245;
В данном примере подсвеченное имя функции указывает, что Вы не можете назначить это значение.


171 "A value was never assigned to user function."
"Нигде не назначено значение на функцию пользователя" По определению, функция - набор инструкций, которые возвращают значение. Эта ошибка будет отображена при редактировании или создании функции, и PowerEditor находит, что никакое значение не было назначено на функцию. Инструкция, подобная следующей ниже, должна быть включена в каждую функцию:
MyFunction = Value;
где MyFunction - название функции, а Value - выражение, которое будет возвращено при ссылке на функцию.


172 "Either NUMERIC, TRUEFALSE, STRING, NUMERICSIMPLE, NUMERICSERIES, TRUEFALSESIMPLE, TRUEFALSESERIES, STRINGSIMPLE, or STRINGSERIES expected."
"Ожидается любое из NUMERIC, TRUEFALSE, STRING, NUMERICSIMPLE, NUMERICSERIES, TRUEFALSESIMPLE, TRUEFALSESERIES, STRINGSIMPLE или STRINGSERIES" При объявлении входов в функции необходимо определить тип каждого входа. Эта ошибка генерируется, когда любое слово или значение, отличное от правильного (допустимого) типа входа, используется при объявлении входов функции.


174 "Function not verified."
"Функция не проверена" Для того, чтобы произвести проверку ордера в методике анализа, необходимо, чтобы все функции, используемые методикой анализа, были также проверены. Данная ошибка отображается, если есть функция, которая не проверена, а Вы пытаетесь проверять методику анализа. Чтобы решить эту проблему, откройте функцию и проверьте ее, или выполните "Verify All" в меню PowerEditor.


175 " ',' or' )' expected here."
" ',' or ' )' ожидается здесь" Эта ошибка отображается при перечислении множества элементов в круглых скобках, и точка с запятой читается прежде, чем список закончен.
Value1 = Average(Close, 10 ;
В данном случае подсветка указывает, что ожидается следующий параметр (отделенный запятой) или правая круглой скобка перед точкой с запятой.


176 "More inputs expected here."
"Больше констант ожидается здесь" Эта ошибка отображается при ссылке функции или включения сигнала без определения достаточного количества констант. В следующем примере:
Value1 = Average ( Close ) ;
отображается ошибка, потому что только одна константа определена, в то время как функция Average требует двух констант: 1) цену, которая будет усреднена и 2) число баров.


177 "Too many inputs supplied."
"Слишком много констант ведено" PowerEditor отображает эту ошибку, когда слишком много констант введено для функции. Например, функция Average требует только двух констант, так что следующая инструкция генерирует данную ошибку:
Value1 = Average(Close, 10 , 5);
Правильный синтаксис был бы
Value1 = Average (Close, 10);


180 "The word #END was expected before end of file."
"The word #END was expected before end of file." The compiler directive #END must be used to indicate the end of a group of statements included in the alert or commentary only section of an analysis technique. The alert and commentary compiler directives will allow certain instructions to be executed only when the alert or commentary is enabled.


181 "There can only be 10 dimensions in an array."
"Может быть только 10 измерений в массиве" Массивы могут иметь до 10 измерений. Правильный синтаксис для создания многомерное массива:
Array: MyArray[10,10,10](0);
Эта инструкция создает трехмерный массив 11x11x11.


183 "More than 100 errors. Verify termination."
"Более 100 ошибок. Проверка завершена" Когда PowerEditor проверяет документ на корректность, он продолжает оценивать выражения, пока не находит 100 ошибок. Эти ошибки будут находится в файле регистрации ошибок, как только процесс проверки будет закончен. Если PowerEditor находит больше чем 100 ошибок, он остановит процесс и отобразит это сообщение.


185 "Either HIGHER or LOWER expected here."
"Или HIGHER или LOWER ожидается здесь" При определении команды выполнения для ордера в сигнале, возможно использовать слова or Higher и or Lower, как синонимы stop и limit. Данная ошибка происходит, когда слово or найдено в ордере без слов Higher или Lower. Ниже - надлежащий синтаксис для такой инструкции:
Buy Next Bar at Low - Range or Lower;


186 "Input name too long."
"Имя константы слишком длинное" Имена констант в любой методике анализа PowerEditor могут быть не более чем из 20 символов. Данная ошибка отображается PowerEditor всякий раз, когда имя состоит более чем из 20 символов.


187 "Variable name too long."
"Имя переменной слишком длинное" Имена переменных могут иметь до двадцати символов. Эта ошибка отображается всякий раз, когда переменная объявлена с названием, которое содержит больше чем двадцать символов.


188 "The word BEGIN expected here."
"Слово BEGIN ожидается здесь" Эта ошибка генерируется всякий раз, когда PowerEditor ожидает блочную инструкцию. Например, все циклы требуют операторов блока Begin and End; т.о. следующая запись генерируют данную ошибку:
For Value1 = 1 To 10
Value10 = Valuel0 + Volume[Value1];
Правильный синтаксис:
For Value1 = 1 To 10 Begin
Value10 = Value10 + Volume[Value1];
End;


189 "This word not allowed in a signal."
"Это слово не разрешено в сигнале" Слово, подсвеченное PowerEditor, не позволяется в Сигнале. Слова, подобные Plot1, TheoreticalValue, ModelVolatility и т.п., не позволяются в Сигнале.


190 "This word not allowed in a function."
"Это слово не разрешено в функции" Слово, подсвеченное PowerEditor, не позволяется в функции. Слова, подобные Plot1, Buy, Sell и т.п., не позволяются в функциях.


191 "This word not allowed in a study."
"Это слово не разрешено в изучении" Слово, подсвеченное PowerEditor, не позволяется в изучении. Слова, подобные Plot1, Buy, Sell и т.д., не позволяются в изучениях.


192 "This word not allowed in an ActivityBar."
"Это слово не разрешено в ActivityBar" Слово, подсвеченное PowerEditor, не позволяется в изучении ActivityBar. Слова, подобные Plot1, Buy, Sell и т.д., не позволяются в изучениях ActivityBar.


193 "Comma (,) expected here."
"Запятая ( , ) ожидается здесь" Запятые используются, чтобы отделить элементы в списке; например при объявлении множественных констант или переменных, или когда вносится список параметров функции. Эта ошибка генерируется всякий раз, когда PowerEditor находит два слова, которые возможно являются частью списка и не отделены запятой. Например, в следующем примере:
Inputs: Price(Close) | Length(10);
запятая после первой константы отсутствует. PowerEditor размещает вертикальный курсор в месте, где он ожидал запятую.


195 "Matching quote is missing."
"Соответствующая кавычка отсутствует" Все текстовые строковые выражения должны быть в пределах двойных кавычек. Данная ошибка будет отображаться всякий раз, когда нет соответствующей кавычки вокруг текстового строкового выражения. Например, следующая инструкция произведет эту ошибку:
Variable: Txt(" ");
Txt = "This is an example;
потому что отсутствует кавычка справа от текстового выражения. Правильный синтаксис для этого выражения:
Variable: Txt(" ");
Txt = "This is an example";


197 "Signal not verified."
"Сигналов не проверен" Для того, чтобы проверить торговый сигнал, надо сначала проверить любые сигналы, на которые ссылается упомянутый торговый сигнал, с помощью зарезервированного слова IncludeSignal. Данная ошибка отображается, если Вы пытаетесь проверять торговый сигнал, который ссылается на непроверенный сигнал. Чтобы решить эту проблему, откройте сигнал, на который ссылаются и проверьте его, или выполните "Verify All" в меню PowerEditor.


200 "Error found in function."
"Ошибка найдена в функции" Эта ошибка отображается при проверке методики анализа, которая обращается к непроверенной функции. Единственное решение состоит в том, чтобы открыть функцию, проверить ее и затем возвратиться к методике анализа.


201 "User function cannot refer to current cell of itself."
"Функция пользователя не может обратиться к своему текущему элементу" Простая функция не может обратиться к значению этой же функции в пределах ее вычислений. Однако, если ее определить как серийную функцию, то она может обратиться к своим предыдущим значениям. Например, следующая простая функция генерирует ошибку:
MyFunction = MyFunction + Volume;
потому что вычисление обращается к текущему значению функции. Если установить параметр функции "Series", следующее выражение становится правильным при использовании предыдущего значение функции:
MyFunction = MyFunction[1] + Volume;


204 "Orders cannot be inside a loop."
"Ордера не могут быть в цикле" EasyLanguage не разрешает торговые ордера, которые будут помещены в For or While loop (Цикл с условием продолжения). Если намерение размещения ордера в цикле состоит в том, чтобы увеличить число акций или контрактов, обрабатываемых сигналом, то это можно сделать, поместив в цикл вычисление числа акций или контрактов, а затем использовать результат в команде ордера, после того, как цикл закончен. Например,
While Condition1 Begin
Value1 = <вычисление числа акций>;
End;
Buy Value1 Shares Next Bar at Market;


205 "Statement does not return a value."
"Инструкция не возвращает значение" Эта ошибка отображается при попытке возвратить значение из инструкции, не предназначенной, чтобы возвращать значение, вроде тех, которые устанавливают или изменяют значение. Например:
Value1 = AB_SetZone (High, Low, RightSide);
Чтобы исправлять эту ошибку, не назначайте выражение на переменную:
AB_SetZone(High, Low, RightSide);


208 "CONTRACTS, SHARES expected here."
"CONTRACTS, SHARES ожидается здесь" Когда записывается инструкция EasyLanguage для размещения ордера, невозможно определить, сколько контрактов или акций сигнал должен использовать, чтобы открыть (или закрыть) позицию. Данная ошибка будет генерироваться PowerEditor всякий раз, когда он находит числовое выражение после торгового приказа, который не сопровождается словом Stop, Limit, or Higher или or Lower. Например:
Buy 100;
генерирует ошибку, потому что не ясно: "100" - часть команды для определения числа акций или команды выполнения (цена, в которую ордер должен быть помещен). Правильная инструкция может быть такой:
Buy 100 Shares;


209 "Signal name expected within quotes."
"Имя сигнала ожидается в пределах кавычек" При определении названия ордера, он должно быть включено в пределы круглых скобок и двойных кавычек. Данная ошибка отображается, если название отсутствует или не обеспечено кавычками. Например, следующая инструкция вызовет данную ошибку:
ExitLong From Entry ( ) Next Bar at Market;


211 "Signal cannot call itself."
"Сигнал не может вызвать себя" Сигнал не может ссылаться непосредственно при использовании зарезервированного слова IncludeSignal. (?)


213 "Error found in signal."
"Ошибка найдена в сигнале" Эта ошибка отображается при проверке сигнала, содержащего зарезервированное слово IncludeSignal, который ссылается на непроверенный сигнал. Единственное решение состоит в том, чтобы открыть непроверенный сигнал, проверить его, а затем возвратиться к оригинальному сигналу.


214 "Colon (:) expected here."
"Двоеточие (:) ожидается здесь" EasyLanguage ожидает, что двоеточие используется при объявлении некоторых элементов языка, вроде констант, переменных, массивов и DLL. Чтобы объявлять новую константу, слово input должно сопровождаться двоеточием, а затем следует список входных имен. Данная ошибка будет отображаться всякий раз, когда двоеточие отсутствует в таком выражении, например:
Input MyValue(10);
Так как нет двоеточия после слова 'Input', то слово MyValue подсвечено, и отображено сообщение об ошибке. Чтобы исправлять ошибку, просто добавьте двоеточие после 'Input':
Input: MyValue(10);


215 "Cannot use next bar's price and close order in the same signal."
"Невозможно использовать цену следующего бара и закрывать ордер в одном и том же сигнале" EasyLanguage не поддерживает информацию, использующую следующий бар (Date, Time или Open) и размещение ордера в момент закрытия текущего бара в одном и том же сигнале. Если команды не связаны, они должны быть написаны как различные сигналы и объединены с использованием TradeStation StrategyBuilder.
Следующая инструкция генерирует ошибку, потому что она включает ссылку на открытие следующего бара и размещает ордер на закрытии текущего бара:
If Open of Next Bar > Price Then Buy This Bar on Close;


217 "Function circular reference found."
"Найдена циклическая зависимость функций" Циклическая зависимость определяется как две формулы, которые обращаются друг к другу в своих соответствующих вычислениях. Такой тип формулы не может быть решен EasyLanguage, поэтому всякий раз, когда найдена циклическая зависимость, будет отображаться данная ошибка.
Например, циклическая зависимость может случиться, если имеется функцию A, которая определена как значение текущего бара в функции B плюс 1, а определение функции B - значение текущего бара в функции А плюс 1. Чтобы вычислять значение функции A, необходимо значение B, но чтобы вычислить B, необходимо значение А. Поэтому, невозможно получить значения этих функций, и генерируется данная ошибка.


220 "Cannot anchor a global exit."
"Невозможно прикрепить общий выход" К ценовым данным бара, на котором был размещен ордер входа в позицию, можно обратиться от выхода из позиции, используя At$. Это возможно только тогда, когда ордер входа имеет метку и если выход связан с входом. Ошибка будет генерироваться, если вход не помечен или если выход не определяет, какой вход он должен закрывать. Например, следующий выход вызовет данную ошибку:
If Condition1 Then
Buy ("MyEntry") This Bar on Close;
ExitLong At$ Low - 1 Stop;
так как выход не определяет соответствующего название входа соответствия. Правильный синтаксис:
If Condition1 Then
Buy ("MyEntry") This Bar on Close;
ExitLong From Entry ("MyEntry") At$ Low - 1 Stop;


223 "A simple function cannot call itself."
"Простая функция не может вызвать себя" Исторические значения простых функций недоступны EasyLanguage, так что обращаться к своим предыдущим значениям в вычислениях не позволяется. Если это необходимо, измените функцию на серийную.
MyFunction = MyFunction [1] + Volume;
Например, если MyFunction - простая функция, вышеуказанная ссылка на значение MyFunction один бар назад не позволяется в этом вычислении.





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




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