Токио Лондон Нью-Йорк
17:06 8:06 3:06
PDA-версия Правила форума Помощь Пользователи Портал трейдеров

LiteForex - новый форум      UWC Broker

Здравствуйте, гость ( Вход | Регистрация )

3 страниц V   1 2 3 >  
Reply to this topic   Start new topic
Пишу на Delphi
 Topic Options
_Николаевич_
сообщение Jun 2 2010, 16:19
Сообщение #1
Интересующийся
Иконка группы

Группа: Форумчане
Сообщений: 18
Спасибо: 3 *
Регистрация: 5-May 10
Пользователь №: 27,046



Репутация:   0  
Здравствуйте, уважаемые (IMG:style_emoticons/default/smile.gif) Такой вопросик родился. Я программирую немного не Дельфи. Ничего серьезного. Так, просто: для души. Но мне любопытно было бы узнать, можно ли из Дельфи получить доступ к серверу (через СОМ-объект). Если да, то можно было бы попробовать какую-нибудь системку написать простенькую. Кто-нибудь что-нибудь может сказать по этому поводу?
Go to the top of the page
 
+Quote Post
 
Kvant
сообщение Jun 2 2010, 16:33
Сообщение #2
Познающий
Иконка группы

Группа: Представители
Сообщений: 177
Спасибо: 46 *
Регистрация: 15-August 08
Пользователь №: 18,074



Репутация:   0  
(IMG:style_images/forex/quotes/quot-top-left.gif) Цитата: (IMG:style_images/forex/quotes/quot-top-right.gif)
(IMG:style_images/forex/quotes/quot-by-left.gif) (_Николаевич_ @ Jun 2 2010, 16:19 ) * (IMG:style_images/forex/quotes/quot-by-right.gif)
(IMG:style_images/forex/quotes/quot-top-right-10.gif)
Здравствуйте, уважаемые (IMG:style_emoticons/default/smile.gif) Такой вопросик родился. Я программирую немного не Дельфи. Ничего серьезного. Так, просто: для души. Но мне любопытно было бы узнать, можно ли из Дельфи получить доступ к серверу (через СОМ-объект). Если да, то можно было бы попробовать какую-нибудь системку написать простенькую. Кто-нибудь что-нибудь может сказать по этому поводу?
(IMG:style_images/forex/quotes/quot-bot-left.gif) (IMG:style_images/forex/quotes/quot-bot-right.gif)



Вполне возможно - ограничений по языкам нет. В практике такое встречается.
Go to the top of the page
 
+Quote Post
 
Vo_Ja_dger
сообщение Jun 2 2010, 19:20
Сообщение #3
Ученик
Иконка группы

Группа: Форумчане
Сообщений: 64
Спасибо: 6 *
Регистрация: 5-May 10
Пользователь №: 27,048



Репутация:   0  
Постараюсь помочь чем смогу. Поищу: где-то у меня были материалы.
Go to the top of the page
 
+Quote Post
 
Vo_Ja_dger
сообщение Jun 8 2010, 16:33
Сообщение #4
Ученик
Иконка группы

Группа: Форумчане
Сообщений: 64
Спасибо: 6 *
Регистрация: 5-May 10
Пользователь №: 27,048



Репутация:   0  
Материалов готовых найти не удалось... только какие-то обрывки кода кое-где встречаются в интернете. Служба поддержки отвечает всякое разное, но только не то, что могло бы помочь в этом деле.

Однако, мне уже кое-чего удалось добиться. Пришлось, правда, работать "методом научного тыка".
Чуть-чуть попозже я отпишусь, что и как... скорее всего, завтра или послезавтра.
Go to the top of the page
 
+Quote Post
 
Синия Борода
сообщение Jun 9 2010, 07:25
Сообщение #5
Познающий
Иконка группы

Группа: Форумчане
Сообщений: 129
Спасибо: 41 *
Регистрация: 11-May 10
Пользователь №: 27,101



Репутация:   0  
На мой взгляд использование чистого api - это долгий путь к реализации ТС, писать придется все нужные индикаторы, выаод информации от тс, и т.д. Лучший вариант использовать Wealth Lab 3, в нем уже имется множество встроенных функций и индикаторов, на все случаи жизни, а недостающие можно написать самому. Язык ВЛ основан на Паскале. А Делфи - это расширенный паскаль!

Спасибо сказали:
Vo_Ja_dger
Go to the top of the page
 
+Quote Post
 
Vo_Ja_dger
сообщение Jun 9 2010, 09:06
Сообщение #6
Ученик
Иконка группы

Группа: Форумчане
Сообщений: 64
Спасибо: 6 *
Регистрация: 5-May 10
Пользователь №: 27,048



Репутация:   0  
Во многом согласен. Паскалевский транслятор довольно-таки распространен. Я даже где-то видел free-версию. А это говорит о том, что легко можно встраивать паскаль (или паскале-подобный язык) во многие программы, где требуется возможность написания собственных скриптов. И вот, например, ВЛ. Но максимальная гибкость достигается, конечно же, только при использовании полноценного языка (среды) программирования.

Возьмем, к примеру МТ-шный язык (внешне он похож на С). Но особенность программы такова, что скрипт отрабатывает по тику. И "повесить" его на какое-то другое событие нет никакой возможности. К чему это приводит? - Возникают определенные сложности, к примеру, при создании систем, работающих в реальном времени. Да и вообще не удается полностью реализовать событийно-ориентированную парадигму. Приходится придумывать какие-то циклы, условия и т.д.

Такой подход... может многим не нравится. Ну, и потом, мне не сложно: вот просит Николаевич - ну, хочется ему, - пожалуйста. Я, например, тоже - за неограниченную свободу. А индюк написать... на полноценном языке программирования? - я вас умоляю... это 2-3 минуты делов. Вывод.... - для графики есть готовые компоненты, для текста - вообще проблемы не вижу.
Go to the top of the page
 
+Quote Post
 
Vo_Ja_dger
сообщение Jun 9 2010, 10:19
Сообщение #7
Ученик
Иконка группы

Группа: Форумчане
Сообщений: 64
Спасибо: 6 *
Регистрация: 5-May 10
Пользователь №: 27,048



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

Кроме того, в случае использования СОМ, исходный код компилируется, а не транслируется, что, в свою очередь, дает производительность. Она не всегда нужна. Часто скрипты, которые пишутся для реализации механической торговой системы представляют собой десятка два-три строк. Но когда она бывает НУЖНА - то требуется остро! И когда не хватает производительности языка, то это напрягает уже сильно.

Что такое COM?

COM является платформно-независимой, объектно-ориентированной технологией, позволяющей создавать бинарные компоненты. Эти компоненты можно использовать как локально, так и в распределенном сетевом окружении. COM служит основой для: OLE (технология составных документов), ActiveX-объектов и элементов управления ActiveX, DCOM, COM+.

На базе COM создано большинство новейших продуктов (тот же MS Office, например) и технологий Windows (Automation, Drag & Drop, и т.д.).

COM – это технология, позволяющая объектам взаимодействовать, несмотря на границы процесса или машины, так же легко, как и объектам внутри одного процесса. COM обеспечивает такое взаимодействие, определяя, что единственный путь управления данными, ассоциированными с объектом, лежит через интерфейс объекта. Термин «интерфейс», о котором речь пойдет чуть ниже, означает реализацию в коде COM-совместимого двоичного интерфейса, ассоциированного с объектом.

Программисты все знают, а для "обычных пользователей" скажу, что на любом современном компьютере, где есть Windows, Office и десяток или два современных офисных, графических или девелоперских программ, - есть множество СОМ-серверов. СОМ-сервер - это компонент, который, собственно, позволяет пользоваться инкапсулируемым классом для создания в пользовательских программах объектов - экземпляров этого класса.

Благодаря технологии COM такие классы могут располагаться в DLL. Именно в такой реализации это становится возможно. Потому что, вообще-то, стандартная DLL может экспортировать лишь процедуры и функции. DLL, содержащую СОМ-сервер требуется регистрировать в системе специальной программой, входящей в состав ОС. Часто, как и в случае с объектом СмартКОМ это делает установщик (при инсталляции).

Что такое SmartCOM?

