Несоответствие параметров при вызове функций
FUNC a(b)
result = 1
END FUNC
Как видно, параметр b внутри функции не используется. Далее где-то следует вызов функции без параметра:
a()
Этот код будет выполнен без ошибок, несмотря на явное несоответствие формальных и фактических параметров.
Возможна более неприятная ситуация:
FUNC a(b)
if (price > 100)
result = 100
else
result = b
end if
END FUNC
и где-то дальше вызываем функцию а() без параметров.
Портфель будет работать "на ура" пор, пока значение price больше 100. Если через полгода она опустится ниже - неприятность....
Разработчики поставлены в известность, исправлять ситуацию не планируют.