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



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

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

привет!
что-то не могу собразить как ами может считать назад? Вот например есть простая задача - есть уровень - Хай за последние 9 баров. Я хотел бы посчитать сколько хаев в течении этих 9 баров влезали в зону Хай-0.05
Так как ами вроде как array данные хранит то возникла мысль типа
level = HHV(H,9)-0.05
count = 0
for x in range(0,Cool:
if H[i] >= level:
count+=1
plot(count)

Но все попытки перевести это на ами - приводят к редкостной порнографии
Посмотреть профиль Отправить личное сообщение
yser



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

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

max писал(а):
привет!
что-то не могу собразить как ами может считать назад? Вот например есть простая задача - есть уровень - Хай за последние 9 баров. Я хотел бы посчитать сколько хаев в течении этих 9 баров влезали в зону Хай-0.05

Код:
level = HHV(H,9)-0.05;
count = 0;
for(i=10;i<BarCount;i++) {
  for(j=(i-9);j<=i;j++) {
    if (H[j]>=level[i]) { count[i] = count[i] + 1; }
  }
}
plot(count, "count", colorBlue);
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

Так не проще?
Код:

level = HHV(H,9)-0.05;
count = Sum(H>level, 9);
plot(count, "count", colorBlue);

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



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

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

000 писал(а):
Так не проще?
Код:

level = HHV(H,9)-0.05;
count = Sum(H>level, 9);
plot(count, "count", colorBlue);


тоже так сперва подумал, но судя по тому что требуется - в цикле правильнее т.к. в условие Sum(H>level, 9) и H и level будут от предыдущих шагов, а нужно условие по отношению предыдущие H к текущему level.
Посмотреть профиль Отправить личное сообщение
max



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

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

yser писал(а):
max писал(а):
привет!
что-то не могу собразить как ами может считать назад? Вот например есть простая задача - есть уровень - Хай за последние 9 баров. Я хотел бы посчитать сколько хаев в течении этих 9 баров влезали в зону Хай-0.05

Код:
level = HHV(H,9)-0.05;
count = 0;
for(i=10;i<BarCount;i++) {
  for(j=(i-9);j<=i;j++) {
    if (H[j]>=level[i]) { count[i] = count[i] + 1; }
  }
}
plot(count, "count", colorBlue);

Спасибо! вроде как то. что нужно
Посмотреть профиль Отправить личное сообщение
max



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

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

000 писал(а):
Так не проще?
Код:

level = HHV(H,9)-0.05;
count = Sum(H>level, 9);
plot(count, "count", colorBlue);


Спасибо!
Но цикл корректнее - в вашем варианте считается правильно, но немного не то - тут ами считает на каждом баре и ссумирует аналогичное число с предыдущего бара
а мне надо было считать "для конкретного" бара без учета суммы на предыдущем (путанно объяснил конечно)
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen