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



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

СообщениеДобавлено: Пт Июн 28, 2013 7:20 am Ответить с цитатой Вернуться к началу

Олег, привет!

Застрял на простой, казалось бы, задаче

Требуется в ходе работы бэктестера обратиться к текущему значению цены массива с тем, чтобы проверить это в условии

Логика следующая if (С[текущее значение] == Х)

Понял, что можно через for, но, может, есть более компактный вариант в одну строку?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пт Июн 28, 2013 7:55 am Ответить с цитатой Вернуться к началу

Овет будет зависеть от того, что надо сделать если (С[текущее значение] == Х)

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



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

СообщениеДобавлено: Пт Июн 28, 2013 7:39 pm Ответить с цитатой Вернуться к началу

Задача вот какая

Есть массив, содержит значения <0,=0,>0

При проходе бэктестером свечей массива, необходимо при значении в массиве =0 выполнить код

То есть вот так

If (ARRAY[текущий индекс свечи] == 0) {код}

Трудность в том, что if требует число, не массив.

Можно легко взять LastValue, но почему-то нет функции по отдаче значения в текущем индексе

Есть iif, но он тоже отдает массив

В общем, кроме как перебрать все свечи через for ничего не придумал
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пт Июн 28, 2013 8:24 pm Ответить с цитатой Вернуться к началу

Все понятно.

По науке надо писать цикл и вставлять
Код:
if()
If (ARRAY[i] == 0)
{
  {код}
}
else if(ARRAY[i] > 0)
{
  {код}
}
...


Но можно попробовать и так
Код:
A1 = {код если == 0};
A2 = {код если > 0};
A3 = {код если < 0};

A = IIf(ARRAY == 0, A1,
  IIf(ARRAY > 0, A2, A3));

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



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

СообщениеДобавлено: Пт Июн 28, 2013 8:46 pm Ответить с цитатой Вернуться к началу

Олег, понял, спасибо!
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen