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



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

СообщениеДобавлено: Пн Янв 29, 2018 9:17 pm Ответить с цитатой Вернуться к началу

У меня ещё такой вопрос - есть в AFL такая функция, которая координату из реальных значений в пиксели и наоборот?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

Вроде нет.

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



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

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

000 писал(а):
Вроде нет.


There is!
https://www.amibroker.com/guide/afl/gfxsetcoordsmode.html
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пт Фев 02, 2018 10:00 pm Ответить с цитатой Вернуться к началу

Действительно теперь есть. Не внимательно слежу за новинками. Things

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



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

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

Спасибо.
Я знал об этой функции. Но я имел в виду такую функцию, в которой аргумент - реальное значение, а результат - значение в пикселях.
Просто мне нужно провести горизонтальную линию по уровню, заданному в реальных значениях и сверху неё вывести надпись, которая отстоит от этой линии на расстоянии заданном в пикселях.
Но похоже я нашёл решение:
PlotText( ''text'', x, y, color, bkcolor = colorDefault, yoffset = 0 ).
Здесь величина y задаётся в реальных значениях, а yoffset в пикселях. Как раз то что надо.
А я пытался использовать GfxTextOut... для этой цели. Smile
В любом случае, всем спасибо.
Посмотреть профиль Отправить личное сообщение
Marcello



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

СообщениеДобавлено: Вт Фев 06, 2018 5:56 pm Ответить с цитатой Вернуться к началу

Есть 5-минутки, нужно получить среднее значение объемов за первые 15 минут каждого дня. Соображалки хватило только на получение объема в каждый день вот так:
Код:
TimeFrameSet(in15Minute);
NewDay = Day() != Ref(Day(), -1);
V15 = ValueWhen( NewDay, V );
TimeFrameRestore();
V15 = TimeFrameExpand( V15, in15Minute );
Plot( V15, "V15", colorYellow );
Plot( V, "Vol", colorWhite, styleHistogram );

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


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

СообщениеДобавлено: Вт Фев 06, 2018 7:56 pm Ответить с цитатой Вернуться к началу

Был когда то подобный вопрос.
Проще всего написать цикл и посчитать.
если очень надо, то сделаю.

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



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

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

Вообще задача решилась бы сама собой, если бы удалось из дневок "углубиться" в 15-минутки (у нас же интрадейные данные) и потом значения объема вынести "наверх" в дневки (путано объяснил). Может TimeFrameCompress тут как-то можно использовать?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вт Фев 06, 2018 8:26 pm Ответить с цитатой Вернуться к началу

Имеешь ввиду обнулить объемы которые за пределами 15 первых минут, потом перевести в дневки и взять среднее? Может получиться. Попробуй.

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


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

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

Функция для сжатия TimeFrameCompress()

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



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

СообщениеДобавлено: Вт Фев 06, 2018 8:40 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Имеешь ввиду обнулить объемы которые за пределами 15 первых минут, потом перевести в дневки и взять среднее? Может получиться. Попробуй.
Вообще-то думал "сжать" вот эту желтую линию в дневки. По сути нужно только значение, обведенное кругом, т.к. оно не меняется до окончания первой 15-тиминутки следующего дня.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

Вот этот массив сжимай в дневки...
Код:
mV = iif(TimeNum() > 101500, 0, V);

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


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

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

Если надо замени 101500 на 101000

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



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

СообщениеДобавлено: Вт Фев 06, 2018 10:03 pm Ответить с цитатой Вернуться к началу

Получилась какая-то ерунда. До 15 минут все норм, а выше не идет.
Код:
TimeFrameSet( in5Minute );
V15 = iif( TimeNum() > 101000, 0, V );
TimeFrameRestore();
V15 = TimeFrameCompress( V15, inHourly ); // вот тут ставил inDaily и то же самое все
Plot( V15, "V15", colorBrightGreen );
Plot( V, "Vol", colorWhite, styleHistogram );

Выше 15 минут суммируется еще что-то лишнее. Видно на картинках.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вт Фев 06, 2018 10:55 pm Ответить с цитатой Вернуться к началу

А вот это зачем?
Код:
TimeFrameSet( in5Minute );

Как то так
Код:

V15 = iif( TimeNum() > 101000, 0, V );
V15 = TimeFrameCompress( V15, inDaily, compressVolume );
V15 = TimeFrameExpand( V15, inDaily );

Plot( V15, "V15", colorBlue );
Plot( V, "Vol", colorRed, styleHistogram );

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


 Перейти:   



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


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

File Attachment © by Meik Sievertsen