6 урок


[vk]http://vk.com/video_ext.php?oid=-66674957&id=167882589&hash=64b33d9749b685c2&hd=3[/vk]

Презентация

Темы занятия 6 (Делегаты)

• Делегаты, что это • Как устроены делегаты, основные возможности • Контравариантность и конариантность • Func<>, Action<> • Анонимные методы и лямбда-выражения, знакомство

Домашнее задание

Реализовать собственный набор делегатов, осуществляющих тематическую обработку данных. Одна из возможных тем - биржевые индексы.

Вложения: Код из урока Пример решения домашнего задания


Теги:


Спасибо:


JaguarFX

Фотография
Дата: 05.01.2014
Ответить


По итогам выполнения ДЗ появился такой вопрос - если в конструкторе Stock() указать не "quotes = new List()", а "List quotes = new List()", то программа вываливается с ошибкой "Ссылка на объект не указывает на экземпляр объекта." С чем может быть связана такая негативная реакция на типизацию "List", ведь в других местах записано например " Stock st = new Stock()" и все работает нормально?

Спасибо:

IvanB

Фотография
Дата: 09.01.2014
Ответить


lebedevsrg: По итогам выполнения ДЗ появился такой вопрос - если в конструкторе Stock() указать не "quotes = new List()", а "List quotes = new List()", то программа вываливается с ошибкой "Ссылка на объект не указывает на экземпляр объекта." С чем может быть связана такая негативная реакция на типизацию "List", ведь в других местах записано например " Stock st = new Stock()" и все работает нормально?

Дело в том, что для исходного варианта имя quotes было объявлено глобально и выполняя строку: quotes = new List() мы создаем экземпляр объекта для глобального (объявленного ранее) имени quotes. Если мы пишем так: List quotes = new List() то мы создаем локальную переменную, никак не связанную с глобальной, но которая имеет тоже имя.

И, следовательно, если писать: List quotes = new List() и не инициализировать глобальную переменную quotes, которая далее используется, то возникнет ошибка, о которой вы пишите. Конечно, можно сделать проверки, на то что переменная инициализирована, имеет верное значение,... но данный вопрос не про это.

Спасибо: JaguarFX

devruss

Фотография
Дата: 20.01.2014
Ответить


Биржевые ИНДЕКСЫ - это некая средняя (арифметическая/геометрическая/...) цена корзины акций/облигаций (в общем случае - однородных базовых активов), пример S&P 500, NASDAQ, RTS futures. http://ru.wikipedia.org/wiki/%D0%A4%D0%BE%D0%BD%D0%B4%D0%BE%D0%B2%D1%8B%D0%B9_%D0%B8%D0%BD%D0%B4%D0%B5%D0%BA%D1%81 http://en.wikipedia.org/wiki/Stock_market_index Если совсем на пальцах - берем N акций, считаем среднее арифметической цены в определенный момент времени - получаем индекс акций. Т.е. на входе N цен акций в момент времени t, на выходе Index(t) = sum(P(i))/N

То, о чем идет речь в уроке называется ИНДИКАТОР - производная функция от цены базового актива. Пример - средняя цена за последние 10 минут. http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:introduction_to_tech

Разница в том, что ИНДЕКС построен на корзине однородных активов, а ИНДИКАТОР построен на базе price data (price, volume, etc..) одного актива

Также курс акций (он же quote) - это цена актива в моменте == котировка, например USDRUB(Mon 20 Jan 18:04) = 33.78. Course хоть и звучит похоже, никакого отношения к курсу не имеет

Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy