Показать сообщение отдельно
  #1 (permalink)  
Старый 20.05.2009, 16:21
Igor
 
Сообщений: n/a

Просмотр массива
Суть моей задачи в следующем. Есть заранее отобранный набор акций (300-500 шт.). Есть брокерская система, которая импортирует эти данные. Эта система использует встроенный язык – EFS. Это усеченная версия JavaScript. В отдельно написанной мною программе эти акции должны быть проверенны на определенные условия и, при совпадении условий выдается список тиккеров (наименований) акций, удовлетворяющих поставленным условиям.
Программу такую я написал, но столкнулся со следующей проблемой. В EFS есть на встроенные в нее функции ограничения на индекс – он не должен быть больше 5. То есть в цикле я не могу просматривать более 6 элементов массива. Поясню на примере.
Структура (логическая) программы следующая.
function preMain() {
………
var sSymbol;
var Per;
………
sSymbol=new Array("A","ABT,………………,"APA","APD");
Per=60;
………
function main() {
………
for(var i = 0; i <= 5; i++)
{
………
MAX3Buy = (1)*(
open(0,sym(sSymbol[i],inv(Per))) <= close(0,sym(sSymbol[i],inv(Per)))
);
………
if(MAX3Buy == 1)
{{Alert.addToList(sSymbol[i],close(0,sym(sSymbol[i],inv(Per))),Color.black, Color.black);}}

……..
}
return
}
Так вот, массив sSymbol может насчитывать 300-500 элементов. В цикле, если указывается для i число более 5, выдается ошибка, что индекс функции close(0,sym(sSymbol[i],inv(Per))) (это цена закрытия выбранной акции) или тому подобные функции EFS не могут иметь индекс более 5 (т.е. 6 элементов массива, начиная с 0). Как обойти это ограничение и организовать просмотр всего массива (300-500 шт.), я не знаю. Может использовать для построения нового массива методы Array, такие как shift() или slise()? Пробовал, не получилось. Скорее всего, я неправильно прописывал эти операторы.
Не могли бы Вы мне помочь организовать в вышеуказанной структуре проверку элементов всего массива sSymbol (300-500 шт) на выполнение указанных условий при ограничении того, что индекс i в встроенных функциях EFS не должен превышать 5
Заранее благодарю,
Игорь (IgorAR@yandex.ru)