Терминал > Проблема с вводом нецелых параметров индикаторов

Обсуждение терминала Альфа-Директ 4
BugsDigger
Сообщения: 535
Зарегистрирован: 11 ноя 2018, 17:11
Благодарил (а): 21 раз
Поблагодарили: 92 раза

Проблема с вводом нецелых параметров индикаторов

Сообщение BugsDigger » 12 ноя 2018, 08:08

Привет всем.

Попытки ввести нецелое значение параметра в индикаторе безуспешны.
После закрытия панели настройки индикатора и открытия ее заново введенное значение округляется до целого (или просто сбрасывается в дефолт? Сейчас терминала нет под рукой, точно не помню). Исключение составляет дефолтное значение параметра: если нецелое значение равно дефолтному, то оно сохраняется (и, наверное, даже работает).

Проверено как со встроенными, так и с пользовательскими индикаторами, в том числе в самой последней версии.

Эта странность не позволяет ввести оптимизированное нецелое (double) значение параметра.

Это только я такой несчастливый или у всех так?

Аватара пользователя
evge
Администратор
Сообщения: 1811
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 367 раз
Контактная информация:

Re: Проблема с вводом нецелых параметров индикаторов

Сообщение evge » 12 ноя 2018, 08:17

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

BugsDigger
Сообщения: 535
Зарегистрирован: 11 ноя 2018, 17:11
Благодарил (а): 21 раз
Поблагодарили: 92 раза

Re: Проблема с вводом нецелых параметров индикаторов

Сообщение BugsDigger » 12 ноя 2018, 11:40

Привет, evge.
Спасибо за отклик.

evge писал(а):В той версии что у меня проверил, всё сохраняется.


Нда, странно...
Вечером дома соберу и пришлю подробную информацию (пример кода, скриншоты). Может что неправильно делаю, хотя всё вроде по уставу ...

BugsDigger
Сообщения: 535
Зарегистрирован: 11 ноя 2018, 17:11
Благодарил (а): 21 раз
Поблагодарили: 92 раза

Re: Проблема с вводом нецелых параметров индикаторов

Сообщение BugsDigger » 12 ноя 2018, 20:48

Ну вот, как обещал.

Test.script

Код: Выделить всё

function Initialize()
{
 IndicatorName = "Test";
 PriceStudy = true;
 AddInput("Input", Inputs.Candle);           
 AddParameter("N", 4.0, "Dummy param");                   
 AddSeries("Test", DrawAs.Line, Color.Black);   
}

function Evaluate()
{
 Test=N;
}


Исходно (дефолтное значение 4.0):
1.png
1.png (11.1 КБ) 30462 просмотра


Настройка (новое значение 4.5):
2.png
2.png (9.14 КБ) 30462 просмотра


Результат (опять 4.0):
3.png
3.png (10.59 КБ) 30462 просмотра


Если открыть настройку - там ровно 4.

В чем проблема ?..

Аватара пользователя
evge
Администратор
Сообщения: 1811
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 367 раз
Контактная информация:

Re: Проблема с вводом нецелых параметров индикаторов

Сообщение evge » 12 ноя 2018, 21:50

В индикаторе, проверил, в настройках всё сохраняется. Перезапускал терминал после изменения на 4.5.

Речь только о том что на графике округляет?
никогда такого не было и вот опять

BugsDigger
Сообщения: 535
Зарегистрирован: 11 ноя 2018, 17:11
Благодарил (а): 21 раз
Поблагодарили: 92 раза

Re: Проблема с вводом нецелых параметров индикаторов

Сообщение BugsDigger » 13 ноя 2018, 07:20

> В индикаторе, проверил, в настройках всё сохраняется.

У меня стабильно то ли округляет, то ли к дефолту кидает (надо дополнительно проверить, т.к. приведенные тестовые значения 4.5->4 могут получаться либо путем отброса дробной части, либо возвратом к дефолту).

> Речь только о том что на графике округляет?

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

Аватара пользователя
evge
Администратор
Сообщения: 1811
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 367 раз
Контактная информация:

Re: Проблема с вводом нецелых параметров индикаторов

Сообщение evge » 13 ноя 2018, 09:05

Может конечно в свежей версии добавили вкусности эти :)
Проверьте на предыдущих.

