Ru-Board.club
← Вернуться в раздел «Программы»

» Excel FAQ (часть 5)

Автор: CannabisKing
Дата сообщения: 20.06.2011 21:45
камрады, помогите пожалуйста построить график ренко в эксель. в качестве благодарности с меня пиво, отправлю денежку по яндексу или на телефон. для начала немного теории, что это такое. графики ренко выглядят так:


Строятся графики Ренко следующим образом: цена закрытия текущего периода (на рисунке график построен по ценам закрытия дня, т.е. на дневном периоде. но это может быть любой другой временной период, например цена на момент истечения 5-ти, 15-ти, 30-ти минут.) сравнивается с уровнями минимума и максимума предыдущего «кирпича» (белого или черного). Если цена закрытия текущего периода вырастает выше максимума предыдущего «кирпича» по крайней мере на размер «кирпича», то на графике в новых колонках рисуется один или более белый «кирпич».
Если цена закрытия текущего падает ниже минимума предыдущего «кирпича», не менее чем на размер «кирпича», на графике рисуется один или более черный «кирпич». (на рисунке размер кирпича равен 0.5$)
Если цена закрытия продвигается ниже минимума или максимума предыдущего «кирпича» на более чем один «кирпич», но этого недостаточно чтобы сформировать два «кирпича», рисуется только один «кирпич».

решение задачи, на мой взгляд состоит из следующих шагов:
1. научить эксель брать цену нужного периода, например каждые 5 или 10 минут.
2. если цена выросла/опустилась больше чем на заданный размер бокса, нарисовать кубик вверх/вниз.

Автор: asbo
Дата сообщения: 20.06.2011 21:55
CannabisKing
Имо, лучше в сугубо тематический форум обратиться. Зайди к Полу, например.
Автор: CannabisKing
Дата сообщения: 20.06.2011 22:37
asbo
спасибо за совет, так и сделаю. но пока подожду, может здесь кто-то поможет.
Автор: djgl
Дата сообщения: 21.06.2011 11:42
Добрый день,
возникла потребность в реализации следующего функционала
Необходимо создать документ excel (желательно в 2003) и навесить права на ячейки только внос новых данных для обычных пользователей, изменение и удаления только администратор или через пароль.
Может кто нибудь что то подскажет, гуглить не помогает.
Автор: asbo
Дата сообщения: 21.06.2011 11:58
djgl

Цитата:
только внос новых данных для обычных пользователей, изменение и удаления только администратор

Как Вы себе это представляете? Чисто механически? Обскажите модель. Одноразовые ячейки? Захлапываются на редактирование после ввода данных? А если ошибка при вводе?
Автор: djgl
Дата сообщения: 21.06.2011 12:45
Именно захлопываются . Если не корректно ввели поможет только человек с правом редактирования и удаления
Автор: asbo
Дата сообщения: 21.06.2011 13:18
Стандартными средствами не обойтись. Это в смежную тему.
Автор: SFC
Дата сообщения: 21.06.2011 13:19
CannabisKing
Совет дан правильный - в профильный форум, есть программы ТА, где это реализовано вооще без заморочек.

Я не знаю, есть ли какой add-s к excel, который может это сделать в виде диаграммы.

Но, если ты хочешь всетаки сделать это в excel то также нет особых проблем: ты можешь сделать и сам, но только НЕ В ВИДЕ ВСТАВЛЕННОЙ ДИАГРАММЫ, а в САМОЙ СЕТКЕ EXCEL:

1) определись с квантование вертикальной шкалы (высота бара)
2) определись с размером области диаграммы
3) выведи данные на оси

4)
Я бы для начала создал на сетке в ячейках вместо баров, числовые значения: 0 или 1.
а уж потом в зависимости от того что есть в ячейке 0 или 1 закрасил их автоматически, с помощью:
5) используя "формат -> условное форматирование"

И все.

Пример условного форматирования для каждого бара аналогичен такому:
http://abstractspoon.pbworks.com/f/PROJECT_from_csv.7z
Здесь реализовано чуть сложнее - диаграммы Гантта в Excel. Тебе надо закрашивать ячейки не "с даты по дату", а только одну ячейку.
Автор: asbo
Дата сообщения: 21.06.2011 13:56
SFC
Да, концептуально, схема реализации примерно такая и будет. Но только уж очень это геморно и совершенно не масштабируемо, хрупко. Тут ведь такую математику надо наворотить только под смену таймфрейма :) А еще и ось цен есть... Очень трудозатратно, когда есть готовые пакеты ТА. Я очень давно где-то видел даже ASCII генератор этих гренок :)
Автор: SFC
Дата сообщения: 21.06.2011 14:08
asbo
Насчет трудозатрат, - в принципе не так чтобы и много. Но насчет всего остального - истинна. Я бы вообще с возможностью смены таймфреймов не заморачивался. Сделал бы сразу несколько предустановленных. В том файлике, что я дал еще и макрос загрузки данных из CSV файла.
А вообще я не пойму смысла этого всего. т.е. берешь прог. ТА, делаешь експорт в csv, загружаешь в Excel, извращаешься, для чего? ... Если можно сразу подобрать программу ТА, где все это и так реализовано. имхо - по моему опыту необходимость в этом все равно отпадет через какое-то время
Автор: CannabisKing
Дата сообщения: 21.06.2011 21:24
SFC
Спасибо, друзья! начал понимать как это все сложно реализовать, скачал программу сегодня StockChartX Pro. как я понял их модуль можно в экселе использовать. если получится настроить ее, то там практически полноценная программа ТА получается готовая. я работаю с квиком, у него возможности экспорта не так уж широки. сейчас работаю на связке квик+велслаб старый. с ним есть проблемы и недостатки имеются. как и с метастоком. поэтому, надеюсь, что уход в эксель избавит от неудобств экспорта реалтайм в программы ТА. новые версии велслаба не имеют адаптера для экспорта. в общем не все так просто. наверное нужно далее искать в этом направлении, чтобы не изобретать велосипед.
Автор: Deri1
Дата сообщения: 23.06.2011 00:24
Задача. Для вас это будет просто

Плз помогите, в универе задание по Excel дали:
В локальной сети есть 3 компьютера, на двух из них существует по 1 книге. В книгах данные изменяются и дополняются. На 1ом компьютере в книге содержиться информация о доходах, на 2ом - о расходах. Нужно реализовать вывод информации с этих двух книг, чтобы на 3ем компьютере иметь возможность получать свежий ответ к формуле "Доходы-Расходы".
Автор: asbo
Дата сообщения: 23.06.2011 08:26
Deri1
Тут надо поэтапно:
1. Сделать все описанное для трех файлов в одной локальной папке.
2. Разнести первые два по индивидуальным локальным папкам. Уточнить формулы.
3. Перенести первые два на сетевые ресурсы. Уточнить формулы.
Автор: Deri1
Дата сообщения: 23.06.2011 14:48
Ну вот проблема в том, что я не умею делать этот сбор данных с других книг в принципе: ни когда файлы лежат в одной папке, ни когда файлы лежат на разных компах ;'(
Автор: asbo
Дата сообщения: 23.06.2011 15:15
Изучайте Excel. И замените "Плз помогите" на [more="Сделайте за меня"]
1.
Создайте две книги (два файла) в одной папке.
Обе откройте.

2.
Во второй внесите любые данные в любую ячейку.
Тыкните в первой на любую ячейку.
Нажмите =
Перейдите во вторую книгу.
Тыкните в заполненную ячейку.
Нажмите Enter.
Сохраните обе книги.
Снова тыкните ту самую ячейку в первой книге.
Обратите внимание, как выглядит формула в ней.
Закройте вторую книгу.
Снова обратите внимание, как выглядит формула.

3.
Закройте первую книгу.
Закройте Excel.
Откройте первую книгу снова.
Возникнет диалог - нажмите "Справка" и внимательно прочтите.
Обратите внимание, как выглядит формула в ячейке.
_Скопируйте_ вторую книгу в новое место (третья книга).
Откройте ее.
Повторите для третьей п.2

4. Если поймете принцип - поступИте аналогично с сетевыми ресурсами.
[/more]
Автор: SFC
Дата сообщения: 24.06.2011 08:14
Возможно ли копирование формул без адаптации к новому месту?
В ячейке есть =В1+С1 Надо скопировать ячейку на новое место и чтобы именно эта формула и осталась. Использовать $ нельзя. Это можно сделать через копирование внутри строки формул, но когда ячеек много, это слишком трудоемко.
Автор: asbo
Дата сообщения: 24.06.2011 09:02
SFC
1. ДВССЫЛ()
2. Использовать $. Потом удалить поиском-заменой.
3. Перед формулой поставить апостроф. Потом поудалять.
Автор: lucky_Luk
Дата сообщения: 24.06.2011 11:22
Есть таблица, дофига строк и дофига столбцов. Нужно определить, в какой строке этой таблицы нет пустых ячеек, желательно чтобы не было и нулевых значений.
В ячейке числа и слова. Или нет нифига.
Работать со всем массивом не нужно, достаточно чтобы формула проверяла только одну строку и выводила информацию типа "ИСТИНА/ЛОЖЬ" рядом с каждой строкой.
ЕПУСТО работает только на одну ячейку, других похожих функций не знаю.

Добавлено:
asbo


Цитата:
Перед формулой поставить апостроф. Потом поудалять.

