Механические торговые системы на языке C#
Язык C# используется для создания механических торговых систем (МТС) — свода полностью формализованных правил открытия, сопровождения и закрытия сделок при торговле на бирже или внебиржевых рынках ценных бумаг. Такие системы часто отождествляют с автоматическими системами (АТС) или торговыми роботами — программами для полной или частичной автоматизации деятельности трейдеров.
Большинство алгоритмов основано на инструментах технического анализа, возможны и дополнительные статистические вычисления и/или обработка данных из других источников.
Проект S#. Бесплатная программная библиотека, позволяющая создавать механические торговые системы на языке C#.
Проект Stock# — программная библиотека для создания на платформе .NET торговых роботов, аналитических программ и МТС.
-
Компьютерная графика, мультимедиа и игры на Visual C#
Это первая в мире книга по новейшей версии языка Visual C# 2005 из платформы Visual Studio 2005, которую издательство “Жарков Пресс” получило непосредственно от корпорации Microsoft (США). Сразу же отметим, что все программы из данной книги прекрасно работают также и на платформах предыдущих версий Visual Studio 2004, Visual Studio .NET 203 и Visual Studio .NET 2002.
Наша основная цель – дать читателю ту информацию, которую он больше нигде не найдет. Поэтому мы не будем дублировать известные книги по языку программирования Visual C# и давать подробные объяснения по теории этого языка. Если у читателя возникнуть вопросы, он легко отыщет книгу по данному языку (некоторые книги приведены в нашем списке литературы) и там найдет ответ, так как терминология по всем тематикам у нас общая. Мы будем давать лишь краткие пояснения, чтобы начинающий пользователь постепенно осваивал различные базовые дисциплины, по возможности не используя другие книги; опытный пользователь может пропускать эти пояснения. К достоинствам книги, рассчитанной на широкий круг новичков и опытных специалистов, мы относим практическую направленность, простоту изложения (без описания сложных теорий, но давая ссылки на книги, в которых эти сложные теории можно изучить), наличие подробных методик и пошаговых инструкций, большое количество примеров и иллюстраций.
Вывод на экран выступлений и анимаций всех персонажей
-
Введение в программирование на C# 2.0
Объектная модель ADO .NET реализует отсоединенный доступ к данным. При этом в Visual Studio .NET существует множество ВСТРОЕННЫХ мастеров и дизайнеров, которые позволяют реализовать механизмы доступа к БД еще на этапе разработки программного кода
-
Основы программирования на C#
Visual Studio .Net - открытая среда разработки
Среда разработки Visual Studio .Net - это уже проверенный временем программный продукт, являющийся седьмой версией Студии. Но новинки этой версии, связанные с идеей .Net, позволяют считать ее принципиально новой разработкой, определяющей новый этап в создании программных продуктов. Выделю две важнейшие, на мой взгляд, идеи:
* открытость для языков программирования;
* принципиально новый подход к построению каркаса среды - Framework .Net.
Имя .Net
Класс char
Два основных механизма объектной технологии
Плохая служба
Оператор if
Создание меню в режиме проектирования
-
Основы программирования на C#
Имена нынешнего поколения продуктов от Microsoft сопровождаются окончанием .Net (читается Dot Net), отражающим видение Microsoft современного коммуникативного мира. Компьютерные сети объединяют людей и технику. Человек, работающий с компьютером или использующий мобильный телефон, естественным образом становится частью локальной или глобальной сети. В этой сети используются различные специальные устройства, начиная от космических станций и кончая датчиками, расположенными, например, в гостиницах и посылающими информацию об объекте всем мобильным устройствам в их окрестности. В глобальном информационном мире коммуникативная составляющая любых программных продуктов начинает играть определяющую роль.
В программных продуктах .Net за этим именем стоит вполне конкретное содержание, которое предполагает, в частности, наличие открытых стандартов коммуникации, переход от создания монолитных приложений к созданию компонентов, допускающих повторное использование в разных средах и приложениях. Возможность повторного использования уже созданных компонентов и легкость расширения их функциональности - все это непременные атрибуты новых технологий. Важную роль в этих технологиях играет язык XML, ставший стандартом обмена сообщениями в сети.
Visual Studio .Net - открытая среда разработки
Открытость
Framework .Net - единый каркас среды разработки
Библиотека классов FCL - статический компонент каркаса
Единство каркаса
Встроенные примитивные типы
Структурные типы
Архитектура приложений
Модульность
Общеязыковая исполнительная среда CLR - динамический компонент каркаса
Двухэтапная компиляция. Управляемый модуль и управляемый код
Виртуальная машина
Дизассемблер и ассемблер
Метаданные
Сборщик мусора - Garbage Collector - и управление памятью
Исключительные ситуации
События
Общие спецификации и совместимые модули
Создание C#
Виды проектов
Консольный проект
Язык C# и первые проекты
Windows-проект
Начало начал - точка "большого взрыва"
Выполнение проекта по умолчанию после "большого взрыва"
Проект WindowsHello
Основы программирования на C#
Общий взгляд
Система типов
Типы или классы? И типы, и классы
Семантика присваивания
Преобразование к типу object
Примеры преобразований
Семантика присваивания. Преобразования между ссылочными и значимыми типами
Операции "упаковать" и "распаковать" (boxing и unboxing).
Основы программирования на C#
Где, как и когда выполняются преобразования типов?
Преобразования ссылочных типов
Преобразования типов в выражениях
Преобразования внутри арифметического типа
Явные преобразования
Преобразования строкового типа
Преобразования и класс Convert
Проверяемые преобразования
Исключения и охраняемые блоки. Первое знакомство
Опасные вычисления в охраняемых проверяемых блоках
Опасные вычисления в охраняемых непроверяемых блоках
Опасные преобразования и методы класса Convert
Основы программирования на C#
Объявление переменных
Проект Variables
Синтаксис объявления
Время жизни и область видимости переменных
Поля
Глобальные переменные уровня модуля. Существуют ли они в C#?
Локальные переменные
Глобальные переменные уровня процедуры. Существуют ли?
Константы
Основы программирования на C#
Выражения
Приоритет и порядок выполнения операций
Перегрузка операций
С чего начинается выполнение выражения
Операции "увеличить" и "уменьшить" (increment, decrement)
Операции sizeof и typeof
Как получить подробную информацию о классе?
Статические поля и методы арифметических классов
Операция new
Арифметические операции
Операции отношения
Операции проверки типов
Операции сдвига
Логические операции
Условное выражение
Операция приведения к типу
Основы программирования на C#
Присваивание
Специальные случаи присваивания
Определенное присваивание
Еще раз о семантике присваивания
Рассмотрим объявления:
Класс Math и его функции
Класс Random и его функции
Операторы языка C#
Оператор присваивания
Блок или составной оператор
Пустой оператор
Операторы выбора
Оператор if
Оператор switch
Операторы перехода
Оператор goto
Операторы break и continue
Оператор return
Оператор for
Циклы While
Цикл foreach
Основы программирования на C#
Процедуры и функции - функциональные модули
Процедуры и функции - методы класса
Процедуры и функции. Отличия
Описание методов (процедур и функций). Синтаксис
Список формальных аргументов
Тело метода
Вызов метода. Синтаксис
О соответствии списков формальных и фактических аргументов
Вызов метода. Семантика
Что нужно знать о методах?
Почему у методов мало аргументов?
Поля класса или функции без аргументов?
Пример: две версии класса Account
Функции с побочным эффектом
Методы. Перегрузка
Корректность методов
Инварианты и варианты цикла
Рекурсия
Рекурсивное решение задачи "Ханойские башни"
Быстрая сортировка Хоара
Общий взгляд
Объявление массивов
Объявление одномерных массивов
Массивы языка C#
Динамические массивы
Многомерные массивы
Массивы массивов
Процедуры и массивы
Основы программирования на C#
Класс Array
Массивы как коллекции
Сортировка и поиск. Статические методы класса Array
Сводка свойств и методов класса Array
Класс Object и массивы
Массивы объектов
Массивы. Семантика присваивания
Общий взгляд
Строки С++
Класс char
Символы и строки постоянной длины в C#
Класс char[] - массив символов
Существует ли в C# тип char*
Класс String
Объявление строк. Конструкторы класса string
Операции над строками
Строковые константы
Неизменяемый класс string
Статические свойства и методы класса String
Метод Format
Методы Join и Split
Динамические методы класса String
Класс StringBuilder - построитель строк
Объявление строк. Конструкторы класса StringBuilder
Основные методы
Емкость буфера
Пространство имен RegularExpression и классы регулярных выражений
Немного теории
Синтаксис регулярных выражений
Знакомство с классами пространства RegularExpressions
Класс Regex
Классы Match и MatchCollection
Классы Group и GroupCollection
Классы Capture и CaptureCollection
Перечисление RegexOptions
Класс RegexCompilationInfo
Примеры работы с регулярными выражениями
Пример "чет и нечет"
Пример "око и рококо"
Пример "кок и кук"
Пример "обратные ссылки"
Пример "Дом Джека"
Пример "Атрибуты"
Основы программирования на C#
Классы и ООП
Две роли классов
Синтаксис класса
Поля класса
Доступ к полям
Методы класса
Доступ к методам
Методы-свойства
Индексаторы
Операции
Статические поля и методы класса
Конструкторы класса
Деструкторы класса
Проектирование класса Rational
Свойства класса Rational
Конструкторы класса Rational
Методы класса Rational
Закрытый метод НОД
Печать рациональных чисел
Тестирование создания рациональных чисел
Операции над рациональными числами
Операции над рациональными числами - 2
Константы класса Rational
Развернутые и ссылочные типы
Классы и структуры
Структуры
Синтаксис структур
Класс Rational или структура Rational
Встроенные структуры
Еще раз о двух семантиках присваивания
Перечисления
Персоны и профессии
Основы программирования на C#
Отношения между классами
Отношения "является" и "имеет"
Отношение вложенности
Расширение определения клиента класса
Отношения между клиентами и поставщиками
Сам себе клиент
Наследование
Добавление полей потомком
Конструкторы родителей и потомков
Добавление методов и изменение методов родителя
Статический контроль типов и динамическое связывание
Три механизма, обеспечивающие полиморфизм
Пример работы с полиморфным семейством классов
Абстрактные классы
Классы без потомков
Основы программирования на C#
Интерфейсы
Две стратегии реализации интерфейса
Преобразование к классу интерфейса
Проблемы множественного наследования
Коллизия имен
Наследование от общего предка
Встроенные интерфейсы
Упорядоченность объектов и интерфейс IComparable
Клонирование и интерфейс ICloneable
Сериализация объектов
Класс с атрибутом сериализации
Интерфейс ISerializable
Как определяется функциональный тип и как появляются его экземпляры
Функции высших порядков
Вычисление интеграла
Построение программных систем методом "раскрутки". Функции обратного вызова
Наследование и полиморфизм - альтернатива обратному вызову
Делегаты как свойства
Операции над делегатами. Класс Delegate
Операции "+" и "-"
Пример "Комбинирование делегатов"
Пример "Плохая служба"
Классы с событиями
Класс sender. Как объявляются события?
Делегаты и события
Как зажигаются события
Классы receiver. Как обрабатываются события
Классы с событиями, допустимые в каркасе .Net Framework
Пример "Списки с событиями"
Класс sender
Классы receiver
Две проблемы с обработчиками событий
Игнорирование коллег
Переопределение значений аргументов события
Классы с большим числом событий
Проект "Город и его службы"
Основы программирования на C#
Наследование и универсальность
Синтаксис универсального класса
Класс с универсальными методами
Два основных механизма объектной технологии
Стек. От абстрактного, универсального класса к конкретным версиям
Ограниченная универсальность
Синтаксис ограничений
Список с возможностью поиска элементов по ключу
Как справиться с арифметикой
Родовое порождение класса. Предложение using
Универсальность и специальные случаи классов
Универсальные структуры
Универсальные интерфейсы
Универсальные делегаты
Framework .Net и универсальность
Основы программирования на C#
Корректность и устойчивость программных систем
Жизненный цикл программной системы
Первый закон (закон для разработчика)
Второй закон (закон для пользователя)
Третий закон (закон чечако)
Отладка
Создание надежного кода
Искусство отладки
Отладочная печать и условная компиляция
Классы Debug и Trace
Метод Флойда и утверждения Assert
Классы StackTrace и BooleanSwitch
Отладка и инструментальная среда Visual Studio .Net
Обработка исключительных ситуаций
Обработка исключений в языках C/C++
Схема обработки исключений в C#
Выбрасывание исключений. Создание объектов Exception
Захват исключения
Параллельная работа обработчиков исключений
Блок finally
Схема Бертрана обработки исключительных ситуаций
Класс Exception
Основы программирования на C#
Организация интерфейса
Форма и элементы управления
Взаимодействие форм
Модальные и немодальные формы
Передача информации между формами
Образцы форм
Главная кнопочная форма
Шаблон формы для работы с классом
Работа со списками (еще один шаблон)
Элемент управления класса ListBox
Наследование форм
Два наследника формы TwoLists
Организация меню в формах
Создание меню в режиме проектирования
Классы меню
Создание инструментальной панели с командными кнопками
Рисование в форме
Класс Graphics
Методы класса Graphics
Класс Pen
Класс Brush
Проект "Паутина Безье, кисти и краски"
Паутина Безье
Событие Paint
Кисти и краски
Абстрактный класс Figure
Классы семейства геометрических фигур
Класс Ellipse
Класс Circle
Класс LittleCircle
Класс Rect
Класс Square
Класс Person
Список с курсором. Динамические структуры данных
Классы элементов списка