Новую удаляете, старую ставите.

При установленной новый не даст установить старее.
никогда такого не было и вот опять

BugsDigger
Сообщения: 535
Зарегистрирован: 11 ноя 2018, 17:11
Благодарил (а): 21 раз
Поблагодарили: 92 раза

Re: Проблема с вводом нецелых параметров индикаторов

Сообщение BugsDigger » 14 ноя 2018, 21:10

> Может конечно в свежей версии добавили

Раньше была 1900, сейчас 2130.1557, поведение одинаковое.

Исправленный код (объявление параметра было на самом деле некорректным, хотя компилятор был доволен) + лог

Код: Выделить всё

function Initialize()
{
 IndicatorName = "Test";
 PriceStudy = true;
 AddInput("Input", Inputs.Candle);           
 AddParameter("N", 4.56);                   
 AddSeries("Test", DrawAs.Line, Color.Black);   
}

function Evaluate()
{
 double n=N;
 Test=N;
 
 string Log="D:\\ADdebug\\"+IndicatorName+"("+Input.Name+").txt";
 WriteLine(Log, String.Format("{0:dd/MM} {1} N: {2} n: {3} Test: {4}", BarDate(),  BarTime(), N, n, Test[0]));
}


Пробую вводить разные значения параметра, но в логе вижу только строки вида (с разными timestamp)

14.11 18:39:00 N: N n: 4.56 Test: 4.56

1) параметр сам по себе выводится как ... строка.
Странно, ведь это же может быть только число (других типов, кроме чисел, в качестве параметров по док-ции не бывает)...
Как напечатать параметр как число (кроме переприсвоения)?..

2) в области цен последнее значение индикатора выводится с одним знаком, хотя значения серии Input - с двумя знаками.

3) что ни вводи при настройке, в логе только дефолтное значение, несмотря на то, что на экране (до закрытия окна настройки) в окошке висит мой ввод (например, 200.56). После переоткрытия окна настройки значение опять выводится только дефолтное.

Что за ботва...

Система Win10, если что.

BugsDigger
Сообщения: 535
Зарегистрирован: 11 ноя 2018, 17:11
Благодарил (а): 21 раз
Поблагодарили: 92 раза

Re: Проблема с вводом нецелых параметров индикаторов

Сообщение BugsDigger » 19 ноя 2018, 13:27

Привет всем.

Большая просьба к общественности проверить этот глюк.
Вот evge пишет, что у него ничего подобного нет. А у вас?..

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

Аватара пользователя
Indigo-On
Сообщения: 61
Зарегистрирован: 28 ноя 2018, 18:44
Откуда: Russia
Благодарил (а): 25 раз
Поблагодарили: 9 раз

Re: Проблема с вводом нецелых параметров индикаторов

Сообщение Indigo-On » 03 дек 2018, 10:09

BugsDigger писал(а):Привет всем.

Большая просьба к общественности проверить этот глюк.
Вот evge пишет, что у него ничего подобного нет. А у вас?..

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


Доброго утра.
Проверил у себя. Работает. При выводе на график зачем то отбрасывает не отображаемые символы.

Код для тестирования был такой:

Код: Выделить всё

function Initialize()
{
   IndicatorName = "A";   // Задайте название индикатора и сохраните с данным именем
   PriceStudy = false;   // Рисовать в области цены (true – да, false – нет)
   AddInput("Input", Inputs.Candle);   // Input - входной ряд (Inputs.Price) или свечи (Inputs.Candle)
    AddSeries("A", DrawAs.Line, Color.Red);   // Задаем вид линии индикатора A

   AddParameter("X", 20.333);   // Задаем имя изменяемого параметра и его значение
    AddVariable("Z", 10);   // Задаем имя глобальной переменной и её значение
}

function Evaluate()
{
   A = Z + X;
}


При использовании дефолтного значения =20.333:
1.jpg
1.jpg (26.97 КБ) 29976 просмотров


При изменении значения на =127.9912:
2.jpg
2.jpg (27.12 КБ) 29976 просмотров


Попробуйте предварительно перед экспериментами загрузить какой нибудь не измененный конфигурационный файл из комплекта поставки АД. Меню Конфигурация->Загрузить.


Вернуться в «Терминал»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 18 гостей