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



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

СообщениеДобавлено: Сб Мар 14, 2009 11:17 am Ответить с цитатой Вернуться к началу

надо соединить все вершины (впадины) зигзага линией
в примерах индикаторов используется следующее построение

Код:
y0=LastValue(Trough(L,5,2));
y1=LastValue(Trough(L,5,1));
x0=BarCount - 1 - LastValue(TroughBars(L,5,2));
x1=BarCount - 1 - LastValue(TroughBars(L,5,1));
Line = LineArray( x0, y0, x1, y1, 1 );
Plot(C, "C", colorWhite, styleCandle);
Plot( Line, "Trend line", colorBlue );


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


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

СообщениеДобавлено: Сб Мар 14, 2009 11:25 am Ответить с цитатой Вернуться к началу

По моему без цикла никак. (

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



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

СообщениеДобавлено: Вт Авг 28, 2018 11:20 am Ответить с цитатой Вернуться к началу

iddqd писал(а):
надо соединить все вершины (впадины) зигзага линией
в примерах индикаторов используется следующее построение

Код:
y0=LastValue(Trough(L,5,2));
y1=LastValue(Trough(L,5,1));
x0=BarCount - 1 - LastValue(TroughBars(L,5,2));
x1=BarCount - 1 - LastValue(TroughBars(L,5,1));
Line = LineArray( x0, y0, x1, y1, 1 );
Plot(C, "C", colorWhite, styleCandle);
Plot( Line, "Trend line", colorBlue );


при этом массив трендовой линии строится по последним двум экстремумам
если убрать LastValue то выдает ошибку
как это сделать не используя цикл?

Здравствуйте . Код написанный выше соединяет линией две впадины , а между ними есть High , пытаюсь построить линию через этот High параллельную линии между впадинами чтобы получился канал , начал писать так , но в x3 и y3 ....??
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вт Авг 28, 2018 12:42 pm Ответить с цитатой Вернуться к началу

Код:

y0=LastValue(Trough(L,5,2));
y1=LastValue(Trough(L,5,1));
x0=BarCount - 1 - LastValue(TroughBars(L,5,2));
x1=BarCount - 1 - LastValue(TroughBars(L,5,1));
Line = LineArray( x0, y0, x1, y1, 1 );
Plot(C, "C", colorWhite, styleCandle);
Plot( Line, "Trend line", colorBlue );

shift = LastValue(Highest((H - Line)));
Line1 = LineArray( x0, y0+shift, x1, y1+shift, 1 );
Plot(Line1, "", colorRed);

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



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

СообщениеДобавлено: Вт Авг 28, 2018 9:02 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Код:

y0=LastValue(Trough(L,5,2));
y1=LastValue(Trough(L,5,1));
x0=BarCount - 1 - LastValue(TroughBars(L,5,2));
x1=BarCount - 1 - LastValue(TroughBars(L,5,1));
Line = LineArray( x0, y0, x1, y1, 1 );
Plot(C, "C", colorWhite, styleCandle);
Plot( Line, "Trend line", colorBlue );

shift = LastValue(Highest((H - Line)));
Line1 = LineArray( x0, y0+shift, x1, y1+shift, 1 );
Plot(Line1, "", colorRed);

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



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

СообщениеДобавлено: Вт Май 18, 2021 5:26 pm Ответить с цитатой Вернуться к началу

Здравствуйте . нужен отрезок соединяющий Хай и Лоу вчерашнего дня , но не получается ..
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вт Май 18, 2021 8:37 pm Ответить с цитатой Вернуться к началу

Попробуй так.
Сейчас проверить не могу. Нет под рукою Ами. )))
Код:
SetBarsRequired(sbrAll, sbrAll);
bi = BarIndex();
DayH = TimeFrameGetPrice("H", InDaily, 0, expandFirst);
DayL = TimeFrameGetPrice("L", InDaily, 0, expandFirst);
firstBi = ValueWhen(L == DayL, Bi, 2);
lastBi = ValueWhen(H == DayH, Bi, 2);
x0 = firstBi;
y0 = L[firstBi];
x1 = lastBi;
y1 = H[LastBi];
...

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



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

СообщениеДобавлено: Ср Май 19, 2021 6:25 am Ответить с цитатой Вернуться к началу

000 писал(а):
Попробуй так.
Сейчас проверить не могу. Нет под рукою Ами. )))
Код:
SetBarsRequired(sbrAll, sbrAll);
bi = BarIndex();
DayH = TimeFrameGetPrice("H", InDaily, 0, expandFirst);
DayL = TimeFrameGetPrice("L", InDaily, 0, expandFirst);
firstBi = ValueWhen(L == DayL, Bi, 2);
lastBi = ValueWhen(H == DayH, Bi, 2);
x0 = firstBi;
y0 = L[firstBi];
x1 = lastBi;
y1 = H[LastBi];
...
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Ср Май 19, 2021 11:50 am Ответить с цитатой Вернуться к началу

Код:

bi = BarIndex();
DayH = TimeFrameGetPrice("H", InDaily, 0, expandFirst);
DayL = TimeFrameGetPrice("L", InDaily, 0, expandFirst);
ll = LastValue(ValueWhen(L == DayL, Bi, 3));
hh = LastValue(ValueWhen(H == DayH, Bi, 3));
firstBi = Min(ll, hh);
lastBi = Max(ll, hh);
x0 = firstBi;
y0 = IIf(ll < hh, L[firstBi], H[firstBi]);
x1 = lastBi;
y1 = IIf(ll > hh, L[lastBi], H[lastBi]);;

Plot(C, "", colorBlack, styleCandle);
Plot(LineArray(x0, y0, x1, y1), "", ColorRed);

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


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

СообщениеДобавлено: Сб Май 22, 2021 4:26 pm Ответить с цитатой Вернуться к началу

Работает? Норм?

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



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

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

000 писал(а):
Работает? Норм?

стабильно не работает . надо что бы был жёсткий отрезок Хая и Лоу вчерашней торговой сессии . , включая вечернюю , в Database Settings менял часовой пояс , не помогает ...
Посмотреть профиль Отправить личное сообщение
Aleksandr



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

СообщениеДобавлено: Пт Июн 04, 2021 4:45 pm Ответить с цитатой Вернуться к началу

Aleksandr писал(а):
000 писал(а):
Работает? Норм?

стабильно не работает . надо что бы был жёсткий отрезок Хая и Лоу вчерашней торговой сессии . , включая вечернюю , в Database Settings менял часовой пояс , не помогает ...

проблема наверное в дате и времени ...
Посмотреть профиль Отправить личное сообщение
Aleksandr



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

СообщениеДобавлено: Пт Июн 04, 2021 5:09 pm Ответить с цитатой Вернуться к началу

Aleksandr писал(а):
Aleksandr писал(а):
000 писал(а):
Работает? Норм?

стабильно не работает . надо что бы был жёсткий отрезок Хая и Лоу вчерашней торговой сессии . , включая вечернюю , в Database Settings менял часовой пояс , не помогает ...

проблема наверное в дате и времени ...

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


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

СообщениеДобавлено: Пт Июн 04, 2021 9:01 pm Ответить с цитатой Вернуться к началу

Посмотрю. Такие ошибки трудно исправлять...

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


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

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

А покажи как выглядит вот этот код в том же месте.
Код:

bi = BarIndex();
DayH = TimeFrameGetPrice("H", InDaily, 0, expandFirst);
DayL = TimeFrameGetPrice("L", InDaily, 0, expandFirst);
ll = LastValue(ValueWhen(L == DayL, Bi, 3));
hh = LastValue(ValueWhen(H == DayH, Bi, 3));
firstBi = Min(ll, hh);
lastBi = Max(ll, hh);
x0 = firstBi;
y0 = IIf(ll < hh, L[firstBi], H[firstBi]);
x1 = lastBi;
y1 = IIf(ll > hh, L[lastBi], H[lastBi]);;

Plot(C, "", colorBlack, styleCandle);
Plot(LineArray(x0, y0, x1, y1), "", ColorRed);
Plot(DayH, "", ColorGreen);
Plot(DayL, "", ColorBlue);

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


 Перейти:   



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


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

File Attachment © by Meik Sievertsen