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



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

СообщениеДобавлено: Сб Май 01, 2010 9:03 pm Ответить с цитатой Вернуться к началу

Суть в следующем, есть вычисления по циклу for(i = 1; i<BarCount; i++).

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

Типа как lastvalue.

Если сдщвинуть график на бар назад верным будет резщультат для него и т.д.

Есть ли какая то возможно представить это в виде графика дял всех баров ?

Чёт парился с функциями несколкьо часов так и непонял как сделать...
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Сб Май 01, 2010 9:10 pm Ответить с цитатой Вернуться к началу

Не понял в чем проблема?
Типа в цикле высчитывается не массив а переменная?
Так она при выводе и так на весть чарт горизонтальную линию даст
Смотри код
Код:

for(i = 1; i < BarCount; i++)
{
   if(C[i] > O[i])
      a = 5;
   else
      a = 8;
}
Plot(a, "", colorRed);

В результате видим горизонтальную линию либо 5 либо 8

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



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

СообщениеДобавлено: Сб Май 01, 2010 9:13 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Не понял в чем проблема?
Типа в цикле высчитывается не массив а переменная?
Так она при выводе и так на весть чарт горизонтальную линию даст
Смотри код
Код:

for(i = 1; i < BarCount; i++)
{
   if(C[i] > O[i])
      a = 5;
   else
      a = 8;
}
Plot(a, "", colorRed);

В результате видим горизонтальную линию либо 5 либо 8



Это как бы понятно. Проблема в том что эт оскользящая средняя... А смотреть на скользящую среднюю в виде горизонтальной линии несколько неудобно Smile

эта линия всегда верна толкьо для последнего бара. Вот и надо как то это развернуть на среднюю именно...

например вот эту Линию горизонтальную можно как то показать в виде ломанной через другую функцию, ведь её значения иногда принимают 5 а иногда 8 ?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Сб Май 01, 2010 9:19 pm Ответить с цитатой Вернуться к началу

Понял. Эту никак нельзя. Тогда надо в цикле сразу строить массив. Применительно к примеру так.
Код:

for(i = 1; i < BarCount; i++)
{
   if(C[i] > O[i])
      a[i] = 5;
   else
      a[i] = 8;
}
Plot(a, "", colorRed);

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



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

СообщениеДобавлено: Сб Май 01, 2010 9:24 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Понял. Эту никак нельзя. Тогда надо в цикле сразу строить массив. Применительно к примеру так.
Код:

for(i = 1; i < BarCount; i++)
{
   if(C[i] > O[i])
      a[i] = 5;
   else
      a[i] = 8;
}
Plot(a, "", colorRed);


Вот там к сожалению из-за динамики никак не построишь так массив. ток последнее значение вывести можно Sad
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Сб Май 01, 2010 9:44 pm Ответить с цитатой Вернуться к началу

Не может быть чтобы никак не построишь. Другое дело, что иногда это очень трудно... Ну если обязательно надо иметь прошлые значения, то придется строить. По другому никак...

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



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

СообщениеДобавлено: Вс Май 02, 2010 2:08 am Ответить с цитатой Вернуться к началу

000 писал(а):
Не может быть чтобы никак не построишь. Другое дело, что иногда это очень трудно... Ну если обязательно надо иметь прошлые значения, то придется строить. По другому никак...


А с вложенными циклами напряг у амиброкера? Ато я чтот искал искал, так и не понял реализованы ли они в нём. Хотел через них...
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вс Май 02, 2010 7:31 am Ответить с цитатой Вернуться к началу

Да запросто. В принципе можно использовать вложенные. Другое дело, что часто такой код заметно тормозит.

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



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

СообщениеДобавлено: Пн Май 03, 2010 1:57 am Ответить с цитатой Вернуться к началу

000 писал(а):
Да запросто. В принципе можно использовать вложенные. Другое дело, что часто такой код заметно тормозит.


Да сделал.... Тормоза конечно дикие Sad Систему тестит с 1 параметром на 200 минут пять Smile
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen