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

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

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

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

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

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

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

Держателей длинных позиций (лонгов), получающих прибыль от роста рынка, называют еще игроками на повышение, или быками. Этимология использования слова «бык» в этом контексте доподлинно неизвестна, но запомнить, что быки играют на повышение, очень легко: бык поддевает рынок на рога, подбрасывает вверх, и цены растут.

Короткая позиция (позиция  шорт) (от англ. short position) – это позиция, которую трейдер открывает в надежде получить прибыль от падения рынка. Для этого трейдер берёт акции взаймы у брокера в натуральной форме, продаёт акции на открытом рынке дорого, ждёт, когда цена акций упадёт, покупает акции на открытом рынке дешево, отдаёт займ брокеру в натуральной форме, а разница между дорогой продажей и дешевой покупкой остаётся у трейдера – это его прибыль. Таким образом, трейдер получает прибыль от падения рынка. Пример: трейдер рассчитывает, что цена акций Сбербанка упадёт. Трейдер берёт взаймы у брокера 36 акций Сбербанка, в этот же день трейдер продаёт эти 36 акций Сбербанка по 25 рублей на бирже, затем ждёт, пока цена Сбербанка не упадёт до 15 рублей, покупает на бирже 36 акций Сбербанка по 15 рублей, возвращает 36 акций брокеру, а разницу между дорогой продажей и дешевой покупкой оставляет себе. Итого, прибыль трейдера составила 360 рублей. Всё время, пока трейдер не откупит акции, про него говорят: «он в короткой позиции», «он в шортах».

Держателей коротких позиций (шортов), получающих прибыль от падений рынка, называют ещё игроками на понижение, или медведями. Этимология использования слова «медведь» в этом контексте также неизвестна, но запомнить, что медведи играют на понижение, тоже очень легко с помощью ассоциации: медведь встаёт на задние лапы, наваливается на рынок, прижимает его к земле, и цены падают.

1.5 Описание и методика расчёта индикатора Ишимоку

Этот индикатор придуман японским аналитиком Хосодой, печатающимся под псевдонимом Санждин Ишимоку. Ишимоку изобрёл этот индикатор, пытаясь прогнозировать движения индекса фондового рынка Японии. Ишимоку Кинко Хайо (полное название индикатора) предназначен для определения рыночного тренда, уровней поддержки и сопротивления и для генерации сигналов покупки и продажи. Лучше всего индикатор работает на недельных и дневных графиках.

 

Рисунок 1.4 – Внешний вид индикатора Ишимоку

 

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

На рисунке 1.4 поверх цены изображён индикатор Ишимоку. Он состоит из пяти линий, каждая из которых имеет своё название и трактовку.

Tenkan – это короткая линия тренда, представляющая собой среднее значение ценового диапазона, определенного первым параметром индикатора Ишимоку (рекомендованное Хосодой значение 9 по умолчанию). На рисунке 1.5 показан принцип построения линии Tenkan.

 

Рисунок 1.5 – Построение линии Tenkan

 

Для каждого нового сформировавшегося  бара рассматривается ценовой диапазон, образованный последними 9-ю барами, включая текущий. Середина этого диапазона (определяемого баром с минимальным минимумом и баром с максимальным максимумом) и представляет собой точку линии Tenkan. Данная линия является своеобразным указателем направления тренда – чем круче наклон линии, тем ярче выражен тренд. Если говорить о скользящих средних, то обратите внимание на то, что линия Tenkan с периодом 9 и скользящее среднее с периодом 9 – не одно и то же. К рассмотрению принимается не среднее арифметическое значение цен, а максимум и минимум ценового диапазона. При таком рассмотрении запаздывание индикаторной линии минимально, ведь даже один бар может коренным образом повлиять на диапазон, уже сформированный рядом предыдущих баров.

По аналогии с линией Tenkan строится вторая линия индикатора Ишимоку – линия Kijun. Отличие состоит лишь в периоде рассматриваемого диапазона – для линии Kijun используется второй параметр индикатора (Хосода предложил использовать значение 26). Принцип построения линии Kijun показан на рисунке 1.6.

 

Рисунок 1.6 – Построение линии Kijun

 

Из-за большего периода линии Kijun (по сравнению с периодом линии Tenkan), считается, что она отражает более долгосрочную ценовую тенденцию. Обе линии являются основой построения третьей линии индикатора Ишимоку. Линия Senkou Span A представляет собой среднее арифметическое от значения линий Tenkan и Kijun, сдвинутое вправо на количество баров, заданное вторым параметром индикатора Ишимоку (26 баров). Пример построения линии Senkou Span A показан на рисунке 1.7.

 

Рисунок 1.7 – Построение линии Senkou Span A

 

Четвертая линия индикатора носит  название Senkou Span B. Она представляет собой середину ценового диапазона, заданного третьим параметром индикатора Ишимоку (52 согласно учению Хосоды), сдвинутую вправо на количество баров, заданное вторым параметром (значение 26). Наглядно принцип построения линии Senkou Span B показан на рисунке 1.8.

 

Рисунок 1.8 – Построение линии Senkou Span B

 

Обе линии Senkou Span опережают ценовой график на 26 баров (второй параметр индикатора Ишимоку). Кроме того, эти линии образуют формацию, называемую «облако». Формация закрашивается в цвет той линии, которая в данный момент находится выше. Облако индикатора Ишимоку показано на рисунке 1.9.

 

Рисунок 1.9 – Облако Senkou Span

 

Последней линией индикатора Ишимоку является линия Chinkou Span. Ее построение заключается в том, что цена закрытия каждого бара сдвигается влево на количество баров, определенное вторым параметром индикатора (26 согласно учению Хосоды). Принцип построения линии Chinkou Span показан на рисунке 1.10.

 

Рисунок 1.10 – Построение линии Chinkou Span

1.6 Обзор средств программирования

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

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

1.6.1 Turbo Pascal (Турбо Паскаль)

Процедурно-ориентированный  язык. Усовершенствованная версия языка Pascal, изобретённого ещё в 60-х годах. В настоящее время используется в качестве учебного языка в средних учебных заведениях, а также в школах. На основе синтаксиса Паскаля были созданы другие более функциональные языки, но уже с объектно-ориентированным принципом программирования (Object Pascal, Delphi).

1.6.2 C (Си)

Си является стандартизированным  процедурным языком. Разработан был  ещё в 1970-х годах. Создавался специально для использования в ОС Unix, но впоследствии был модифицирован и перенесён на другие операционные системы. Ценят Си за его эффективность. Си – самый популярный язык для создания системного ПО, а также прикладных программ.

1.6.3 С++ (Си++)

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

1.6.4 С# (Си-Шарп)

Объектно-ориентированный  язык программирования высокого уровня. Также поддерживает контекстно-ориентированную  концепцию. Этот язык – своеобразный помощник программистам, работающим с языками C и C++. Он помогает более эффективно создавать Интернет-приложения для платформы Microsoft.NET. Имеет С-подобный синтаксис и по своему характеру напоминает С++ и Java.

1.6.5 Java (Джава или Ява)

Один из самых простых  и понятных ЯП. Язык является объектно-ориентированным, высокоуровневым. Изначально был разработан для бытовой электроники и назывался Oak, но позже был переименован в Java и сейчас используется для написания серверного ПО, апплетов и приложений. Синтаксис Java максимально приближен к синтаксису С++, но принцип работы Java совсем другой.

1.6.6 PHP (Hypertext Preprocessor – PHP: гипертекстовый препроцессор)

Рефлексивный язык программирования. Был разработан для работы с базами данных и создания динамических веб-страниц. Однако сейчас PHP в основном используется для вёрстки сайтов и создания веб-приложений. Благодаря своей функциональности, простоте и скорости выполнения PHP является популярнейшим скриптовым языком для программирования в области сети Интернет.

1.6.7 Perl (Practical Extraction and Report Language)

Многоцелевой язык. Создавался в помощь Unix-утилитам. Он решает системные  задачи, с которыми не могли в  полной мере справиться существующие тогда Unix-утилиты, такие как sed и awk. В настоящее время Perl содержится в любом дистрибутиве Linux и прочих Unix-системах. Также теперь он портирован на Windows и многие другие платформы. Perl используется всеми администраторами мира для автоматизации пользовательских повседневных задач.

1.6.8 HTML (HyperText Markup Language)

Язык гипертекстовой разметки. Производит статическое размещение страниц в сети Интернет. Абсолютное большинство всех веб-страниц написано на языке HTML (или XHTML). Интернет-браузер интерпретирует HTML и выводит его программный код в понятном для человека виде (в виде документа).

1.6.9 SQL

Язык управления реляционными базами данных. Хоть по своей сути SQL и не является полноценным языком программирования, его стандарт позволяет ему расширять свою функциональность до полноценного языка посредством создания процедурных расширений. Сейчас SQL является одним из самых популярных языков управления реляционными базами данных. Этой популярности не мешает даже наличие ряда альтернатив.

1.6.10 Фортран

Широко распространённый язык, особенно среди пользователей, которые занимаются численным моделированием. Большинство крупных научно-технических прикладных программ написано на Фортране потому, что он обладает переносимостью и устойчивостью, а также благодаря наличию встроенных математических и тригонометрических функций. Дополнительной, неотъемлемой частью любой прикладной программы на языке Фортран является расширенная графическая библиотека, позволяющая использовать различные графические данные и изображения.

1.6.11 Ада

Язык создан в основном в 1975 - 1980 годах в результате грандиозного проекта, предпринятого Министерством Обороны США с целью разработать единый язык программирования для так называемых встроенных систем (т. е. систем управления автоматизированными комплексами, работающими в реальном времени). Аду можно предварительно охарактеризовать как Паскаль, при этом авторы пошли в основном по пути расширения Паскаля новыми элементами. В результате получился существенно более сложный язык.

1.6.12 Кобол

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

1.6.13 Бейсик

Basic – Beginner’s All-Purpose Symbolic Instruction Code – “универсальный символический код инструкций для начинающих”. Прямой потомок Фортрана и до сих пор самый популярный язык программирования для персональных компьютеров. Появился Бейсик в 1963 году (основная заслуга в его появлении, несомненно, принадлежит американцам Джону Кемени и Томасу Курцу). Как и любые преимущества, простота Бейсика оборачивалась, особенно в ранних версиях трудностями структурирования; кроме того, Бейсик не допускал рекурсию – интересный прием, позволяющий составлять эффективные и в то же время короткие программы.

1.7 Выбор средств реализации автоматизированной системы

В качестве языка  программирования для реализации системы  был выбран язык C#, т.к. он вобрал лучшие черты целого ряда своих  предшественников. C# – элегантный, строго типизированный объектно-ориентированный язык, предназначенный для разработки разнообразных безопасных и мощных приложений, выполняемых в среде .NET Framework. На языке C# можно разрабатывать обычные клиентские приложения Windows, веб-службы XML, распределённые компоненты, приложения типа “сервер-клиент”, приложения баз данных и многие-многие другие.

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