Фичи/Баги/Пожелания для AlfaConnector
Atom Ответить
04.05.2011


Основная функциональность в альфа-коннекторе завершена.

Код свободно доступен на http://stocksharpconnect...eControl/list/changesets

Из основных явных недоделок можно выделить:
- отсутствие поддержки опционов
- отсутствие поддержки стоп-ордеров.

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

Теги:


Спасибо:




145 Ответов
< 1 2 3 4  > >>
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 13.09.2011
Ответить


Doctor Перейти
А открытый интерес поддеживается альфа-коннектором? Или эти идеи пока для будущих фич?


Исходники все на http://stocksharp.codeplex.com/ Открытый интерес ждет вас.Laugh
Спасибо:

Sergey Masyura

Фотография
Автор статей
Дата: 13.09.2011
Ответить


Doctor Перейти
sergey.masyura Перейти
sergey.masyura Перейти
Основная функциональность в альфа-коннекторе завершена.

Код свободно доступен на https://stocksharpconnect...eControl/list/changesets

Из основных явных недоделок можно выделить:
- отсутствие поддержки опционов
- отсутствие поддержки стоп-ордеров.

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


Несколько идей для доработки:
- Добавить заявки типа следящий стоп (trailing stop)
- Добавить открытый интерес
- Добавить поддержку загрузки исторических данных.

У кого еще какие будут варианты?


Добрый День Сергей,

А открытый интерес поддеживается альфа-коннектором? Или эти идеи пока для будущих фич?

Спасибо,


ОИ добавить делов на 10 минут. Последнее время в основном занимаюсь разработкой роботов на заказ. Как будет время обязательно добавлю.
Автор топика
Спасибо:

Doctor

Фотография
Дата: 14.09.2011
Ответить


sergey.masyura Перейти
Doctor Перейти
sergey.masyura Перейти
sergey.masyura Перейти
Основная функциональность в альфа-коннекторе завершена.

Код свободно доступен на https://stocksharpconnect...eControl/list/changesets

Из основных явных недоделок можно выделить:
- отсутствие поддержки опционов
- отсутствие поддержки стоп-ордеров.

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


Несколько идей для доработки:
- Добавить заявки типа следящий стоп (trailing stop)
- Добавить открытый интерес
- Добавить поддержку загрузки исторических данных.

У кого еще какие будут варианты?


Добрый День Сергей,

А открытый интерес поддеживается альфа-коннектором? Или эти идеи пока для будущих фич?

Спасибо,


ОИ добавить делов на 10 минут. Последнее время в основном занимаюсь разработкой роботов на заказ. Как будет время обязательно добавлю.


Да, глянул код, похоже надо open_pos_qty добавить в фильтр и сохранить его в свойствах security во время OnProcessSecurities. Попробую.
Спасибо:

Doctor

Фотография
Дата: 14.09.2011
Ответить


Прикрепил исправленные файлы на основе 9308. Может пригодится кому. Поправил AlfaTrader.cs, AlfaWrapper.cs и SecuritiesWindow.xaml (из примера SampleGUI). Вроде ОИ получается при создании списка.
Что не совсем понятно:
1. Где его нужно правильно сохранить? В Smarte есть поле ExtensionInfo["SecurityOpenedPositionsPrice"], а список полей для Альфы не нашел. Накопал это поле на форуме.
2. SampleGUI похоже не подписывается на обновление Securities, еще нужно проверить ветку кода с обновлением ОИ - пока разбираюсь с примером.
9308-oi.zip 10,4KB (0)
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 14.09.2011
Ответить


Doctor Перейти
Прикрепил исправленные файлы на основе 9308. Может пригодится кому. Поправил AlfaTrader.cs, AlfaWrapper.cs и SecuritiesWindow.xaml (из примера SampleGUI). Вроде ОИ получается при создании списка.
Что не совсем понятно:
1. Где его нужно правильно сохранить? В Smarte есть поле ExtensionInfo["SecurityOpenedPositionsPrice"], а список полей для Альфы не нашел. Накопал это поле на форуме.
2. SampleGUI похоже не подписывается на обновление Securities, еще нужно проверить ветку кода с обновлением ОИ - пока разбираюсь с примером.


Создайте логин на коде плексе и я дам доступ на запись. Зачем сюда аттачи складывать, когда можно сразу в репозитарий залить. Там мы сможет наглядно увидеть изменения.

1. см. AlfaExtensions
2. Гуд.
Спасибо:

Sergey Masyura

Фотография
Автор статей
Дата: 20.09.2011
Ответить


Doctor Перейти
sergey.masyura Перейти
Doctor Перейти
sergey.masyura Перейти
sergey.masyura Перейти
Основная функциональность в альфа-коннекторе завершена.

Код свободно доступен на https://stocksharpconnect...eControl/list/changesets

Из основных явных недоделок можно выделить:
- отсутствие поддержки опционов
- отсутствие поддержки стоп-ордеров.

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


Несколько идей для доработки:
- Добавить заявки типа следящий стоп (trailing stop)
- Добавить открытый интерес
- Добавить поддержку загрузки исторических данных.

У кого еще какие будут варианты?


Добрый День Сергей,

А открытый интерес поддеживается альфа-коннектором? Или эти идеи пока для будущих фич?

Спасибо,


ОИ добавить делов на 10 минут. Последнее время в основном занимаюсь разработкой роботов на заказ. Как будет время обязательно добавлю.


Да, глянул код, похоже надо open_pos_qty добавить в фильтр и сохранить его в свойствах security во время OnProcessSecurities. Попробую.


Добавил открытый интерес для инструментов.
Автор топика
Спасибо: Doctor

bonzero

Фотография
Дата: 24.09.2011
Ответить


Вчера слил с codeplex репозитарий. Открыл в Connectors/Alfa.sln и собрал AlfaDirect. Все собралось.
Затем AlfaTest не собрался:

Цитата:

------ Build started: Project: AlfaDirect, Configuration: Release Any CPU ------
AlfaDirect -> C:\Temp\Connectors\Alfa\Connector\bin\Release\StockSharp.AlfaDirect.dll
------ Build started: Project: AlfaTest, Configuration: Release x86 ------
C:\Temp\Connectors\Alfa\Samples\AlfaTest\Forms\TestForm.cs(16,23): error CS0535: 'StockSharp.Connectors.Alfa.Forms.TestForm' does not implement interface member 'StockSharp.Algo.Logging.ILogSource.Id'
C:\Temp\Connectors\Alfa\Samples\AlfaTest\Forms\TestForm.Designer.cs(3,16): (Related location)
C:\Temp\Connectors\Alfa\Samples\AlfaTest\Forms\TestForm.cs(16,23): error CS0738: 'StockSharp.Connectors.Alfa.Forms.TestForm' does not implement interface member 'StockSharp.Algo.Logging.ILogSource.Parent'. 'System.Windows.Forms.Control.Parent' cannot implement 'StockSharp.Algo.Logging.ILogSource.Parent' because it does not have the matching return type of 'StockSharp.Algo.Logging.ILogSource'.
C:\Temp\Connectors\Alfa\Samples\AlfaTest\Forms\TestForm.Designer.cs(3,16): (Related location)
C:\Temp\Connectors\Alfa\Samples\AlfaTest\Forms\TestForm.cs(16,23): error CS0535: 'StockSharp.Connectors.Alfa.Forms.TestForm' does not implement interface member 'StockSharp.Algo.Logging.ILogSource.Childs'
C:\Temp\Connectors\Alfa\Samples\AlfaTest\Forms\TestForm.Designer.cs(3,16): (Related location)

Compile complete -- 3 errors, 0 warnings
========== Build: 1 succeeded or up-to-date, 1 failed, 0 skipped ==========



Может я что-то не так делаю? Как правильно собрать?
Спасибо:

Alexander

Фотография
Дата: 24.09.2011
Ответить


bonzero Перейти
Вчера слил с codeplex репозитарий. Открыл в Connectors/Alfa.sln и собрал AlfaDirect. Все собралось.
Затем AlfaTest не собрался:

Цитата:

------ Build started: Project: AlfaDirect, Configuration: Release Any CPU ------
AlfaDirect -> C:\Temp\Connectors\Alfa\Connector\bin\Release\StockSharp.AlfaDirect.dll
------ Build started: Project: AlfaTest, Configuration: Release x86 ------
C:\Temp\Connectors\Alfa\Samples\AlfaTest\Forms\TestForm.cs(16,23): error CS0535: 'StockSharp.Connectors.Alfa.Forms.TestForm' does not implement interface member 'StockSharp.Algo.Logging.ILogSource.Id'
C:\Temp\Connectors\Alfa\Samples\AlfaTest\Forms\TestForm.Designer.cs(3,16): (Related location)
C:\Temp\Connectors\Alfa\Samples\AlfaTest\Forms\TestForm.cs(16,23): error CS0738: 'StockSharp.Connectors.Alfa.Forms.TestForm' does not implement interface member 'StockSharp.Algo.Logging.ILogSource.Parent'. 'System.Windows.Forms.Control.Parent' cannot implement 'StockSharp.Algo.Logging.ILogSource.Parent' because it does not have the matching return type of 'StockSharp.Algo.Logging.ILogSource'.
C:\Temp\Connectors\Alfa\Samples\AlfaTest\Forms\TestForm.Designer.cs(3,16): (Related location)
C:\Temp\Connectors\Alfa\Samples\AlfaTest\Forms\TestForm.cs(16,23): error CS0535: 'StockSharp.Connectors.Alfa.Forms.TestForm' does not implement interface member 'StockSharp.Algo.Logging.ILogSource.Childs'
C:\Temp\Connectors\Alfa\Samples\AlfaTest\Forms\TestForm.Designer.cs(3,16): (Related location)

Compile complete -- 3 errors, 0 warnings
========== Build: 1 succeeded or up-to-date, 1 failed, 0 skipped ==========



Может я что-то не так делаю? Как правильно собрать?



Пофиксил
Спасибо: bonzero

bonzero

Фотография
Дата: 26.09.2011
Ответить


В SampleGUI для AlfaDirect:

- "Отключиться" кнопка не работает
- В "Инструменты" одни NULL в полях Bid, Ask, последняя цена и т.д.
Спасибо:

Sergey Masyura

Фотография
Автор статей
Дата: 26.09.2011
Ответить


bonzero Перейти
В SampleGUI для AlfaDirect:

- "Отключиться" кнопка не работает
- В "Инструменты" одни NULL в полях Bid, Ask, последняя цена и т.д.


Окей. Спасибо.

http://stocksharp.codeplex.com/workitem/585
Автор топика
Спасибо:

Alexander

Фотография
Дата: 26.09.2011
Ответить


bonzero Перейти
- В "Инструменты" одни NULL в полях Bid, Ask, последняя цена и т.д.


Произошло это из-за моего изменения.
Теперь по умолчанию лучший бид, аск и последняя цена = NULL.

Соответственно в логгер сделал вывод "NULL".
Если есть идея как вывести покрасивше - поправлю :)
Спасибо:

Sergey Masyura

Фотография
Автор статей
Дата: 30.09.2011
Ответить


sergey.masyura Перейти
bonzero Перейти
В SampleGUI для AlfaDirect:

- "Отключиться" кнопка не работает
- В "Инструменты" одни NULL в полях Bid, Ask, последняя цена и т.д.


Окей. Спасибо.

https://stocksharp.codeplex.com/workitem/585


Resolved with changeset 10068.

Исправлено на codeplex (пример и коннектор).

Подключаться можно как с уже запущенным терминалом, так и без терминала, указав у трейдера свойства Login и Password - терминал запустится и подключится автоматически.
Автор топика
Спасибо:

bonzero

Фотография
Дата: 08.10.2011
Ответить


В AlfaTest.exe ввожу логин и пароль и всегда получаю ошибку:

"Ошибка авторизации!
Вероятно, Вы ошиблись при вводе имени
пользователя или пароля.
Повторите попытку максимально внимательно..."

Ввожу в терминале - все проходит.

Update: Также пропало окошко с выводом информации.
Спасибо:

Sergey Masyura

Фотография
Автор статей
Дата: 08.10.2011
Ответить


bonzero Перейти
В AlfaTest.exe ввожу логин и пароль и всегда получаю ошибку:

"Ошибка авторизации!
Вероятно, Вы ошиблись при вводе имени
пользователя или пароля.
Повторите попытку максимально внимательно..."

Ввожу в терминале - все проходит.

Update: Также пропало окошко с выводом информации.


Ошибку авторизации поправил - http://stocksharp.codepl.../changeset/changes/10352

Окно пропало по задумке - на нем недобно что-либо читать, скролировать. Логи идут в окно Output у Visual Studio.
Автор топика
Спасибо: bonzero

bonzero

Фотография
Дата: 10.10.2011
Ответить


Спасибо.

Запустил AlfaTest.ext через Debug.
Соединился, нажал "Start Export". Через 3 секунды получил:

Код
AlfaTest.vshost.exe Information: 0 : TestForm OnNewSecurities()
A first chance exception of type 'System.NullReferenceException' occurred in AlfaTest.exe


Код
AlfaTest.exe!StockSharp.Connectors.Alfa.PrintUtils.Log(StockSharp.BusinessEntities.Security sec = {StockSharp.BusinessEntities.Security}) Line 19 + 0x2c bytes	C#
AlfaTest.exe!StockSharp.Connectors.Alfa.Forms.TestForm.OnNewSecurities(System.Collections.Generic.IEnumerable<StockSharp.BusinessEntities.Security> securities = {StockSharp.BusinessEntities.Security[3]}) Line 513 + 0x8 bytes	C#
Спасибо:

