Общие вопросы по разработке > Вопросы по языку
-
- Сообщения: 535
- Зарегистрирован: 11 ноя 2018, 17:11
- Благодарил (а): 21 раз
- Поблагодарили: 92 раза
Вопросы по языку
Привет всем.
Есть вопросы по языку и доступным "системным" функциям/методам.
К сожалению, документация на этот счет достаточно скупа и неполна. Возможно, авторы считают, что программисты .NET и так догадаются, но лично я на .NET в жизни ни строчки не написал, язык и библиотек не знаю. (М.б. стоит открыть специальный раздел форума на эту тему?)
Дальше вопросы (и замечания к документации, которые, надеюсь, как-то помогут разработчикам её улучшить):
1. В описании языка нет многих вещей, например:
- логических операций (|| && == ! и т.д.)
- синтаксиса приведения типов
2. Опытным путем нащупал слово const, нигде не описанное в документации. Вопрос: влияет ли объявление переменной как const на производительность или без разницы?
3. Производительность: лучше ли присваивать значения из рядов промежуточной локальной переменной: (int i=Some[0];) для многократного использования по ходу вычислений или без разницы?
4. Какие у DateTime есть доступные функции? В документации на этот счет ничего нет. (Сам нашел, например, нужный мне DayOfYear.)
5. Нет описания методов List. Из документации:
AddGlobalVariable("DataList", Types.DoubleList);
}
function Evaluate()
{
DataList.Add(Input[0]);
if ( CurrentIndex >= Period )
DataList.RemoveAt(0);
SMATest = DataList.Average(x => x);
Видны Add, RemoveAt, Average. Что есть еще?
Что за странный параметр в Average? (При компиляции (ошибочного) выражения с '>=' (вместо '=>'), компилятор говорит про лямбда-ф-цию, т.е. намёк понят, но в документации об этом ничего нет.
6. Ничего не сказано о форматировании переменных для логов (ведущие нули/пробелы, точность плавающей точки, формат даты/времени и т.п.). Нашел сам в доках по .NET, интернет не подводит, но неплохо было бы упомянуть в документации хотя бы в виде ссылки на внешний информационный ресурс.
7. Не описана разница употребления положительных и отрицательных индексов ( [-1]/[1] ) в разных (каких?) случаях.
Например, в тексте Momentum:
function OnUpdate()
{
var a = MOMENTUM(Input1, Period);
/// ПРАВИЛО 1
if ( a[0] >= 0 && a[1] < 0) // тут индкс [1]; в описаниях же везде -1...
{
EnterLong();
}
Похоже в индикаторах предыдущее значение имеет индекс -1, в стратегиях же 1,,,
8. Нигде не сказано, в каком порядке писать параметры для вызова индикатора в скрипте: вроде по порядку объявления параметров индикатора?..
9. Клавиши редактора не описаны (удалить строку, например). Ctrl+F сам нашел.
10. В редакторе стратегий:
- при сохранении/компиляции курсор перескакивает на начало текста
- компилятор ссылается на неправильные номера строк с ошибками
- двойной клик на ошибке не приводит к перемещению курсора на нужную строку.
В редакторе индикаторов таких проблем нет.
(Замечания относятся к предыдущей версии, на самой последней еще не проверял, но что-то подсказывает, что вряд ли что измениловсь).
11. Желательна "системная" глобальная переменная режимов "тестирование/оптимизация/всё остальное".
Было бы очень полезно, например, для автоматического выбора уровня логгирования в сценариях.
12. Вообще, можно ли создавать глобальные переменные, видимые в разных скриптах?
13. Можно ли создавать параметры индикаторов кроме целых? А логические флаги, которые в настройке индикатора появлялись бы как checkbox?
14. В описании параметров индикаторов кроме имени присутствует комментарий. Казалось бы логичным, что в настройке индикатора должны появляться именно эти комменты, но там выводятся именно внутренние идентификаторы, которые пользователю мало что говорят. Это неудобно.
15. Логи (я использую WriteLine) пишутся невероятно медленно. Можно как-то ускорить?
16. В текстах на сайте (спасибо за них) можно найти всякие недокументированные ф-ции, например, файловые, из какого-то волшебного System и т.п. Пожалуйста, кто в курсе, "огласите весь список", если возможно.
Есть вопросы по языку и доступным "системным" функциям/методам.
К сожалению, документация на этот счет достаточно скупа и неполна. Возможно, авторы считают, что программисты .NET и так догадаются, но лично я на .NET в жизни ни строчки не написал, язык и библиотек не знаю. (М.б. стоит открыть специальный раздел форума на эту тему?)
Дальше вопросы (и замечания к документации, которые, надеюсь, как-то помогут разработчикам её улучшить):
1. В описании языка нет многих вещей, например:
- логических операций (|| && == ! и т.д.)
- синтаксиса приведения типов
2. Опытным путем нащупал слово const, нигде не описанное в документации. Вопрос: влияет ли объявление переменной как const на производительность или без разницы?
3. Производительность: лучше ли присваивать значения из рядов промежуточной локальной переменной: (int i=Some[0];) для многократного использования по ходу вычислений или без разницы?
4. Какие у DateTime есть доступные функции? В документации на этот счет ничего нет. (Сам нашел, например, нужный мне DayOfYear.)
5. Нет описания методов List. Из документации:
AddGlobalVariable("DataList", Types.DoubleList);
}
function Evaluate()
{
DataList.Add(Input[0]);
if ( CurrentIndex >= Period )
DataList.RemoveAt(0);
SMATest = DataList.Average(x => x);
Видны Add, RemoveAt, Average. Что есть еще?
Что за странный параметр в Average? (При компиляции (ошибочного) выражения с '>=' (вместо '=>'), компилятор говорит про лямбда-ф-цию, т.е. намёк понят, но в документации об этом ничего нет.
6. Ничего не сказано о форматировании переменных для логов (ведущие нули/пробелы, точность плавающей точки, формат даты/времени и т.п.). Нашел сам в доках по .NET, интернет не подводит, но неплохо было бы упомянуть в документации хотя бы в виде ссылки на внешний информационный ресурс.
7. Не описана разница употребления положительных и отрицательных индексов ( [-1]/[1] ) в разных (каких?) случаях.
Например, в тексте Momentum:
function OnUpdate()
{
var a = MOMENTUM(Input1, Period);
/// ПРАВИЛО 1
if ( a[0] >= 0 && a[1] < 0) // тут индкс [1]; в описаниях же везде -1...
{
EnterLong();
}
Похоже в индикаторах предыдущее значение имеет индекс -1, в стратегиях же 1,,,
8. Нигде не сказано, в каком порядке писать параметры для вызова индикатора в скрипте: вроде по порядку объявления параметров индикатора?..
9. Клавиши редактора не описаны (удалить строку, например). Ctrl+F сам нашел.
10. В редакторе стратегий:
- при сохранении/компиляции курсор перескакивает на начало текста
- компилятор ссылается на неправильные номера строк с ошибками
- двойной клик на ошибке не приводит к перемещению курсора на нужную строку.
В редакторе индикаторов таких проблем нет.
(Замечания относятся к предыдущей версии, на самой последней еще не проверял, но что-то подсказывает, что вряд ли что измениловсь).
11. Желательна "системная" глобальная переменная режимов "тестирование/оптимизация/всё остальное".
Было бы очень полезно, например, для автоматического выбора уровня логгирования в сценариях.
12. Вообще, можно ли создавать глобальные переменные, видимые в разных скриптах?
13. Можно ли создавать параметры индикаторов кроме целых? А логические флаги, которые в настройке индикатора появлялись бы как checkbox?
14. В описании параметров индикаторов кроме имени присутствует комментарий. Казалось бы логичным, что в настройке индикатора должны появляться именно эти комменты, но там выводятся именно внутренние идентификаторы, которые пользователю мало что говорят. Это неудобно.
15. Логи (я использую WriteLine) пишутся невероятно медленно. Можно как-то ускорить?
16. В текстах на сайте (спасибо за них) можно найти всякие недокументированные ф-ции, например, файловые, из какого-то волшебного System и т.п. Пожалуйста, кто в курсе, "огласите весь список", если возможно.
- evge
- Администратор
- Сообщения: 1812
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 367 раз
- Контактная информация:
Re: Вопросы по языку
Приветствую, что могу отвечу (я не разработчик АД)
Операторы
Конкретнее: Операторы равенства
List Class
List Class. Методы
Нет разницы, можно использовать оба варианта, как нравится.
Человекочитаемо [-1] [-2], т.е. на бар назад, на два бара назад.
Но привычнее [0] [1] [2] [3], ближе к программированию , неотрицательный индекс.
Там логично, что всё по порядку их описания. В том же порядке и задаем в коде.
Глоб. переменные видны только в рамках созданного индикатора, стратегии. Есть конечно варианты с промежуточным хранением в файлах (например).
Нет. Задавал я как то вопрос про задание параметром строки, но мне ответили сейчас нет (может подумают), а вообще т.к. нет необходимости в рамках использования АД4 таких типов для параметров.
С логическими проще, 0 - false, не 0 - true.
Но задавать такое пользователем конечно некрасиво, чекбокс был бы лучше конечно.
Как помню, они используются в стратегиях. Т.е. для стратегий они актуальны. В тестировании и оптимизации будет видно описание параметра.
BugsDigger писал(а):1. В описании языка нет многих вещей, например:
- логических операций (|| && == ! и т.д.)
- синтаксиса приведения типов
Операторы
Конкретнее: Операторы равенства
BugsDigger писал(а):5. Нет описания методов List. Из документации
List Class
List Class. Методы
BugsDigger писал(а):7. Не описана разница употребления положительных и отрицательных индексов ( [-1]/[1] ) в разных (каких?) случаях
Нет разницы, можно использовать оба варианта, как нравится.
Человекочитаемо [-1] [-2], т.е. на бар назад, на два бара назад.
Но привычнее [0] [1] [2] [3], ближе к программированию , неотрицательный индекс.
BugsDigger писал(а):8. Нигде не сказано, в каком порядке писать параметры для вызова индикатора в скрипте: вроде по порядку объявления параметров индикатора?..
Там логично, что всё по порядку их описания. В том же порядке и задаем в коде.
BugsDigger писал(а):12. Вообще, можно ли создавать глобальные переменные, видимые в разных скриптах?
Глоб. переменные видны только в рамках созданного индикатора, стратегии. Есть конечно варианты с промежуточным хранением в файлах (например).
BugsDigger писал(а):13. Можно ли создавать параметры индикаторов кроме целых? А логические флаги, которые в настройке индикатора появлялись бы как checkbox?
Нет. Задавал я как то вопрос про задание параметром строки, но мне ответили сейчас нет (может подумают), а вообще т.к. нет необходимости в рамках использования АД4 таких типов для параметров.
С логическими проще, 0 - false, не 0 - true.
Но задавать такое пользователем конечно некрасиво, чекбокс был бы лучше конечно.
BugsDigger писал(а):14. В описании параметров индикаторов кроме имени присутствует комментарий. Казалось бы логичным, что в настройке индикатора должны появляться именно эти комменты, но там выводятся именно внутренние идентификаторы, которые пользователю мало что говорят. Это неудобно.
Как помню, они используются в стратегиях. Т.е. для стратегий они актуальны. В тестировании и оптимизации будет видно описание параметра.
никогда такого не было и вот опять
-
- Сообщения: 535
- Зарегистрирован: 11 ноя 2018, 17:11
- Благодарил (а): 21 раз
- Поблагодарили: 92 раза
Re: Вопросы по языку
Привет, evge.
Спасибо за информацию.
> (я не разработчик АД)
Это мы понимаем. Разработчики постоянно прячутся почему-то... Даже официальный форум фактически закрыт как бы за ненадобностью...
>> Не описана разница употребления положительных и отрицательных индексов
> Нет разницы, можно использовать оба варианта.
Вот это да, никогда бы не подумал, честно говоря.
Спасибо за информацию.
> (я не разработчик АД)
Это мы понимаем. Разработчики постоянно прячутся почему-то... Даже официальный форум фактически закрыт как бы за ненадобностью...
>> Не описана разница употребления положительных и отрицательных индексов
> Нет разницы, можно использовать оба варианта.
Вот это да, никогда бы не подумал, честно говоря.
-
- Сообщения: 80
- Зарегистрирован: 23 мар 2018, 10:54
- Поблагодарили: 2 раза
Re: Вопросы по языку
Да! Неожиданно обнаружил, что офиц. форума на сайте А-Д уже нет!!
Вот так сюрприз!!
Да и в целом АБ себя ведет странно. В банк-клиенте коры какие-то. Небанковские совсем коры.
Хотя конечно у Сбера кор еще больше и они еще более корочные и небанковские.
И вон сегодня ВТБ новость отмочил - в отчетности перепутали кредиты.
Видимо, это тренд - снижение уровня банковой грамотности в банках.
Вот так сюрприз!!
Да и в целом АБ себя ведет странно. В банк-клиенте коры какие-то. Небанковские совсем коры.
Хотя конечно у Сбера кор еще больше и они еще более корочные и небанковские.
И вон сегодня ВТБ новость отмочил - в отчетности перепутали кредиты.
Видимо, это тренд - снижение уровня банковой грамотности в банках.
- Indigo-On
- Сообщения: 61
- Зарегистрирован: 28 ноя 2018, 18:44
- Откуда: Russia
- Благодарил (а): 25 раз
- Поблагодарили: 9 раз
Re: Вопросы по языку
BugsDigger писал(а):2. Опытным путем нащупал слово const, нигде не описанное в документации. Вопрос: влияет ли объявление переменной как const на производительность или без разницы?
На производительность не влияет, т.к. после компиляции код для
const double a = 1.3331;
и
double a = 1.3331;
будет идентичным. Компилятор только проверяет, чтобы переменной с const в программе не присваивалось значение повторно.
BugsDigger писал(а):13. Можно ли создавать параметры индикаторов кроме целых? А логические флаги, которые в настройке индикатора появлялись бы как checkbox?
В скриптах я передаю параметры в AddParameter типа double, т.е. не целые.
Логические флаги использовать нельзя.
-
- Сообщения: 535
- Зарегистрирован: 11 ноя 2018, 17:11
- Благодарил (а): 21 раз
- Поблагодарили: 92 раза
Re: Вопросы по языку
Привет, Indigo-On.
Спасибо за отклик.
>> const
> На производительность не влияет
ОК, понятно.
>> Можно ли создавать параметры индикаторов кроме целых?
> В скриптах я передаю параметры в AddParameter типа double, т.е. не целые.
Вот с этим-то у меня проблема: Проблема с вводом нецелых параметров индикаторов
В тестировании нецелые параметры работают (судя по выходным "картам" оптимизации), но когда я пытаюсь ввести нецелое значение просто в индикатор для вывода его поведения на графике, введенное нецелое значение параметра игнорируется, а вместо него используется дефолтное значение; если ввожу целое - да, принимает его нормально.
Спасибо за отклик.
>> const
> На производительность не влияет
ОК, понятно.
>> Можно ли создавать параметры индикаторов кроме целых?
> В скриптах я передаю параметры в AddParameter типа double, т.е. не целые.
Вот с этим-то у меня проблема: Проблема с вводом нецелых параметров индикаторов
В тестировании нецелые параметры работают (судя по выходным "картам" оптимизации), но когда я пытаюсь ввести нецелое значение просто в индикатор для вывода его поведения на графике, введенное нецелое значение параметра игнорируется, а вместо него используется дефолтное значение; если ввожу целое - да, принимает его нормально.
- Indigo-On
- Сообщения: 61
- Зарегистрирован: 28 ноя 2018, 18:44
- Откуда: Russia
- Благодарил (а): 25 раз
- Поблагодарили: 9 раз
Re: Вопросы по языку
BugsDigger писал(а):Привет, Indigo-On.
Вот с этим-то у меня проблема: Проблема с вводом нецелых параметров индикаторов
Ответил в теме http://alfadirect4.ru/viewtopic.php?f=5&t=561
Вернуться в «Общие вопросы по разработке»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя