Программа автоматического выставления заявок на фондовой бирже на основе индикатора Ишимоку

Автор: Пользователь скрыл имя, 07 Февраля 2013 в 21:31, дипломная работа

Описание работы

В процессе выполнения данной выпускной работы был проведён анализ предметной области и выявлены требования, предъявляемые к программе автоматического выставления заявок на фондовой бирже на основе индикатора Ишимоку. На основе выставленных требований, был проведён анализ существующих программных средств, предназначенных для разработки, и в результате чего было принято решение в пользу современного направления программирования – технологии .Net.

Работа содержит 1 файл

ПЗ (Листы 5-60).doc

— 3.42 Мб (Скачать)

Синтаксис C# очень  выразителен, но прост в изучении. Все, кто знаком с языками C, C++ или Java с легкостью узнают синтаксис с фигурными скобками, характерный для языка C#. Разработчики, знающие любой из этих языков, как правило, смогут добиться эффективной работы с языком C# за очень короткое время. Синтаксис C# делает проще то, что было сложно в C++, и обеспечивает мощные возможности, такие как типы значений Nullable, перечисления, делегаты, лямбда-выражения и прямой доступ к памяти, чего нет в Java. C# поддерживает универсальные методы и типы, обеспечивая более высокий уровень безопасности и производительности, а также итераторы, позволяющие при реализации коллекций классов определять собственное поведение итерации, которое может легко использоваться в клиентском коде. В C# 3.0 выражения LINQ (Language-Integrated Query) делают строго-типизированный запрос первоклассной конструкцией языка.

Как объектно-ориентированный  язык, C# поддерживает понятия инкапсуляции, наследования и полиморфизма. Все переменные и методы, включая метод Main – точку входа приложения – инкапсулируются в определения классов. Класс может наследовать непосредственно из одного родительного класса, но может реализовывать любое число интерфейсов. Для методов, которые переопределяют виртуальные методы в родительском классе, необходимо ключевое слово override, чтобы исключить случайное повторное определение. В языке C# структура похожа на облегченный класс: это тип, распределяемый по стопкам, реализующий интерфейсы, но не поддерживающий наследование.

В дополнение к  основным описанным объектно-ориентированным  принципам, язык C# упрощает разработку компонентов программного обеспечения благодаря нескольким инновационным конструкциям языка, в число которых входят следующие:

  • Инкапсулированные подписи методов, называемые делегатами, которые поддерживают строго-типизированные уведомления о событиях.
  • Свойства, выступающие в роли методов доступа для закрытых переменных-членов.
  • Атрибуты с декларативными метаданными о типах во время выполнения.
  • Встроенные комментарии XML-документации.
  • LINQ (Language-Integrated Query), предлагающий встроенные возможности запросов в различных источниках данных.

 

Главной особенностью языка C# является его ориентированность  на платформу Microsoft .NET – создатели C# ставили своей целью предоставление разработчикам естественных средств доступа ко всем возможностям платформы .NET.

 

1.7.1 Преимущества языка программирования C#:

1. Подлинная  объектная ориентированность (всякая  языковая сущность претендует  на то, чтобы быть объектом)

2. Компонентно-ориентированное  программирование

3. Безопасный (по  сравнению с языками C и C++) код

4. Унифицированная  система типизации

5. Поддержка  событийно-ориентированного программирования

6. «Родной» язык  для создания приложений в  среде .NET

7. Объединение лучших  идей современных языков программирования: Java, C++, Visual Basic и др.

 

Создатели С# хотели скрыть от разработчика как можно больше незначительных технических деталей, включая операции по упаковке/распаковке типов, инициализации переменных и сборке мусора. Благодаря этому программист, пишущий на C#, может лучше сконцентрироваться на содержательной части задачи. В процессе решения этой задачи проектировщики C# пытались учесть уроки реализации Visual Basic, который достаточно успешен в скрытии деталей реализации, но недостаточно эффективен для написания крупных промышленных систем: создатели C# декларируют, что новый язык обладает мощностью С++ и в то же время простотой Visual Basic.

 

 

 

 

 

 

 

 

 

 

 

 

 

