|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
10.06.2010, 10:47 | #1 |
Регистрация: 09.06.2010
Сообщений: 8
|
Работа в постоянно обновляемыми значениями
Всем здравствуйте.
Подобного рода вопросы уже на данном форуме от трейдеров задавались. Однако будучи в начале пути по изучению VBA, разобраться, пока самостоятельно не могу и поэтому прошу помощи специалистов. Есть поток обновляемых в режиме реального времени котировок акций (импортируются из программы в лист «Исходные данные» файла Пример 1 (прикрепил) и изменяются в режиме реального времени в одной строке, т.е. почти ежесекундно могут). 1. Хочу сделать во втором листе «Промежуточные вычисления» таблицу с этими же данными (обновляемыми real-time), но с добавлением, например, 7 дополнительных строк для каждого символа, в которых указываются значения символа, соответствующие значениям, например, 5-минутного интервала (поскольку поток значений идет постоянно, в данных строках будут как бы фотоснимки значений через ровно 5 минут – время соответствует системному времени компьютера). 2. Далее планирую условным форматированием на основе полученных данных делать заливку ячеек (текущая формула стоит следующая: С2>С3 – зеленый, С2<С3 – красный, С2=С3 – желтый). Получится визуальное представление графика-«светофора» за 30 минут (6 квадратиков по 5 минут). 3. Потом планирую в листе «Итоги» сделать чистовой вариант светофора (поскольку в условном форматировании нельзя ссылаться на другие листы) и сортировать данный «светофор» по количеству подряд идущих с конца ячеек с определенным цветом. Как сделать, пока тоже не знаю. P.S. Как думаете данные по 500 акциям с учетом всего вышеизложенного Excel потянет? Буду очень признателен за ликбез. |
11.06.2010, 09:32 | #2 |
Регистрация: 09.06.2010
Сообщений: 8
|
Сделал пример для одной акции
Для одной акции сделал (можете протестировать, вставляя в ячейку С2 любые значения и выбрав нужный период обновления, например 5 сек - цвета ячеек будут меняться). Теперь надо решить следующие вопросы:
1. Алгоритм, который я сделал для одной акции (обновление значений в строках 3-15 через определенный период времени), надо распространить на весь перечень акций, которые имеются на листе2 (может быть до 1000 акций с различными обновляемыми в режиме реального времени значениями). Для примера скопировал строки и поставил ссылки вручную - лучше, чтобы макрос все это сам вставлял в зависимости от количества акций на Листе 2. 2. Надо сделать на 3-м листе аккуратный список акций и светофор без лишних строк 2-15 Листа2 3.Надо на основе данных параметра Last сделать 2 дополнительных параметра Min и Max, которые будут отражать минимальные и максимальные значения параметра Last в течение определенного периода времени=периоду времени таймера, через который происходит обновление строк 3-15 в файле Пример1. Соответственно появятся новые столбцы Min/Max, аналогичные столбцу Last с обновляемыми строками 3-15 как и у столбца Last. По сути парамерт Min/Max это такие же параметры как и Last, только они отражают в режиме реального времени модифицированные значения. Для трейдеров это Low/High? например, 5-минутного бара/свечи. Это нужно, чтобы делать условия для "Светофора" на основе значений Min/Max. |
11.06.2010, 23:03 | #3 |
Регистрация: 09.06.2010
Сообщений: 8
|
1-й вопрос (2-й пост) криво, но решил.
Очень критичным является 3-й вопрос с мин/макс значениями, например в каждый 5-минутный период времени. Люди помогите - полный тупик. |
11.06.2010, 23:19 | #4 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Реально таймер будет работать 10 секунд или 5 минут.
Мин и макс необходим за период 30 минут,или последние 5 минут.
Анализ,обработка данных Недорого
|
12.06.2010, 01:13 | #5 | |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Цитата:
Я думаю с остальным справитесь сами
Анализ,обработка данных Недорого
|
|
12.06.2010, 10:50 | #6 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Я думаю, 90% про "Большие Гонки" не поняли Но остальные улыбнулись
webmoney: E265281470651 Z422237915069 R418926282008
|
12.06.2010, 21:56 | #7 |
Регистрация: 09.06.2010
Сообщений: 8
|
Doober,
Спасибо за отклик. Но мне кажется, что вы не поняли моего вопроса с нахождением минимума за определенный период времени. Попробую объяснить по другому. Есть график цены акции, разбитый на, например, 5 минутные отрезки (могут быть отрезки любого временного периода). Посмотрите например здесь http://www.finam.ru/analysis/charts/default.asp. Каждая палка (свеча) показывает максимальные и минимальные значения цены за определенный период времени (часовик, 1-минутка, 5-минутка и т.д.- в поле "период" на графике газпрома из ссылки). Как строится график: начинается 5-минутный интервал. мин и макс равны определенному значению Last. Потом значение Last движется вверх/вниз и создаются новые минимумы/максимумы. По истечении 5 минут цикл повторяется. Я хочу чтобы у меня рядом с ячейкой С2 в ячейках D2 и E2 отражались минимумы и максимумы за определенный период времени - пусть пока будет 10 секунд, чтобы вручную меняя данные можно было проверить как работает). Например, начало 10-секундного периода = 1 секунда: С2=3(Last-последняя цена) D2=3(макс) E2=3(мин) 2 сек: С2=2 D2=3(максимум остался прежним) E2=2(обновился минимум) 3 сек: С2=1 D2=3 E2=1 7 сек: С2=5 D2=5 E2=1 10 сек: С2=3 (изменения не повлияли на макс и мин) D2=5 E2=1 _______ __________ - новый отрезок времени начался 11 сек=1 сек: С2=9 D2=9 E2=9 (все значения обновились) 12 сек=2 сек: С2=13 D2=13 E2=9 и т.д. В примере дается изменения за 1 секунду, но на практике за 1 секунду может быть несколько изменений цены Last (максимумы и минимумы могут даже одновременно обновиться), поэтому нужно плясать от изменения ячейки С2 (Last). Соответственно нужен макрос, который будет каждые 10 секунд фиксировать значения минимума и максимума в ячейках D2 и E2. P.S. Еще вопросик - как сделать макросом ссылку одной ячейки на вторую так, чтобы при смене значений второй первая автоматически тоже меняла свои значения (типа когда в Excel равно поставишь, автоматически значения переносятся) |
12.06.2010, 22:26 | #8 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
Посл. вопрос - например, так:
Код:
|
12.06.2010, 22:32 | #9 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
я считаю что мин и макс определяю правильно.Код срабатывает при обновлении данных на листе
Код:
Код:
Код:
Анализ,обработка данных Недорого
|
13.06.2010, 00:03 | #10 |
Регистрация: 09.06.2010
Сообщений: 8
|
Doober, извиняюсь.
Спасибо. еще раз проверил. Вроде верно по результату все у вас. Но в коде пока не могу до конца разобраться, поэтому и туплю наверное. 1. Сделайте, пожалуйста, код, чтобы Min и Max не в Листе4, а в Листе 2 были рядом с данными Last. Я потом ВПР в Лист 1 на места поставлю. 2. Можете более детально пояснения сделать.Например, Dim RE - почему так записано. Sub Rabota () и Mac 1 тоже не понял пока. Опишите пожалуйста логику и общий ход рассуждений. 3. столбцы E:J я так понял выполняют смещение, но его я планирую в Листе 1 делать - вертикально. 5. Как скопировать цвета ячеек в Листе 1 в другой лист ссылкой, чтобы обновление было равным обновлению исходника. 6. Я вот подумал, а ведь наверное можно и пользовательскую функцию сделать с аргументом Last или в данном случае процедурой лучше будет? Если честно, пока тяжеловато дается VBA - много не знаю, поэтому извините за мое тугоумие. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Delhi+Access, работа со значениями | -BlindGuardian- | БД в Delphi | 0 | 24.01.2010 21:00 |
Удаление строк с повторяющимися значениями | satten | Microsoft Office Excel | 11 | 01.12.2009 07:50 |
работа с повторяющимися значениями в DBGrid-e | GhostBZ | БД в Delphi | 6 | 01.09.2009 13:44 |
сумма между определенными значениями | Zeon25 | Microsoft Office Excel | 8 | 12.08.2009 08:40 |
Заполнение значениями из сводной | Branch | Microsoft Office Excel | 0 | 12.02.2009 16:20 |