bonzero

Фотография
Дата: 10.10.2011
Ответить


Цитата:
Ошибку авторизации поправил - http://stocksharp.codepl.../changeset/changes/10352


Обновился. Логин и пароль как раз ввожу. Но всегда ошибка авторизации. Через терминал все проходит. А через AlfaTest - нет. Через Alpha SampleGUI все тоже проходит.
Спасибо:

Sergey Masyura

Фотография
Автор статей
Дата: 10.10.2011
Ответить


bonzero Перейти
Цитата:
Ошибку авторизации поправил - https://stocksharp.codepl.../changeset/changes/10352


Обновился. Логин и пароль как раз ввожу. Но всегда ошибка авторизации. Через терминал все проходит. А через AlfaTest - нет. Через Alpha SampleGUI все тоже проходит.


В AlfaTest для автоматической авторизации надо еще чекбокс включить. А вобще самое простое подключаться в уже запущенному терминалу.
Автор топика
Спасибо: bonzero

Sergey Masyura

Фотография
Автор статей
Дата: 10.10.2011
Ответить


bonzero Перейти
Спасибо.

Запустил AlfaTest.ext через Debug.
Соединился, нажал "Start Export". Через 3 секунды получил:

Код
AlfaTest.vshost.exe Information: 0 : TestForm OnNewSecurities()
A first chance exception of type 'System.NullReferenceException' occurred in AlfaTest.exe


Код
AlfaTest.exe!StockSharp.Connectors.Alfa.PrintUtils.Log(StockSharp.BusinessEntities.Security sec = {StockSharp.BusinessEntities.Security}) Line 19 + 0x2c bytes	C#
AlfaTest.exe!StockSharp.Connectors.Alfa.Forms.TestForm.OnNewSecurities(System.Collections.Generic.IEnumerable<StockSharp.BusinessEntities.Security> securities = {StockSharp.BusinessEntities.Security[3]}) Line 513 + 0x8 bytes	C#


Начиная с последних версий Stock# некоторые поля в инструментах теперь null, если не инициализированы. Это ошибка примера, если есть желание - можете исправить.
Автор топика
Спасибо:

bonzero

Фотография
Дата: 11.10.2011
Ответить


Если бы я знал еще как исправить...Confused

Еще один баг. Или может только у меня так.
AlfaDirect SampleGUI. Запускаю, подключаюсь, жму "Портфели". И в "Портфели" "Текущий размер" всегда одна и таже цифра.
Причем в терминале Альфа-Директ перестает обновляться информация по портфелю. ;(

Update: Перезапустил AlfaDirect, теперь в терминале стало все обновляться, странно.

А "Текущий размер" в "Портфели" так и должен быть статичным? Не должен меняться? Ткните пожалуйста где почитать как получать "текущий размер портфеля".
Спасибо:

Sergey Masyura

Фотография
Автор статей
Дата: 11.10.2011
Ответить


bonzero Перейти
Если бы я знал еще как исправить...Confused

Еще один баг. Или может только у меня так.
AlfaDirect SampleGUI. Запускаю, подключаюсь, жму "Портфели". И в "Портфели" "Текущий размер" всегда одна и таже цифра.
Причем в терминале Альфа-Директ перестает обновляться информация по портфелю. ;(

Update: Перезапустил AlfaDirect, теперь в терминале стало все обновляться, странно.

А "Текущий размер" в "Портфели" так и должен быть статичным? Не должен меняться? Ткните пожалуйста где почитать как получать "текущий размер портфеля".


Чтобы информация по портфелю обновлялась, необходимо вызвать метод RegisterPortfolio. Возможно, в примере этого не делается. Это всего лишь пример и в нем нет задачи использовать все, что только можно. Только основные базовые вещи. Как будет время, посмотрю.
Автор топика
Спасибо: bonzero

bonzero

Фотография
Дата: 12.10.2011
Ответить


А ГО по портфелю как получить? Leverage показывает 0, а портфеле фьючерсы и опционы. Leverage не то конечно как я понимаю, но что отвечает за ГО по портфелю?

А Security.LastTrade.Price я так понимаю не для получения последней цены? Потому что у меня Security.LastTrade всегда null. RegisterQuotes и RegisterSecuritiesChanged делаю.
Спасибо:

Sergey Masyura

Фотография
Автор статей
Дата: 12.10.2011
Ответить


bonzero Перейти
А ГО по портфелю как получить? Leverage показывает 0, а портфеле фьючерсы и опционы. Leverage не то конечно как я понимаю, но что отвечает за ГО по портфелю?

А Security.LastTrade.Price я так понимаю не для получения последней цены? Потому что у меня Security.LastTrade всегда null. RegisterQuotes и RegisterSecuritiesChanged делаю.



Открываем stocksharpconnectors\Connectors\Alfa\Connector\AlfaWrapper.cs, смотрим какая таблица и поля используются

private const string _portfolioTable = "acc_bal"; // БАЛАНС ПОЗИЦИЙ ПО СЧЕТАМ
private const string _portfolioFields = "treaty, forward_bal, money";

Далее открываем доку из sdk альфы

ТАБЛИЦА «ACC_BAL» - АГРЕГИРОВАННЫЙ БАЛАНС ПОЗИЦИЙ ПО СЧЕТАМ
Ключевое поле: treaty
Поле Тип Описание
treaty Integer Счет.
acc_code String Портфель.
forward_bal Float Баланс.
money Float Деньги.
deposit Float Гарантийное обеспечение срочного рынка.
var_margin Float Вариационная маржа дня.
long_bal Float Баланс длинных позиций на споте.
short_bal Float Баланс коротких позиций на споте.
call Float Требование.
margin Float Маржа ФСФР.
option_pl Float Финансовый результат опционов.
profit_bal Float Нереализованный прибыль/убыток.
daily_pl Float Прибыль/убыток дня.
rel_pl Float %Прибыль/убыток дня.


Требуется вот это поле добавить?
deposit Float Гарантийное обеспечение срочного рынка.

Если требуется, давай добавлю. Делов немного.
Автор топика
Спасибо: bonzero

Sergey Masyura

Фотография
Автор статей
Дата: 12.10.2011
Ответить


bonzero Перейти
А ГО по портфелю как получить? Leverage показывает 0, а портфеле фьючерсы и опционы. Leverage не то конечно как я понимаю, но что отвечает за ГО по портфелю?

А Security.LastTrade.Price я так понимаю не для получения последней цены? Потому что у меня Security.LastTrade всегда null. RegisterQuotes и RegisterSecuritiesChanged делаю.


Верно, LastTrade не заполняется в Альфа-коннекторе. Надо доделать.

http://stocksharp.codeplex.com/workitem/630
Автор топика
Спасибо:

bonzero

Фотография
Дата: 13.10.2011
Ответить


Сергей, спасибо за детальное объяснение.
Да, хорошо бы deposit добавить. Так как ГО по портфелю отслеживать требуется.

Спасибо за будущий фикс с LastTrade.

Кстати, а есть в планах создать коннектор на основе серверного API от Альфа-Директ, вместо интерфейса через COM?
Например терминал Euphoria для альфы использует такое API (http://ni-soft.ru) . Но тогда если надо будет запустить одновременно и робота и терминал, то потребуется дополнительный логин получить.

Правда я списывался со службой поддержки, мне сказали, что они документацию по этому API не предоставляют сейчас. Потому что грядет его смена (уже как 2 года грядет) и будет также выпущена новая версия терминала Альфа-Директ.

Да и я так понимаю Альфа не так популярна как Quick, чтобы много сил тратить на этот коннектор.
Спасибо:

Sergey Masyura

Фотография
Автор статей
Дата: 13.10.2011
Ответить


bonzero Перейти
Сергей, спасибо за детальное объяснение.
Да, хорошо бы deposit добавить. Так как ГО по портфелю отслеживать требуется.

Спасибо за будущий фикс с LastTrade.

Кстати, а есть в планах создать коннектор на основе серверного API от Альфа-Директ, вместо интерфейса через COM?
Например терминал Euphoria для альфы использует такое API (https://ni-soft.ru) . Но тогда если надо будет запустить одновременно и робота и терминал, то потребуется дополнительный логин получить.

Правда я списывался со службой поддержки, мне сказали, что они документацию по этому API не предоставляют сейчас. Потому что грядет его смена (уже как 2 года грядет) и будет также выпущена новая версия терминала Альфа-Директ.

Да и я так понимаю Альфа не так популярна как Quick, чтобы много сил тратить на этот коннектор.


По поводу ГО создал баг http://stocksharp.codeplex.com/workitem/632

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

Альфа мне нравится намного больше, чем квик. Так что на любителя. По поводу коннектора, если будет фидбэк от пользователей по поводу багов/фичей, будут и фиксы (по мере наличия времени).
Автор топика
Спасибо: bonzero
< 1 2 3 4  > >>

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy