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





СообщениеДобавлено: Сб Фев 09, 2008 4:14 pm Ответить с цитатой Вернуться к началу

Привет!

Хотел найти значение данных последнего растущего бара предшествующего текущему, но получаю значение предпоследнего бара не зависимо от того падающий он или растущий?

i = 1;
do
{
LastBarUp = IIf (Ref((Close-Open),-i) > 0, True, False);
if (LastBarUp = True) {
LastBarUpLow = Ref(Low,-i);
LastBarUpOpen = Ref(Open, -i);
i = 20;
}
i += 1;
} while ( i < 20);
000
Site Admin


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

СообщениеДобавлено: Сб Фев 09, 2008 4:39 pm Ответить с цитатой Вернуться к началу

Проще всего сделать так.
Код:

LastBarUpLow = Ref(IIf(C>O, Low, Null), -1);
LastBarUpOpen = Ref(IIf(C>O, Low, Null), -1);

Это открытие и минимум прошлого бара если он белый.
Если эти данные нужны ТОЛЬКО для предпоследнего бара, то можно сделать так
Код:

LastBarUpLow = IIf(C[BarCount-2] > O[BarCount-2], L[BarCount-2],Null);
LastBarUpOpen = IIf(C[BarCount-2] > O[BarCount-2], O[BarCount-2],Null);

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





СообщениеДобавлено: Сб Фев 09, 2008 6:15 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Проще всего сделать так.
Код:

LastBarUpLow = Ref(IIf(C>O, Low, Null), -1);
LastBarUpOpen = Ref(IIf(C>O, Low, Null), -1);

Это открытие и минимум прошлого бара если он белый.
Если эти данные нужны ТОЛЬКО для предпоследнего бара, то можно сделать так
Код:

LastBarUpLow = IIf(C[BarCount-2] > O[BarCount-2], L[BarCount-2],Null);
LastBarUpOpen = IIf(C[BarCount-2] > O[BarCount-2], O[BarCount-2],Null);


Спасибо за ответ, но
Речь идет вот очем, нужны данные последнего положительного бара к текущему, например если перед текущим баром было пять баров отрицательных то нужны данные шестого бара назад, если он растущий бар, и т.д.
000
Site Admin


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

СообщениеДобавлено: Вс Фев 10, 2008 12:19 am Ответить с цитатой Вернуться к началу

Понятно. Тогда так.
Код:

Up = C > O;
LastBarUpLow = ValueWhen(Up, L, 1);
LastBarUpOpen = ValueWhen(Up, O, 1);

Plot(LastBarUpLow, "", colorRed, styleStaircase);
Plot(LastBarUpOpen, "", colorRed, styleStaircase);
Plot(C, "", colorBlack, styleCandle);

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen