Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 Перечисление списком Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
FedorovMG



Зарегистрирован: 14.08.2014
Сообщения: 58

СообщениеДобавлено: Вт Ноя 10, 2015 1:46 pm Ответить с цитатой Вернуться к началу

Всем привет!
Возник такой вопрос - возможно ли создание массива?
Пример:
M[Q] = {1,5,15,60,120};
for (i = 0; i <= размера M[Q]; i++)
{
s = s*M[Q];
}

T.е. массив заранее определен.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 8509

СообщениеДобавлено: Вт Ноя 10, 2015 5:51 pm Ответить с цитатой Вернуться к началу

Можно. Только не так. Значения элементам придется присваивать в цикле. Длинна массива не должна быть больше чем баров в истории бумаги.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
FedorovMG



Зарегистрирован: 14.08.2014
Сообщения: 58

СообщениеДобавлено: Вт Ноя 10, 2015 6:25 pm Ответить с цитатой Вернуться к началу

Может не правильно выразился. Можно и не массив. А что-то вроде списка.
Там размер примерно 5-10 позиций.

Код:

{5,10,15,20,30};

for(i = 0; I <= размера списка; i++)
{
E = MA(Close, i-й элемент списка);
}


Вроде так понятней объяснение.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 8509

СообщениеДобавлено: Вт Ноя 10, 2015 10:03 pm Ответить с цитатой Вернуться к началу

Можно использовать список разделенный запятыми. Только это текст и надо будет переводить текст в числа.
Вот пример из хелпера
Код:

tickers = "AAPL,MSFT,INTC";

"The last item is " + StrExtract( tickers, -1 );
printf("listing from the end of the list:n");

for( item = -1; ( sym = StrExtract( tickers, item ) ) != ""; item-- )
{
  printf( sym + "n" );
}

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
FedorovMG



Зарегистрирован: 14.08.2014
Сообщения: 58

СообщениеДобавлено: Ср Ноя 11, 2015 7:38 am Ответить с цитатой Вернуться к началу

Ничего лучше пока не придумал:
Код:

MAS[0] = 5;
MAS[1] = 10;
MAS[2] = 15;
MAS[3] = 30;
for(i = 0; I <= 3; i++)
{
E = MA(Close, MAS[i]);
}
Посмотреть профиль Отправить личное сообщение
trashfx



Зарегистрирован: 27.06.2015
Сообщения: 90

СообщениеДобавлено: Вс Ноя 15, 2015 4:28 pm Ответить с цитатой Вернуться к началу

FedorovMG писал(а):
Всем привет!
Возник такой вопрос - возможно ли создание массива?
Пример:
M[Q] = {1,5,15,60,120};
for (i = 0; i <= размера M[Q]; i++)
{
s = s*M[Q];
}

T.е. массив заранее определен.


Yes you can.

You may use Osaka plugin, VarSet/Varget or new Matrix functions.

Example usage

Image


As for matrix functions see AB 6.00 and 6.01
http://www.amibroker.com/devlog/wp-content/uploads/2015/11/readme6040.html
http://www.amibroker.com/devlog/wp-content/uploads/2015/06/readme5990.html
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



Следующая тема
Предыдущая тема
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen