Альфа-Коннектор (dev, s# 4.1)
Atom
26.03.2012
Sergey Masyura


В dev ветке на CodePlex идет работа по обновлению Альфа-Коннектора и приведению его в полностью рабочее состояние.

Последние изменения:

  • Адаптирован под S# 4.1 в плане синхронизации объектов (использование ProcessSecurityAction, ProcessEvents, security.BeginUpdate() и др)
  • Работа с API Альфа-Директ из специально выделенного потока, обработка торговых данных из второго специального потока.
  • Отправление ордеров без блокировки, использование OrderConfirmed для получения id (работа с ордерами еще ведется)
  • Работает подписка на trades для разных инструментов.

TODO:

  • Механизм повторной регистрации ордера, если тот не был принят брокером по причине превышения числа транзакций в секунду.
  • Поддержка всех типов ордеров (STP, STP + TARGET PROFIT, %TR)
  • Преобразование id инструментов в формат, единый с Quik, Plaza, Smart.
  • Тестирование стратегий котирования
  • Тестирование strategy rules.
  • todo

Замечания, пожелания, баги приветсвуются. Пожалуйста, пишите в комментариях. Если это кому-то надо, дело пойдет на порядок быстрее.

PS: Особая благодарность Родиону и альтернативному алфьа-коннектору за экономию времени по некоторым вопросам ( http://stocksharp.com/forum/2385/Al-tiernativnyi-Al-fa-Konniektor/?page=2 ).


Теги:


Спасибо: OvcharenkoVI


1 2  >
Sergey Masyura

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


Исправлена подписка на несколько инструментов http://stocksharp.codeplex.com/SourceControl/changeset/changes/15873

Спасибо: OvcharenkoVI

Sergey Masyura

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


http://stocksharp.codeplex.com/SourceControl/changeset/changes/15884

Сделана корректная отмена ордеров, находящихся в процессе регистрации (т.е. не имеющих id).

Можно писать код вида:


_trader.RegisterOrder(order);
_trader.CancelOrder(order);

Такой код используется в котировании в том числе.

Спасибо:

Mikhail Sukhov

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


Sergey Masyura: http://stocksharp.codeplex.com/SourceControl/changeset/changes/15884

Сделана корректная отмена ордеров, находящихся в процессе регистрации (т.е. не имеющих id).

Можно писать код вида:

_trader.RegisterOrder(order); _trader.CancelOrder(order);

> 
> Такой код используется в котировании в том числе.

Такого кода в котировании нет. После регистрации ожидается появление заявки. И только потом возможна отмена.
Спасибо:

Sergey Masyura

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


http://stocksharp.codeplex.com/SourceControl/changeset/changes/15885

Добавлена поддержка ExpiryDate (даты истечения) при регистрации ордера. До этого использовалось CancelTime (время снятия заявки).

Спасибо:

Sergey Masyura

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


Mikhail Sukhov:

Sergey Masyura: http://stocksharp.codeplex.com/SourceControl/changeset/changes/15884

Сделана корректная отмена ордеров, находящихся в процессе регистрации (т.е. не имеющих id).

Можно писать код вида:

_trader.RegisterOrder(order); _trader.CancelOrder(order);

> >
> > Такой код используется в котировании в том числе.
> 
> Такого кода в котировании нет. После регистрации ожидается появление заявки. И только потом возможна отмена.

Раньше был. Сейчас уже нет.
Спасибо:

Sergey Masyura

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


http://stocksharp.codeplex.com/SourceControl/changeset/changes/15886

Исправлена подача ордеров типа Market. Спасибо за баг репорт Валерию ( http://stocksharp.com/users/390/ )

Спасибо: OvcharenkoVI

OvcharenkoVI

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


В принципе Коннектор приходит в рабочее состояние, пригодное для релиза 4.1. огромное спасибо Сергею за подписку на несколько инструментов.

Спасибо: Sergey Masyura

Sergey Masyura

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


http://stocksharp.codeplex.com/SourceControl/changeset/changes/15912

Добавлены AlfaLimitStopCondition, AlfaLimitStopTargetCondition, AlfaTrailingStopCondition. Регистрация стоп-лимит / стоп-лимит + цель заявок.

Примеры API подачи ордеров:


			var order = new Order
			{
				Type = OrderTypes.Conditional,
				Portfolio = _portfolio,
				Security = _security,
				Volume = 1,
				Direction = OrderDirections.Buy,
				StopCondition = new AlfaLimitStopCondition
				{
					StopPrice = textBoxBuyStopPrice.Text.To<double>(),
					Slippage = Double.Parse(textBoxBuyStopSlippage.Text)
				}
			};


			_trader.RegisterOrder(order);


			var order = new Order
			{
				Type = OrderTypes.Conditional,
				Portfolio = _portfolio,
				Security = _security,
				Volume = 1,
				Direction = OrderDirections.Buy,
				StopCondition = new AlfaLimitStopTargetCondition
				{
					StopPrice = textBoxBuyStopTarget_Price.Text.To<double>(),
					Slippage = textBoxBuyStopTarget_Slippage.Text.To<double>(),
					TargetPrice = textBoxBuyStopTarget_Target.Text.To<double>()
				}
			};


			_trader.RegisterOrder(order);

Ближайшие таски:

  • Отладка маркет котирования
  • Распознавание типов ордеров при начальном чтении их из терминала при старте экспорта
Спасибо: OvcharenkoVI

Sergey Masyura

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


Спасибо:

OvcharenkoVI

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


Sergey Masyura: http://stocksharp.codeplex.com/SourceControl/changeset/changes/15920 http://stocksharp.codeplex.com/SourceControl/changeset/changes/15921 http://stocksharp.codeplex.com/SourceControl/changeset/changes/15922

Исправлено получение позиций по инструментам (Trader.Positions и Trader.GetPosition()).

В бешеном темпе работаешь )

Спасибо:
1 2  >

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

loading
clippy