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/.
- Пакет Microsoft .NET Framework 2.0, который можно бесплатно загрузить на странице http://msdn.microsoft.com/ru-ru/netframework/aa569263.aspx.
- Среда разработки .NET. Мы рекомендуем версию Microsoft Visual Basic 2005 Express Edition, которую можно бесплатно загрузить на веб-узле Microsoft по адресу: http://www.microsoft.com/express/ru/vb/Default.aspx . Пакет установки Visual Basic 2005 Express включает .NET Framework, так что вам не придется отдельно устанавливать приложение из пункта 1 выше.
- И наконец, вам нужно скопировать файлы примеров из книги на диск своего компьютера. Распакуйте файл example.zip в любую папку. Запомните размещение выбранной папки, так как позднее вам потребуется открывать файлы из нее.
- Пакет Microsoft .NET Framework 4.0, который можно бесплатно загрузить на странице http://www.microsoft.com/downloads/details.aspx?displaylang=ru&FamilyID=9cfb2d51-5ff4-4491-b0e5-b386f32c0992
- Среда разработки .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 реализовано множество стандартных функций, которые необходимы при написании программы для трейдинга.
Итак, займемся установкой этих компонентов…
- Скачайте SmartCom с сайта IT-Invest: http://www.itinvest.ru/software/smartcom/.
- Если у Вас на компьютере установлены SmartTrade+Com и/или старые версии SmartCom, то удалите их. SmartTrade+Com конфликтует с работой SmartCom.
- Запустите файл scm-setup.msi и следуйте оконным инструкциям.
- Скопируйте файл SmartComShell (http://www.box.net/shared/zuvxlqcrvn) в отдельную папку или папку с проектом Вашего приложения.
- Запустите VISUAL BASIC 2010 Express Edition и создайте новый проект приложения Windows Forms и назовите его SmartComShellTest и кликните OK. В результате откроется окно нового проекта.
- Теперь нам нужно создать ссылки на клиентскую библиотеку SmartCom и библиотеку SmartComShell. Для этого в окне Обозреватель решений щелкните правой кнопкой по имени проекта и выберите из контекстного меню пункт Добавить ссылку.
В диалоге Добавить ссылку перейдите на закладку Com, выберите компонент SmartTrade client library и кликните ОК. Затем перейдите на закладку Обзор и найдите файл SmartComShell.dll в папке, в которую Вы его поместили при установке и также кликните ОК.
Теперь эти ссылки можно увидеть в Обозревателе решений в папке Ссылки.
На этом первое занятие окончено. Поздравляю Вас с первым шагом на пути к созданию Вашей собственной программы.
Здесь Вы можете найти “SmartComShell для чайников” в формате Word http://www.box.net/shared/zuvxlqcrvn.
[1] Автор Вашей первой книги может иметь русскую фамилию, но когда Вы будете приобретать более профессиональную литературу, то отечественных авторов нужно изо всех сил избегать. Практически все купленные мной книги отечественных авторов оказались на порядок хуже их буржуазных аналогов.
Май 23rd, 2010 at 7:03 пп
Добрый день, мы с вами вроде встречались в 2007 году. я трейдер, участник конкурса ЛЧИ 2007 под ником se7
Стиль торговли: краткосрочная интрадей торговля, работаю на рынке с 2004 года.
сделал ресурс посвященный трейдингу: http://www.stockme.ru, некий финансовый ежедневник и записную книжку, открыл его 21 мая, так же веду жж: svep.livejournal.com, буду рад если воспользуетесь ресурсом
Май 24th, 2010 at 8:21 дп
Спасибо! То что нужно. Ждем продолжения…
Май 24th, 2010 at 6:24 пп
Добрый день!
Сам интересуюсь темой разработки роботов под Смарт. Начал пару месяцев назад писать роботы под СмартКом. Затем увидел проект http://stocksharp.com/ Теперь вот ваш. Понимаю, что спрашивать такие вещи автора не прилично, но очень интересуюсь, чтобы не прогадать в начале. Могли бы вы указать преимущества и недостатки СмартШелла по сравнению со СтокШарп?
Май 24th, 2010 at 7:59 пп
Для того, чтобы развернуто ответить на этот вопрос мне нужно подробно изучить этот проект. Но, это, чесно говоря, делать в лом. В защиту своего проекта, я могу сказать, что, во-первых, с сомами СмартТрейда работаю с момента их появления и работал только с ней. Многие моменты отлаживались годами. Во-вторых, в моей библиотеке используется “модель рынка”, которую я позаимствовал у API CQG. Считаю, и не только я, что это очень удобная и удачная модель. И в третьих, я не верю в бесплатные проекты.
Май 24th, 2010 at 8:21 пп
Спасибо за ответ.
Автор того проекта тоже говорит, что взял идею с западных рынков, где АПИ развит не в пример лучше нашего.
А у вас проект платный? Где можно прочитать о ценовой политике?
Май 24th, 2010 at 8:54 пп
Бог с ним. Я не собираюсь завоевывать “львиную” долю рынка отечественных API, поэтому следить за разработками своих “конкурентов” особо не буду. Посему, что лучше, а что хуже решайте сами.
Ценовая политика проста. Нужно оформить договор на брокерское обслуживание, через аффилированного со мной представителя.
Май 24th, 2010 at 9:08 пп
Добрый день, благодарю за продолжение этой интересной темы. Думаю, что в процессе публикации статей для чайников многие темы/полезности буду описаны, но для надёжности хотел бы попросить сделать пример для простенькой стратегии (хоть пересечение SMA, с получением котировок по инструменту и выставлением ордеров), с простейшим интерфейсом и отображением графика. Подобный пример поможет начинающим по принципу аналогии попробовать адаптировать свои алгоритмы.
Май 24th, 2010 at 9:15 пп
Цикл статей для чайников предполагает создание простейшей программы и ее постепенное усложнение. Эта учебная программа появится уже на Занятии №2.
Май 25th, 2010 at 1:04 дп
Ок, очень хорошо и такой вопрос: почему выбор сделан не в пользу последнего СмартСОМ?
Май 25th, 2010 at 11:41 дп
Дело в том, что в последнем релизе Смарткома изменена структура справочника данных по инструментам, получаемого с сервера. А у меня для обработки этого справочника стоит достаточно сложный парсер. Когда я его переделаю, тогда и переделаю библиотеку под последнюю версию Смарткома. Думаю это будет скоро.
Май 25th, 2010 at 12:25 пп
Спасибо большое за ответы.
Я рассчитывал, что библиотека будет бесплатной. Сильно пугает привязка одному брокеру, а здесь еще и к некоему посреднику. Никаких обид, деньги - дело такое, что не всем доверишь. Так что, остановлюсь на СтокШарп. Тем более, там можно если что, соскочить на другие брокеры.
Желаю успехов. Надеюсь, вы составите конкуренцию, и она положительным образом отразится на нас.
Май 25th, 2010 at 1:59 пп
Когда я готовился проводить свой первый семинар, то сказал организаторам, что могу провести его бесплатно. На это мне ответили, что ответили “никаких беплатных семинаров”, т.к. их основная аудитория - трейдеры-лузеры и толку от этого, как от козла молока. С тех пор для меня готовность человека заплатить деньги это критерий и фильтр.
Май 25th, 2010 at 7:01 пп
В чем-то Вы правы. Я не скуплюсь на покупку услуги, если она того стоит. Но зачем тратить деньги, если есть такое же, но бесплатно.
Есть еще один проект под СмартКОМ - tslab. Там так же за деньги. Но там и уровень автоматизации существенно отличается и от СтокШапр и от СмартШелл.
Ваша аудитория, насколько я понял, это такие как я. Тоесть те, кто более или менее, но умеют создавать программы на DotNet. И особых проблем нет в использовании СмартКОМ. Но работать со СмартШелл, судя по описанию, приятнее, чем напрямую со СмартКОМ.
Если бы СтокШарп был платный, я несколько раз подумал бы, покупать его или нет. Потому что, я, хоть и не скупой, но и не расточительный. А так как он бесплатный, то и проблемы выбора не стояло.
Я все это к тому, что для составления конкуренции нужно преимущество. У СтокШарп - бесплатность и переносимость на Квик. У Вас пока не знаю.
Май 25th, 2010 at 7:32 пп
Николай, Ваша позиция ясна - выбор пал на СтокШарп. Мне лично, интересно развитие этой темы от Сергея Гаврилова, имел опыт работы с его программами и остался доволен.
Май 25th, 2010 at 8:40 пп
Так я разве где-то высказываюсь против? Тоже читаю этот блог. Вернее читал раньше, но подписка осталась. Потому и отписал, как получил первое сообщение. Я же обеими руками за. Но чтобы это была не борьба клонов, и был действительно конкурирующий продукт.
Май 25th, 2010 at 9:08 пп
Когда Я впервые увидел TSLab то поначалу тоже был впечатлен, но когда пригляделся, то понял, что это ближе к набору красивых кнопок. Вы заблуждаетесь насчет высокой степени автоматизации TsLab. Во-первых, я не вижу никакого смысла городить огород в виде визуальной системы (на западе уж до этого никто не додумался). При ее помощи ничего нормального не сделать. Поэтому лучше потратить время на изучение того же Амиброкера, чем на изучение стрелок и квадратиков. В итоге Вам отстается в качестве скриптового языка С# и усе. Если человек может писать на C#, то ему намного проще и логичнее использовать специализированную библиотеку, а не понятно какой гибрид. А если не может, то ему нужен векторный язык, типа МетаСтока, ВелсЛаба и т.п.
Поэтому, если я выбирал между СтокШарпом и ТСЛабом, то выбрал бы первый.
Май 26th, 2010 at 1:28 дп
У ТСЛаб помимо Визуального редактора, есть возможность писать алгоритмы и на 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
Май 26th, 2010 at 3:07 пп
Сергей, согласен. Визуальности там слишком много. Лично для меня он бесполезен. Не вижу причины, почему трейдер, не умеющий написать скрипт на C#, сможет его оформить в визуальном редакторе. Больше похоже на рекламный ход.
Но у них есть и свое АПИ с индикаторами. Не такое продвинутое, как у ВелсЛаб, но уже что-то.
Май 26th, 2010 at 6:01 пп
В SmartComShell будет использоваться лицензионная буржуйская библиотека со 120 индикаторами. Просто я ее еще не подключил.
Май 26th, 2010 at 8:30 пп
Лицензионная - значит Вы ее распространяете по лицензии или ее нужно пользователям покупать самостоятельно?
Май 26th, 2010 at 8:51 пп
Я купил безлимитную лицензию. И имею право распространять эту библиотеку со своими продуктами. Клиентам ничего платить не надо.
Май 27th, 2010 at 12:32 пп
Интересно? А что за компания? Хочется оценить их степень законченности продукта.
Май 27th, 2010 at 1:02 пп
Хорошая компания. И продукт закончен.
Май 27th, 2010 at 1:42 пп
Это секрет? Подожду тогда релиз Шелла с этой библиотекой.
Июнь 20th, 2010 at 12:57 пп
Ссылка на VISUAL BASIC 2010 Express Edition не работает
Июнь 22nd, 2010 at 10:39 пп
Заработала
Июнь 16th, 2011 at 9:56 дп
{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…
Июль 1st, 2011 at 2:19 дп
Greate…
It’s such a great site! http://www.gather.com/viewArticle.action?articleId=281474979502006 Great post, I just bookmarked it on Digg….
Июль 1st, 2011 at 10:16 дп
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….
Июль 1st, 2011 at 6:42 пп
Great…
love your blog, http://ancism.blog-host.nl/greatest_on_normal_to_tall-177208.html ,Thanks again….
Июль 7th, 2011 at 5:40 пп
Nice…
hello,very cool. http://akbbwledgh.hostablog.net/2011/07/07/how-you-can-choose-the-proper-accessories-for-par/ ,nice to meet you…
Сентябрь 11th, 2011 at 4:44 пп
Great…
love your blog, http://www.equestrianblogging.com/blogs/beatris ,Thanks again….
Сентябрь 13th, 2011 at 1:47 дп
Great…
love your blog, http://www.protectiamediului.org/maryrpuig/ ,Thanks again….