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

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

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

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

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

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

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

 

Рисунок 2.32 – Окно формы “Робот”. Вкладка “Настройки”

 

В данной вкладке в  области “Эмитент” Вы можете задать код бумаги, код класса и установить размер лота. Для того чтобы установить код биржи и номер клиента Вам необходимо щёлкнуть по кнопке “Настройки”, появится окно, представленное на рисунке 2.33. Если Вы это сделали, то можно нажать на кнопку “Подключиться”. В результате успешного подключения в правом нижнем углу данной формы индикатор “Connection” поменяет свой цвет с красного на зелёный, рисунок 2.34.

 

Рисунок 2.33 – Окно настроек соединения

 

 

Рисунок 2.34 – Успешное подключение

 

Пользователь также  может проверить соединение, щёлкнув  по кнопке “Проверка связи с QUIK”. В результате успешного соединения или неудачи появится одно из уведомлений, представленных на рисунке 2.35.

 

Рисунок 2.35 – Уведомление об успешном/неудачном подключении

 

 

Также в результате обрыва соединения с QUIK на экране появится уведомление, как на рисунке 2.36.

 

Рисунок 2.36 – Уведомление о разрыве соединения

 

Во вкладке “Торговля” в области “Новая сделка” Вы можете указать необходимое количество лотов. В данной вкладке также размещаются кнопки “Купить” и “Продать”. В области “Статус” выводится сообщение о том ушла или нет заявка на покупку (выделяется зелёным цветом) или на продажу (выделяется красным цветом). На рисунке 2.37 изображены такие ситуации.

 

Рисунок 2.37 – Статус заявки на покупку и продажу

 

Во вкладке “Заявки” выводится информация в виде таблице о выставленных заявках, рисунок 2.38. Аналогичной является вкладка “Сделки”, только в ней отображается информация о совершённых сделках, рисунок 2.39. Таблица заявок имеет такие поля: id заявки, номер заявки, цена, ост., тип сделки и статус. Таблица сделок имеет следующие поля: бумага, номер заявки, номер сделки, цена бумаги, количество, тип сделки.

 

Рисунок 2.38 – Окно формы “Робот”. Вкладка “Заявки”

 

Рисунок 2.39 – Окно формы “Робот”. Вкладка “Сделки”

 

При переходе бумаги из одного положения в другое меняется цвет строки таблицы, производится запись о данном событии в журнале, а также в системном трее выводится всплывающее окно с сообщением, рисунок 2.40.

 

Рисунок 2.40 – Всплывающее окно в системном трее

 

Журнал с сообщениями  об изменении положений различных  бумаг доступен из вкладки “Журнал сообщений” главной формы IshiSignals. Внешний вид журнала представлен на рисунке 2.41.

 

Рисунок 2.41 – Окно формы “Робот”. Вкладка “Журнал сообщений”

 

 

 

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

3.1 Блок-схема главного алгоритма программы IshiSignals

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

– Алгоритм формирования и выставления заявок на совершение сделки покупки или продажи ценных бумаг и автоматической передачи их роботом для осуществления в информационно-торговую систему QUIK.

На рисунке 3.1 изображена блок-схема данного алгоритма.

 

Рисунок 3.1 – Блок-схема  главного алгоритма программы IshiSignals

3.2 Описание главного алгоритма программы IshiSignals

При успешном запуске  программы, т.е. в результате удачного подключения к информационно-торговой системе QUIK, в программу поступают входные данные, а именно:

– значение цены;

– значение линии Span A и Span B;

– положение цены.

Эти данные являются уникальными  для каждой из бумаг, которые выбрал трейдер для анализа в терминале QUIK. Информация с данными значениями для каждой бумаги выводится в реальном времени наглядно в специальную таблицу, которая размещается в первой вкладке программы IshiSignals.

Выше названный алгоритм работает до тех пор, пока в таблице есть строки, иначе он прекращает свою работу. Рассмотрим механизм работы данного алгоритма:

    1. Для каждой из бумаги проверяется следующее условие: “Находится ли положение цены для данной бумаги над облаком?”;
    2. Если ответ “да”, то проверяем следующее условие: “Предыдущее положение цены для данной бумаги было отличным от положения над облаком?”;
    3. Если ответ “да”, то происходит генерация сообщения о переходе и после чего выясняется: “Включен ли робот?”. Если робот включен, то происходит формирование заявки в QUIK и переход в самое начало (к проверке наличия строк в таблице), в противном случае происходит просто переход в самое начало.

Если ответ “нет”, то проверяется условие: “Находится ли цена в критической зоне?”. Если ответ “да”, то происходит закраска “критическим цветом” строки таблицы для данной бумаги и осуществляется возврат в начало. В противном случае, осуществляется закраска цветом “над облаком” и происходит также возврат в начало;

    1. Если проверка условия в пункте 1 на истинность оказалась ложной, то проверяется условие: “Находится ли положение цены для данной бумаги в облаке?”;
    2. Если ответ “да”, то проверяем следующее условие: “Предыдущее положение цены для данной бумаги было отличным от положения в облаке?”;
    3. Если ответ “да”, то происходит генерация сообщения о переходе и после чего выясняется: “Включен ли робот?”. Если робот включен, то происходит формирование заявки в QUIK и переход в самое начало (к проверке наличия строк в таблице), в противном случае происходит просто переход в самое начало.
    4. Если ответ “нет”, то проверяется условие: “Находится ли цена в критической зоне?”. Если ответ “да”, то происходит закраска “критическим цветом” строки таблицы для данной бумаги и осуществляется возврат в начало. В противном случае, осуществляется закраска цветом “в облаке” и происходит также возврат в начало;
    5. Если проверка условия в пункте 4 на истинность оказалась ложной, то проверяется условие: “Предыдущее положение цены для данной бумаги было отличным от положения ниже облака?”;
    6. Если ответ “да”, то происходит генерация сообщения о переходе и после чего выясняется: “Включен ли робот?”. Если робот включен, то происходит формирование заявки в QUIK и переход в самое начало (к проверке наличия строк в таблице), в противном случае происходит просто переход в самое начало.
    7. Если ответ “нет”, то проверяется условие: “Находится ли цена в критической зоне?”. Если ответ “да”, то происходит закраска “критическим цветом” строки таблицы для данной бумаги и осуществляется возврат в начало. В противном случае, осуществляется закраска цветом “ниже облака” и происходит также возврат в начало.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

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

4.1 Методика проведения тестирования

Тестирование программного обеспечения (Software Testing) – проверка соответствия между реальным и ожидаемым поведением программы, осуществляемая на конечном наборе тестов, выбранном определённым образом.

Цель тестирования программного продукта – проверка на соответствие требованиям, предъявленным разработчиком  в начале работы над проектом.

Тестирование, в свою очередь, является лишь составляющей частью отладки – процесса доводки ПО после его написания до эксплуатационного состояния. Процесс этот включает две основные процедуры: обнаружение ошибок (тестирование) и поиск и устранение их причин. Однако, даже учитывая все возможные взаимосвязи этих работ (например, поиск причин ошибок требует проведения специального дополнительного тестирования), нужно подчеркнуть, что тестирование является достаточно автономным, независимым этапом жизненного цикла ПО. При этом подчеркнем, что повышение качества разработки (которое обратно пропорционально количеству ошибок в приложении) напрямую снижает затраты на устранение ошибок, но на объем тестирования влияет совсем не так сильно: его нужно проводить в любом случае.

Существующие на сегодняшний  день методы тестирования ПО не позволяют однозначно и полностью выявить все дефекты и установить корректность функционирования анализируемой программы, поэтому все существующие методы тестирования действуют в рамках формального процесса проверки исследуемого или разрабатываемого ПО.

4.2 Основные результаты тестирования

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

4.2.1 Проверка на переносимость программы

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

4.2.2 Проверка на ввод некорректных  параметров и изменение формы

Попытка внесения пользователем  каких-либо изменений в любое  из полей основной таблицы, которая размещается на вкладке “Таблицы”, ни к чему не приведёт. Таблица защищена от изменений и доступна только для чтения и записи в неё значений только программным способом.

Аналогичным образом  защищается содержимое вкладки “Журнал сообщений”, где выводятся сообщения о том, когда и в какое время какой-либо инструмент перешёл из одного положения в другое. Запись выглядит следующим образом, например:

07.05.2011 18:41:41 : Инструмент ЛУКОЙЛ [ЦЕНА] перешёл из положения НАД ОБЛАКОМ в положение В ОБЛАКЕ.

При переходе на вкладку “Настройки” пользователь может задавать цвет для различных ситуаций положения цены бумаги. Поля, в которых подсвечивается цвет, доступны только для чтения, в них не внесёшь какие-либо значения. При выборе цвета из набора цветов пользователь может, выбрав другой цвет, передумать и нажать на клавишу отмены или на пиктограмму закрытия палитры, в результате чего предусмотрено то, что установленный цвет ранее (до открытия палитры) не будет изменён.

При изменении коэффициента критичности в поле можно вносить  только числовое значение и данное значение при любых изменениях никак  не будет выше 100% и ниже 0.

В таких полях, как  размер лота и количество лота, располагающихся  на дополнительной форме “Робот”, можно вводить только числовые значения.

Попытка внесения пользователем  каких-либо изменений в любое из полей таблицы, которая размещается на вкладке “Заявки”, и таблицы, расположенной на вкладке “Сделки” ни к чему не приведёт. Таблицы защищены от изменений и доступны только для чтения и записи в них значений только программным способом.

Также главная форма “IshiSignals”, дополнительная форма “Робот” и форма “Настройки” защищены от масштабирования и изменения их размеров. Это сделано специально для лучшего восприятия и концентрации внимания.

Учитывая результаты теста, можно сделать вывод, что  проверка на ввод некорректных параметров успешно пройдена.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЗАКЛЮЧЕНИЕ

 

В процессе выполнения данной выпускной работы был проведён анализ предметной области и выявлены требования, предъявляемые к программе автоматического выставления заявок на фондовой бирже на основе индикатора Ишимоку. На основе выставленных требований, был проведён анализ существующих программных средств, предназначенных для разработки, и в результате чего было принято решение в пользу современного направления программирования  – технологии .Net. Исходя из накопленного опыта разработки, в качестве языка программирования был выбран объектно-ориентированный язык C# (Си шарп). Для проектирования интерфейса программы и написания кода была выбрана интегрированная среда разработки Microsoft Visual Studio 2010 Ultimate.

В ходе работы над проектом был разработан и реализован программный продукт, которому было дано название «Программа автоматического выставления заявок на фондовой бирже на основе индикатора Ишимоку».

 

Основными результатами работы являются:

– разработана архитектура  программы;

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

– разработан специальный  алгоритм формирования и выставления заявок на совершение сделки покупки или продажи ценных бумаг;

– автоматическая передача заявок роботом для их осуществления в информационно-торговую систему QUIK;

– анализ информации в режиме реального времени с выдачей сигналов;

– реализация алгоритма  на языке C#;

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