Вот апостроф ненадо. Его, перед "=", поиск-замена не видит, ловить и удалять придется вручную. Если формул много, лучше поставить перед "=" любую букву.
Автор: SFC
Дата сообщения: 24.06.2011 13:04
Спасибо. Сначала заменил = на gg=
а потом на оборот. К сожалению * не работает в поле на что менять
Автор: asbo
Дата сообщения: 24.06.2011 14:09
lucky_Luk
Скурпулезно помечено. Я и призабыл :) Но мне ни один способ не нравится. Как-то поизящней хотелось бы. Думал, может кто предложит...

А по "дофига строк и дофига столбцов": если только числовые значения - тупо перемножить всю строку.
Автор: lucky_Luk
Дата сообщения: 24.06.2011 15:20
asbo


Цитата:
А по "дофига строк и дофига столбцов": если только числовые значения - тупо перемножить всю строку.

Сгодится. А как ввести формулу перемножения, не тыкая в каждую ячейку в строке?
Автор: VicKos
Дата сообщения: 24.06.2011 16:25
lucky_Luk

Цитата:
А как ввести формулу перемножения, не тыкая в каждую ячейку в строке?

=ПРОИЗВЕД(A1:M1)
Можно ещё такую формулу попробовать:
=СУММПРОИЗВ((A1:M1="")+(A1:M1=0))
только мне не совсем самому понятно, почему она на каждую найденную пустую ячейку выдаёт "2", а на каждый 0 - "1"? Если пустых и нулевых ячеек в строке не найдено, - выдаст "0".

PS Хотя, понятно, почему - пустая ячейка считается равной 0, если с ней производить какие либо математические операции, значит, оба условия выполняются и при сложении условий получается 1+1=2. А ячейка с нулём не является пустой, поэтому и результат единица.
Автор: asbo
Дата сообщения: 24.06.2011 16:47
VicKos
Я вот эту конструкцию никак не вкурю :( Поясни, плз.
A1:M1=""
Да и вся целиком у меня не работает... 2003

Вкурил как формулу массива :) Работает. Запутался в трех соснах. Щаз разберусь :)
Автор: VicKos
Дата сообщения: 24.06.2011 17:00
asbo
СУММПРОИЗВ в процессе вычислений создаёт виртуальный массив из диапазона, для каждой ячейки проверяется соответствие условию и, если условие выполняется, например ячейка A1 пустая, в этом виртуальном массиве ей будет присвоено значение ИСТИНА, если непустая - ЛОЖЬ. Также и для второго условия, только ячейки проверяются на равенство нулю. Потом эти виртуальные массивы складываются и ИСТИНА и ЛОЖЬ преобразуются в 1 и 0.
В случае пустой ячейки оба условия истинны, поэтому получится ИСТИНА + ИСТИНА = 1+1 = 2
А вот почему не работает в 2003 - непонятно, должна работать, просто у меня сейчас нет 2003 excel`я, не могу проверить.
Автор: asbo
Дата сообщения: 24.06.2011 17:02
VicKos, снкс. Я ужЕ поправил свой пост - чуток не успел до тебя :)
Автор: kimtan
Дата сообщения: 24.06.2011 19:21
Можно еще такую проверку замутить:
=И(A1:M1<>{0:""})
Формула массива конечно же.
На больших диапазонах лучше применять более скоростной и не массивный алгоритм, типа:
=ЧИСЛСТОЛБ(A1:M1)=СЧЁТЕСЛИ(A1:M1;"<>")-СЧЁТЕСЛИ(A1:M1;"=0")
Автор: diman1982
Дата сообщения: 27.06.2011 12:47
Подскажите, сцепляю две ячейки, в одной установлено показывать 3 знака после запятой.
В результирующей ячейки показано полное число и на формат она не реагирует, то есть:
первая - 0,75121212(показывается как 0,751)
вторая - 2
результат - 0,751212122

нужно чтобы результат был - 0,7512
Автор: kimtan
Дата сообщения: 27.06.2011 13:24
diman1982
С какой целью конкатенируются значения? (кстати, довольно таки медленная операция). Учавствуют ли полученные значения в дальнейших расчетах?
Лучше округлить до трех знаков первое значение и прибавить к нему второе, поделенное на 10000.
Что-то типа: =ОКРУГЛ(A1;3)+B1/10^(ДЛСТР(B1)+3)


Автор: moverast
Дата сообщения: 29.06.2011 07:08
в 2010 офисе не могу отключить запрос об обновлении связей.

в "центре управления безопасностью" выбрал "автоматическое обновление для всех связей в книге". запрос все равно остался. как быть?
Автор: yuk1958
Дата сообщения: 29.06.2011 18:08
moverast

Попробуйте так


Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121

Предыдущая тема: Trojan Remover 6.81 Build 2594


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.