Экстремальный трейдинг

Программная оболочка для трейдерских приложений. Для создания робота/привода нужны только начальные знания программирования.

*****

XML Feed

***


23
Май

SmartComShell для чайников #1

Многие трейдеры хотели бы создавать торговые программы. Это не обязательно торговые роботы, это могут быть графики с «секретными», системы ввода заявок и тому подобные вещи. Но не все трейдеры являются профессиональными программистами. В то же время трейдингом занимаются люди не глупые, и они вполне могут освоить основы программирования и создать свои программы. В этом курсе для «чайников» я постараюсь помочь сделать это. Итак, начинаем…

Среда разработки

Писать программы мы будем на языке Visual Basic.net (VB.net). Исторически сложилось, что VB.net более распространен на Западе. Это видно даже из учебников по языкам Net и того же MSDN, где примеры на  VB.net идут всегда первыми. В России больше распространен C# (Си-шарп). В принципе эти языки взаимозаменяемы и Вы, изучая этот курс, можете использовать C#. Но для этого Вам придется переводить код VB в код C#. Это можно сделать автоматически при помощи специальных трансляторов. Один из таких онлайновых трансляторов, которым я пользуюсь, можно найти здесь http://www.developerfusion.com/tools/convert/vb-to-csharp/.

Обычно, когда я начинаю что-либо изучать, покупаю самую простенькую книжку по этой теме, чтобы для начала в общих чертах охватить весь материал, так начиная работать с VB.net я купил книгу, что-то типа «Visual Basic.net за 24 часа». Сейчас я даже не смог найти у себя эту первую книгу, чтобы привести более точное название. А потом уже приобретаю более профессиональную литературу[1]. Так вот, в качестве первого материала по Visual Basic.net[2] я предлагаю учебник, выложенный  Майкросовтом здесь http://msdn.microsoft.com/ru-ru/beginner/ee344863.aspxНа первой странице этой книги написано:Для разработки программ на Visual Basic вам понадобятся:

  1. Пакет Microsoft .NET Framework 2.0, который можно бесплатно загрузить на странице http://msdn.microsoft.com/ru-ru/netframework/aa569263.aspx.
  2. Среда разработки .NET. Мы рекомендуем версию Microsoft Visual Basic 2005 Express Edition, которую можно бесплатно загрузить на веб-узле Microsoft по адресу: http://www.microsoft.com/express/ru/vb/Default.aspx . Пакет установки Visual Basic 2005 Express включает .NET Framework, так что вам не придется отдельно устанавливать приложение из пункта 1 выше.
  3. И наконец, вам нужно скопировать файлы примеров из книги на диск своего компьютера. Распакуйте файл example.zip в любую папку. Запомните размещение выбранной папки, так как позднее вам потребуется открывать файлы из нее.

Но время идет вперед. Поэтому мы будем использовать Microsoft .NET Framework 4.0 и Microsoft Visual Basic 2010 Express Edition[3]. Поэтому немного изменим этот текст. Для разработки программ на Visual Basic вам понадобятся:

  1. Пакет Microsoft .NET Framework 4.0, который можно бесплатно загрузить на странице http://www.microsoft.com/downloads/details.aspx?displaylang=ru&FamilyID=9cfb2d51-5ff4-4491-b0e5-b386f32c0992
  2. Среда разработки .NET. Мы рекомендуем версию Microsoft Visual Basic 2010 Express Edition, которую можно бесплатно загрузить на веб-узле Microsoft по адресу:  http://www.microsoft.com/express/downloads/#2010-Visual-Basic Пакет установки Visual Basic 2010 Express включает .NET Framework 4.0, так что вам не придется отдельно устанавливать приложение из пункта 1 выше.

Установка SmartCom и SmartComShell и создание проекта

Мы завершили установку среды для разработки, теперь займемся установкой SmartCom и SmartComShell. Для того, чтобы можно было написать собственные программы для трейдинга, брокер может предоставить специальные API программы. API это аббревиатура от «Application Programming Interface», т.е. это специальная программа, которая предоставляет интерфейс для написания приложений, работающих с другой программой (в нашем случае с ПО биржи).

SmartCom это API, разработанное в компании Ай Ти Инвест. SmartComShell является программной оболочкой к SmartCom, которая существенно упрощает работу при написании трейдерских приложений. Например, SmartCom не может самостоятельно восстановить работу при коннекте после разрыва соединения с сервером брокера, a SmartComShell это делает автоматически. В SmartComShell реализовано множество стандартных функций, которые необходимы при написании программы для трейдинга.

Итак, займемся установкой этих компонентов…

  1.  Скачайте SmartCom с сайта IT-Invest: http://www.itinvest.ru/software/smartcom/.
  2. Если у Вас на компьютере установлены SmartTrade+Com и/или старые версии SmartCom, то удалите их.  SmartTrade+Com конфликтует с работой SmartCom.
  3. Запустите файл scm-setup.msi и следуйте оконным инструкциям.
  4. Скопируйте файл SmartComShell (http://www.box.net/shared/zuvxlqcrvn) в отдельную папку или папку с проектом Вашего приложения.

Сейчас мы создадим проект примера, в котором в дальнейшем поэтапно покажем основные функции SmartComShell. Для этого примера будем использовать Visual Basic.Net и среду разработки VISUAL BASIC 2010 Express Edition в русскоязычном варианте.

  1. Запустите VISUAL BASIC 2010 Express Edition и создайте новый проект приложения Windows Forms и назовите его SmartComShellTest и кликните OK. В результате откроется окно нового проекта.

 scsfordummies001.JPG

  1. Теперь нам нужно создать ссылки на клиентскую библиотеку SmartCom и библиотеку  SmartComShell. Для этого в окне Обозреватель решений щелкните правой кнопкой по имени проекта и выберите из контекстного меню пункт Добавить ссылку.

                              scsfordummies002.JPG

В диалоге Добавить ссылку перейдите на закладку Com, выберите компонент  SmartTrade client library и кликните ОК. Затем перейдите на закладку Обзор и найдите файл  SmartComShell.dll в папке, в которую Вы его поместили при установке и также кликните ОК.

scsfordummies003.JPG

Теперь эти ссылки можно увидеть в Обозревателе решений в папке Ссылки.scsfordummies004.JPG

На этом первое занятие окончено. Поздравляю Вас с первым шагом на пути к созданию Вашей собственной программы.

Здесь Вы можете найти “SmartComShell для чайников” в формате Word http://www.box.net/shared/zuvxlqcrvn.


[1] Автор Вашей первой книги может иметь русскую фамилию, но когда Вы будете приобретать более профессиональную литературу, то отечественных авторов нужно изо всех сил избегать. Практически все купленные мной книги отечественных авторов оказались на порядок хуже их буржуазных аналогов.[2] Здесь же Вы найдете «начальную» книгу по C#.[3] Это бесплатные программы.

33 Responses to “SmartComShell для чайников #1”

  1. Семен Says:

    Добрый день, мы с вами вроде встречались в 2007 году. я трейдер, участник конкурса ЛЧИ 2007 под ником se7
    Стиль торговли: краткосрочная интрадей торговля, работаю на рынке с 2004 года.
    сделал ресурс посвященный трейдингу: http://www.stockme.ru, некий финансовый ежедневник и записную книжку, открыл его 21 мая, так же веду жж: svep.livejournal.com, буду рад если воспользуетесь ресурсом

  2. Den Says:

    Спасибо! То что нужно. Ждем продолжения…

  3. Николай Says:

    Добрый день!

    Сам интересуюсь темой разработки роботов под Смарт. Начал пару месяцев назад писать роботы под СмартКом. Затем увидел проект http://stocksharp.com/ Теперь вот ваш. Понимаю, что спрашивать такие вещи автора не прилично, но очень интересуюсь, чтобы не прогадать в начале. Могли бы вы указать преимущества и недостатки СмартШелла по сравнению со СтокШарп?

  4. admin Says:

    Для того, чтобы развернуто ответить на этот вопрос мне нужно подробно изучить этот проект. Но, это, чесно говоря, делать в лом. В защиту своего проекта, я могу сказать, что, во-первых, с сомами СмартТрейда работаю с момента их появления и работал только с ней. Многие моменты отлаживались годами. Во-вторых, в моей библиотеке используется “модель рынка”, которую я позаимствовал у API CQG. Считаю, и не только я, что это очень удобная и удачная модель. И в третьих, я не верю в бесплатные проекты.

  5. Николай Says:

    Спасибо за ответ.

    Автор того проекта тоже говорит, что взял идею с западных рынков, где АПИ развит не в пример лучше нашего.

    А у вас проект платный? Где можно прочитать о ценовой политике?

  6. admin Says:

    Бог с ним. Я не собираюсь завоевывать “львиную” долю рынка отечественных API, поэтому следить за разработками своих “конкурентов” особо не буду. Посему, что лучше, а что хуже решайте сами.
    Ценовая политика проста. Нужно оформить договор на брокерское обслуживание, через аффилированного со мной представителя.

  7. Яков Says:

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

  8. admin Says:

    Цикл статей для чайников предполагает создание простейшей программы и ее постепенное усложнение. Эта учебная программа появится уже на Занятии №2.

  9. Яков Says:

    Ок, очень хорошо и такой вопрос: почему выбор сделан не в пользу последнего СмартСОМ?

  10. admin Says:

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

  11. Николай Says:

    Спасибо большое за ответы.

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

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

  12. admin Says:

    Когда я готовился проводить свой первый семинар, то сказал организаторам, что могу провести его бесплатно. На это мне ответили, что ответили “никаких беплатных семинаров”, т.к. их основная аудитория - трейдеры-лузеры и толку от этого, как от козла молока. С тех пор для меня готовность человека заплатить деньги это критерий и фильтр.

  13. Николай Says:

    В чем-то Вы правы. Я не скуплюсь на покупку услуги, если она того стоит. Но зачем тратить деньги, если есть такое же, но бесплатно.

    Есть еще один проект под СмартКОМ - tslab. Там так же за деньги. Но там и уровень автоматизации существенно отличается и от СтокШапр и от СмартШелл.

    Ваша аудитория, насколько я понял, это такие как я. Тоесть те, кто более или менее, но умеют создавать программы на DotNet. И особых проблем нет в использовании СмартКОМ. Но работать со СмартШелл, судя по описанию, приятнее, чем напрямую со СмартКОМ.

    Если бы СтокШарп был платный, я несколько раз подумал бы, покупать его или нет. Потому что, я, хоть и не скупой, но и не расточительный. А так как он бесплатный, то и проблемы выбора не стояло.

    Я все это к тому, что для составления конкуренции нужно преимущество. У СтокШарп - бесплатность и переносимость на Квик. У Вас пока не знаю.

  14. Craft Says:

    Николай, Ваша позиция ясна - выбор пал на СтокШарп. Мне лично, интересно развитие этой темы от Сергея Гаврилова, имел опыт работы с его программами и остался доволен.

  15. Николай Says:

    Так я разве где-то высказываюсь против? Тоже читаю этот блог. Вернее читал раньше, но подписка осталась. Потому и отписал, как получил первое сообщение. Я же обеими руками за. Но чтобы это была не борьба клонов, и был действительно конкурирующий продукт.

  16. admin Says:

    Когда Я впервые увидел TSLab то поначалу тоже был впечатлен, но когда пригляделся, то понял, что это ближе к набору красивых кнопок. Вы заблуждаетесь насчет высокой степени автоматизации TsLab. Во-первых, я не вижу никакого смысла городить огород в виде визуальной системы (на западе уж до этого никто не додумался). При ее помощи ничего нормального не сделать. Поэтому лучше потратить время на изучение того же Амиброкера, чем на изучение стрелок и квадратиков. В итоге Вам отстается в качестве скриптового языка С# и усе. Если человек может писать на C#, то ему намного проще и логичнее использовать специализированную библиотеку, а не понятно какой гибрид. А если не может, то ему нужен векторный язык, типа МетаСтока, ВелсЛаба и т.п.
    Поэтому, если я выбирал между СтокШарпом и ТСЛабом, то выбрал бы первый.

  17. Craft Says:

    У ТСЛаб помимо Визуального редактора, есть возможность писать алгоритмы и на C#, http://www.tslab.ru/docs/online/index.html?newapiscript.htm
    Однако, когда за дело написания программы берётся не трейдер решивий изучить программирование, а программист волей судеб пересёкшийся с трейдингом, иной раз тяжело из-за алгоритмического склада (0/1) ума и чёткого следования инструкции прародителя (ни для кого не сикрет, что прообраз взят с ВэлсЛаб) добиться понимания сути некоторых вещей, как, например, в этом случае: http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=5663#Post5663

  18. Николай Says:

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

    Но у них есть и свое АПИ с индикаторами. Не такое продвинутое, как у ВелсЛаб, но уже что-то.

  19. admin Says:

    В SmartComShell будет использоваться лицензионная буржуйская библиотека со 120 индикаторами. Просто я ее еще не подключил.

  20. Николай Says:

    Лицензионная - значит Вы ее распространяете по лицензии или ее нужно пользователям покупать самостоятельно?

  21. admin Says:

    Я купил безлимитную лицензию. И имею право распространять эту библиотеку со своими продуктами. Клиентам ничего платить не надо.

  22. Николай Says:

    Интересно? А что за компания? Хочется оценить их степень законченности продукта.

  23. admin Says:

    Хорошая компания. И продукт закончен.

  24. Николай Says:

    Это секрет? Подожду тогда релиз Шелла с этой библиотекой.

  25. edks Says:

    Ссылка на VISUAL BASIC 2010 Express Edition не работает

  26. admin Says:

    Заработала

  27. kander Says:

    {You did|You probably did} {a great job|a fantastic job}….

    Fantastic blog! I genuinely love how it’s easy on my eyes along with the truth is well written. I’m wondering generate an income may be notified each time a new post has been manufactured. I’ve subscribed to your feed which should do the trick! Poss…

  28. Hehmer Says:

    Greate…

    It’s such a great site! http://www.gather.com/viewArticle.action?articleId=281474979502006 Great post, I just bookmarked it on Digg….

  29. Kenzing Says:

    hello…

    Hello there thanks for the quality post! http://paula11.tabulas.com/ ,i had a great read.appreciate your article,My problem has been resolved….

  30. Dchelle Says:

    Great…

    love your blog, http://ancism.blog-host.nl/greatest_on_normal_to_tall-177208.html ,Thanks again….

  31. Xehmer Says:

    Nice…

    hello,very cool. http://akbbwledgh.hostablog.net/2011/07/07/how-you-can-choose-the-proper-accessories-for-par/ ,nice to meet you…

  32. Sterker Says:

    Great…

    love your blog, http://www.equestrianblogging.com/blogs/beatris ,Thanks again….

  33. ctilde Says:

    Great…

    love your blog, http://www.protectiamediului.org/maryrpuig/ ,Thanks again….

Leave a Reply

*

Anti-Spam Image


Powered by Wordpress 2YI.net Web Directory