Transaq

СБО "Transaq" => Подсистема ATF => Topic started by: Shubert on Октября 07, 2009, 01:06:15 am

Title: Bugtrack TRANSAQ ATF
Post by: Shubert on Октября 07, 2009, 01:06:15 am
Добрый день!

Предлагаю забрасывать в эту тему все документированные и недокументированные ляпусы языка TRANSAQ ATF (TRANSAQ Advanced Trading Facility).

Начну по-немногу ;)

Не должно быть ничего такого, а возникает:
"Line xx: синтаксическая ошибка, неожиданный идентификатор, ожидается число"

Code: [Select]
var j = 1;

while (j < 10) {
line[j] = 0;
j += 1;
}
Title: Re: Bugtrack TRANSAQ ATF
Post by: Heller on Октября 08, 2009, 10:56:11 am
Это скорее баг анализатора, который выводит сообщение об ошибке, а не самого языка. Конструкция line[ x ], где x - нечто, отличное от числа, не допустима в ATF, во всяком случае на данный момент. Это продиктовано тем соображением, что ATF должен знать количество линий индикатора еще на этапе добавления его в график, а в случае ссылки на line[ x ] не понятно какие именно линии там могут быть.

Изменять количество линий на графике динамически архитектурно сложно, да и логически не верно. Заставлять пользователя вначале в обязательном порядке инициализировать линии, и только потом уже к ним обращаться - ненужное усложнение как для пользователя, так и с архитектурной стороны, так как на данный момент количество линий известно еще на этапе компиляции, что весьма удобно. Собственно неудобство с этим возникает лишь в ограниченном числе очень экзотических случаев, поэтому пока такое поведение вряд ли будет изменено. Хотя в общем конечно есть над чем подумать, вероятно в будущем будут какие-то движения в этом направлении.

Спасибо за замечание.