SmartCOM – открытый программный интерфейс подключения приложений (API) с использованием компонентной объектной модели (Component Object Model, COM). Интерфейс специально разработан для создания на его основе собственных автоматизированных систем пользователей и позволяет строить полноценных торговых роботов, общающихся напрямую с торговым сервером брокера, разрабатывать собственные торговые терминалы, а также стыковать с торговым сервером уже имеющиеся механические торговые системы. Использование SmartCOM дает возможность:

1. Подключать робота к торговым серверам брокерской компании напрямую, минуя обычные клиентские интерфейсы. Это позволяет роботу не только оперативно получать информацию о торгах и состоянии счета, но и направлять торговые приказы прямо «в рынок» и отслеживать их исполнение. Скорость торговли при использовании SmartCOM зависит только от скорости самого робота и каналов связи.

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

3. Использование компонентной объектной модели позволяет подключать к торговым серверам брокера механические торговые системы, разработанные практически на любых программных платформах, поддерживающих эту технологию. Например, C++, любой из.NET языков (C#, VB.NET и другие), Visual Basic, Visual Basic for Application (в частности из Microsoft Excel) и многих других.

Я, в частности, покажу, как это делается на Delphi, потому что для других языков материал нарыть можно. А Дельфи, почему-то оказывается... как бы несколько в стороне от "мэйн-стрима". Ну, в философию вдаваться не будем. И говорить о том, кому и в чем разрабатывать программы - пустое. Это право каждого: выбрать себе язык. Ограничимся лишь тем, что для задач связанных с написанием МТС (механических торговых систем) Дельфи - это мощный, полнофункциональный, гибкий и производительный язык, способный реализовать любую фантазию трейдера. А учитывая то, что он еще и предельно прост в понимании и доступен для новичков программирования, можно сказать, что это один из лучших языков для написания торговых роботов.

Сообщение отредактировал Vo_Ja_dger - Jun 9 2010, 10:26

Спасибо сказали:
_Николаевич_
Go to the top of the page
 
+Quote Post
 
Milennnka
сообщение Jun 9 2010, 11:48
Сообщение #8
Познающий
Иконка группы

Группа: Форумчане
Сообщений: 116
Спасибо: 103 *
Регистрация: 5-May 10
Пользователь №: 27,047



Репутация:   0  
Во, как прикольно! Это я правильно понимаю, что трейдер может, в принципе, сделать терминал вообще 100% под себя (IMG:style_emoticons/default/wizard.gif) какой нравится и какой удобен?

И еще один вопрос: ведь можно же записывать текущие котировки, которые поступают с сервера в какой-нибудь файл, да? Я имею ввиду, для последующего анализа. Я правильно понимаю?

Эхх... жаль, что я не умею программировать. (IMG:style_emoticons/default/umnik.gif)
Go to the top of the page
 
+Quote Post
 
_Николаевич_
сообщение Jun 9 2010, 12:27
Сообщение #9
Интересующийся
Иконка группы

Группа: Форумчане
Сообщений: 18
Спасибо: 3 *
Регистрация: 5-May 10
Пользователь №: 27,046



Репутация:   0  
Вояджер, спасибо!

Миленка, там ничего сложного нету. Если будешь сюда заглядывать, - быстро научишься (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
 
+Quote Post
 
Vo_Ja_dger
сообщение Jun 9 2010, 12:37
Сообщение #10
Ученик
Иконка группы

Группа: Форумчане
Сообщений: 64
Спасибо: 6 *
Регистрация: 5-May 10
Пользователь №: 27,048



Репутация:   0  
Да, собственно, не за что.

Кстати говоря, вот здесь: http://www.uwcbroker.ru/trading/developers (внизу страницы) можно скачать СОМ-сервер, о котором идет речь. Вот прямая ссылка
Go to the top of the page
 
+Quote Post
 
Vo_Ja_dger
сообщение Jun 9 2010, 12:57
Сообщение #11
Ученик
Иконка группы

Группа: Форумчане
Сообщений: 64
Спасибо: 6 *
Регистрация: 5-May 10
Пользователь №: 27,048



Репутация:   0  
На всякий случай, для тех, кто очень ценит "порядок" и "чистоту" на своих машинах, - сообщаю, что объект корректно ставится инсталлятором. И также корректно и полностью удаляется, не "за***ая" машину.

Процесс инсталляции прост. И вряд ли у какого-то программиста вызовет сложности... Давим все время "Да", "Следующий", "Ок", "Согласен" и "Завершить" (IMG:style_emoticons/default/smile.gif)
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Vo_Ja_dger
сообщение Jun 9 2010, 13:00
Сообщение #12
Ученик
Иконка группы

Группа: Форумчане
Сообщений: 64
Спасибо: 6 *
Регистрация: 5-May 10
Пользователь №: 27,048



Репутация:   0  
По умолчанию объекты инсталлируются в папку C:\Program Files\IC IT Invest\SmartCOM 2\ Ну, если кому-то важно, можно выбрать любую другу и снова утопить кнопку "Некст".
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Vo_Ja_dger
сообщение Jun 9 2010, 13:04
Сообщение #13
Ученик
Иконка группы

Группа: Форумчане
Сообщений: 64
Спасибо: 6 *
Регистрация: 5-May 10
Пользователь №: 27,048



Репутация:   0  
Потом чуть-чуть подождать... и завершить установку.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Vo_Ja_dger
сообщение Jun 9 2010, 13:10
Сообщение #14
Ученик
Иконка группы

Группа: Форумчане
Сообщений: 64
Спасибо: 6 *
Регистрация: 5-May 10
Пользователь №: 27,048



Репутация:   0  
Главная ДЛЛ-ка, которая нам потребуется для работы - это stcln-2.dll (на рисунке отмечена галочкой).
Прикрепленные изображения
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Vo_Ja_dger
сообщение Jun 9 2010, 13:32
Сообщение #15
Ученик
Иконка группы

Группа: Форумчане
Сообщений: 64
Спасибо: 6 *
Регистрация: 5-May 10
Пользователь №: 27,048



Репутация:   0  
Создаем в Дельфи обычное приложение
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Vo_Ja_dger
сообщение Jun 9 2010, 13:35
Сообщение #16
Ученик
Иконка группы

Группа: Форумчане
Сообщений: 64
Спасибо: 6 *
Регистрация: 5-May 10
Пользователь №: 27,048



Репутация:   0  
Далее нам потребуется инсталлировать компонент (объект).
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Vo_Ja_dger
сообщение Jun 9 2010, 13:38
Сообщение #17
Ученик
Иконка группы

Группа: Форумчане
Сообщений: 64
Спасибо: 6 *
Регистрация: 5-May 10
Пользователь №: 27,048



Репутация:   0  
Выбираем тип компонента
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Vo_Ja_dger
сообщение Jun 9 2010, 13:52
Сообщение #18
Ученик
Иконка группы

Группа: Форумчане
Сообщений: 64
Спасибо: 6 *
Регистрация: 5-May 10
Пользователь №: 27,048



Репутация:   0  
Следующий шаг - это поиск самого объекта в списке. Можно отсортировать табличку по Описанию (Description) или же по имени файла (Filename) и найти будет легко. Название "самой главной" ДЛЛ-ки я уже говорил.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Vo_Ja_dger
сообщение Jun 9 2010, 13:57
Сообщение #19
Ученик
Иконка группы

Группа: Форумчане
Сообщений: 64
Спасибо: 6 *
Регистрация: 5-May 10
Пользователь №: 27,048



Репутация:   0  
На следующем шаге, если хочется, можно поменять каталог, куда будет добавлен заголовочный файл для нашего СОМ-объекта, и который (этот юнит) впоследствии надо будет использовать в своих проектах. Больше ничего менять не надо.

Сообщение отредактировал Vo_Ja_dger - Jun 9 2010, 13:57
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Vo_Ja_dger
сообщение Jun 9 2010, 14:07
Сообщение #20
Ученик
Иконка группы

Группа: Форумчане
Сообщений: 64
Спасибо: 6 *
Регистрация: 5-May 10
Пользователь №: 27,048



Репутация:   0  
В итоге создается заголовочный файл для dll. Который нужно будет впоследствии присоединить в свой проект (т.е., описать в разделе USES интерфейсной части модуля).
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 

3 страниц V   1 2 3 >
   Reply to this topic   Start new topic

   2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 10th September 2010 - 10:06
© ForexPeoples.com, 2008    Rambler's Top100       службы мониторинга серверов    РАУФР

Форекс форум | Forex Forum | форум брокеров

Designed by Zaragraphics
Forum Style by IPB Skins Team