2 АРХИТЕКТУРА ПРОГРАММЫ АВТОМАТИЧЕСКОГО ВЫСТАВЛЕНИЯ ЗАЯВОК НА ФОНДОВОЙ БИРЖЕ НА ОСНОВЕ ИНДИКАТОРА ИШИМОКУ

2.1 Структура базы данных программы автоматического выставления заявок на фондовой бирже на основе индикатора Ишимоку

База данных Ichdata.mdb программы автоматического выставления заявок на фондовой бирже на основе индикатора Ишимоку имеет всего лишь одну таблицу IchTable, схема данных которой представлена на рисунке 2.1.

 

Рисунок 2.1 – Схема  данных таблицы IchTable

 

На рисунке 2.2 представлена таблица IchTable в режиме конструктора.

 

Рисунок 2.2 – Таблица IchTable в режиме конструктора

 

В таблице 2.1 представлено описание полей таблицы IchTable базы данных Ichdata.mdb с указанием названия поля, типа данных, размера и логической информации о поле (примечание).

 

Таблица 2.1 – Описание полей таблицы IchTable

Название поля

Тип

данных

Размер, байт

Примечание

Integer (числовой, длинное целое).

4

Ключевое поле, отвечает за номер бумаги, под которым она выводится.

Эмитент

Text (текстовый)

50 символов

Название эмитента

Цена

Double (числовой, с плавающей точкой)

8

Текущая цена эмитента

Span_A

Double (числовой, с плавающей точкой)

8

Максимальная цена бумаги за день

Span_B

Double (числовой, с плавающей точкой)

8

Минимальная цена бумаги за день

Положение

Text (текстовый)

50 символов

Цена открытия бумаги


 

За основу для создания базы данных была взята система управления базами данных (СУБД) Microsoft Access 2010 из пакета Microsoft Office 2010. В качестве СУБД была выбрана Access, т.к. БД состоит всего из одной таблицы, т.е. характеризуется компактностью и простотой, а также к критериям выбора СУБД можно отнести то, что Microsoft Office является очень популярным пакетом, и он есть практически на каждом компьютере пользователя. Также Access является очень удобным средством при использовании стратегического интерфейса для доступа к данным – ODBC (Open Database Connectivity, открытая система связи с базами данных).

2.2 Описание ODBC

В разработанной программе IshiSignals 1.0 непосредственно используется ODBC при передаче всей необходимой информации из торговой системы QUIK в программу. Всё это происходит в режиме реального времени. На рисунке 2.3 изображена архитектура построения ODBC.

 

Рисунок 2.3 – Архитектура построения ODBC

 

ODBC действительно является легко наращиваемой. Для добавления нового типа БД нужно лишь написать драйвер и зарегистрировать его. Ещё одно преимущество, вытекающее из такого построения ODBC – пользовательское приложение общается с физической БД через менеджер драйверов, фактически ничего не зная о типе используемой БД (общение менеджера драйверов и самих драйверов более менее стандартно, так что с точки зрения пользователя все источники данных обладают практически одинаковыми свойствами). Таким образом, мы легко можем поменять физический тип базы данных, а приложение даже не узнает об этом (конечно, существуют исключения из-за особенностей поддержки языка SQL различными типами БД, но они несущественны).

Физически ODBC представляет собой набор  динамических библиотек DLL, которые  обслуживают подключение и работу с конкретным типом БД. При запросе на подключение к определённой, заранее описанной базе "активизируется" определённая DLL – драйвер этого типа БД. Обращение к определённой БД происходит по имени, так называемого, источника данных ODBC (или DSN – Data Source Name). Можно представить DSN как своего рода объявление БД на данном компьютере, причём DSN может быть пользовательским, т.е. находится в области видимости только одного пользователя, в сеансе которого был создан этот DSN, и системным, т.е. видимым всеми пользователями данного компьютера.

Технология ODBC предусматривает создание дополнительного уровня между приложением и используемой СУБД. Службы ODBC обеспечивают получение от приложения запросов на выборку информации и перевод их на язык ядра адресуемой базы данных для доступа к хранимой в ней информации.

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

В данной разработке был  выбран ODBC, т.к. намного лучше работает с "родными, от Microsoft" источниками данных продуктов Microsoft Office – типа Access, Excel, MS SQL Server. ODBC на "голой" машине уже содержит драйверы Access, Excel, FoxPro и SQL Server. Базы данных Access являются очень надёжными.

2.3 Описание утилиты DSNInstaller

Для того чтобы легко и быстро зарегистрировать БД Ichdata.mdb в источниках данных ODBC пользователя была разработана утилита DSNInstaller. Источник данных ODBC пользователя сохраняет сведения об установке связи с источником, производится только от имени учётной записи того пользователя, который его создал.

Утилита реализована  на языке программирования C#. На рисунке 2.4 изображена диаграмма классов. DSNInstaller состоит из 3 классов: “Program”, “DSNAdmin”, “Registration_DB”.

 

Рисунок 2.4 – Диаграмма классов DSNInstaller

 

Главным классом, с которого начинает работу программа является “Program”. Именно в данном классе располагается точка входа для приложения (метод Main). Основным классом, предоставляющим пользователю полезные функции для работы с утилитой является класс “DSNAdmin”. Подробнее о целевом предназначении основных классов будет говориться ниже.

2.3.1 Описание основных классов утилиты DSNInstaller

Описание основных классов  программы, их целевое предназначение, приведено в таблице 2.2.

 

Таблица 2.2 – Описание основных классов программы DSNInstaller

Название класса

Описание

Program

Главный класс, в котором  располагается точка входа для  приложения (метод Main).

DSNAdmin

Класс, который содержит описание всех логических методов, отвечающих за создание пользовательского DSN и добавление системного DSN, их конфигурацию и удаление.

Registration_DB

Класс, который отвечает за формирование пользовательской формы DSNInstaller, в нём описываются методы-события, которые происходят в результате работы пользователя с утилитой (например, путём нажатия кнопок регистрации и удаления базы данных из системы и др.).


 

Ниже будет дано описание основных функций классов, которые в свою очередь формируют основу данного приложения.

2.3.2 Описание основных элементов класса “Program”

Данный класс включает в себя всего один метод – Main. Данный метод выполняет функцию точки входа для приложения. На рисунке 2.5 изображена структура данного класса.

 

Рисунок 2.5 – Структура класса “Program” утилиты DSNInstaller

 

Ниже представлен код главного метода Main:

 

static void Main()

{

    Application.EnableVisualStyles();

    Application.SetCompatibleTextRenderingDefault(false);

    Application.Run(new Registration_DB());

}

 

В таблице 2.3 описываются  методы точки входа Main, которые относятся к встроенному классу “Application” и в совокупности реализуют запуск утилиты DSNInstaller.

Таблица 2.3 – Описание методов точки входа Main

Метод

Описание

EnableVisualStyles();

Включает визуальные стили для приложения.

SetCompatibleTextRenderingDefault(false);

Задаёт значение по умолчанию во всём приложении для свойства Sys-tem.Windows.Forms.ButtonBase.UseCompatibleTextRendering, определённого в конкретных элементах управления.

Run(new Registration_DB());

Запускает стандартный  цикл обработки сообщений приложения в текущем потоке и делает указанную форму видимой.


2.3.3 Описание основных элементов класса “DSNAdmin”

Как было сказано выше, целевое предназначение данного класса – реализация полезных функций для работы утилиты. В данном классе находятся все основные функции утилиты DSNInstaller, отвечающие за создание пользовательского DSN и добавление системного DSN, их конфигурацию и удаление. Структура класса “DSNAdmin” представлена на рисунке 2.6.

 

Рисунок 2.6 – Структура  класса “DSNAdmin” утилиты DSNInstaller

 

Функции класса:

- AddSystemDSN – добавляет системный источник данных (System DSN), который доступен всем пользователям компьютера;

- AddUserDSN – создаёт пользовательский источник данных (User DSN), который производится только от имени учётной записи того пользователя, который его создал;

- EditSystemDSN – метод, отвечающий за модификацию системного источника данных;

- EditUserDSN – метод, отвечающий за выбор конфигурации пользовательского источника данных;

- RemoveSystemDSN – удаляет System DSN из системы;

Информация о работе Программа автоматического выставления заявок на фондовой бирже на основе индикатора Ишимоку