Событие наличия активных заявок

Событие наличия активных заявок
Atom
2/23/2013


Как сделать такое событие, которое бы мониторило ордера и передавала в обработчик коллекцию активных заявок? Ну типа trader.ActiveOrders += actords => и т.д.
Просто сложность для меня пока в том, что данные действия должны скорее всего выполняться асинхронно, а в многопоточном программировании я пока не очень, да и инфы с примерами использования async/await пока маловато. Там внутри, наверное, должен быть зацикленный или рекурсивный метод?

И заодно подкину ещё пара вопросов:
1) Почему свойство Quote.Volume возвращает тип decimal, а не что-нибудь целочисленное?
2) Можно ли вернуть позу, отфильтрованную по фирме, типа: trader.GetPosition(account, sec, "SPBFUT") ?

Tags:


Thanks:


< 1 2 3  >
Творог

Avatar
Date: 2/26/2013
Reply


А где-то ещё можно посмотреть примеры создания Стратегий, в т.ч. и дочерних, и стратегий котирования? Пример их хэлпа с хеджированием мало что объясняет [crying] Может кто поделится, пусть и бесполезными в плане извлечения прибыли, кодами!
Thanks:

Творог

Avatar
Date: 2/28/2013
Reply


Жаль [sad]
Придётся изобретать велосипед и писать свои шаблоны для стратегий всё с нуля.
Thanks:

esper

Avatar
Date: 2/28/2013
Reply


Так есть исходники S#, чем они не подходят?
Thanks:

Творог

Avatar
Date: 2/28/2013
Reply


esper Go to
Так есть исходники S#, чем они не подходят?


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

Moadip

Avatar
Date: 2/28/2013
Reply


Quote:
Внутренности классов и методов там отражено, а вот примеры имплементаций скорее всего нет.

Algo.Strategies - куча классов, базовым классом для которых является Strategy.

Чем не "примеры имплементации"?
Thanks:

Творог

Avatar
Date: 2/28/2013
Reply


А почему этот код не выводит активные заявки? Ордера меняю по всякому, а breakpoint внутри цикла даже не задевается.
Code

        private ObservableCollection<Order> myorders = new ObservableCollection<Order>();
            mygrid.ItemsSource = myorders;
            _trader.OrdersChanged += orders => this.GuiAsync(() =>
            {
                //myorders.Clear();
                foreach (Order order in orders)
                {
                    if (order.State == OrderStates.Active)
                    {
                        myorders.Add(order);
                    }
                }
            }); 


При этом заявки со статусом OrderStates.Done выводятся! [confused]
Thanks:

Творог

Avatar
Date: 3/1/2013
Reply


После медитации над таблицей заявок мне пришла в голову одна гипотеза: экспортируются заявки только с наличием транз. ID. Насколько она бредовая?

Нашёл. Не прошло и суток.
Code

_trader.SupportManualOrders = true;
Thanks:

Творог

Avatar
Date: 3/1/2013
Reply


Moadip Go to
Quote:
Внутренности классов и методов там отражено, а вот примеры имплементаций скорее всего нет.

Algo.Strategies - куча классов, базовым классом для которых является Strategy.

Чем не "примеры имплементации"?


Ну, например, пытаюсь выставить заявку пропуская 100 контрактов вперёд в стакане. Не понимаю точно, как выполнить котирование (наверное, то что я пытаюсь сделать это так и называется), но пытаюсь написать что-то типа того:

Code

            var contract = Decimal.Parse(todo.Text);
            var order = new Order
            {
                Trader = _trader,
                Portfolio = (Portfolio)Accounts.SelectedItem,
                Security = (Security)Securitites.SelectedItem,
                Volume = contract,
                Price = decimal.Parse(_price.Text),
                Direction = OrderDirections.Buy
            };

            var best = new BestByVolumeQuotingStrategy(order, 100);
            best.OpenPositionByQuoting(contract);
            best.RegisterOrder(order);


Не вижу, чтобы что-то где-то говорилось о конкретной имплементации, в исходниках или хелпе.
Thanks:

esper

Avatar
Date: 3/1/2013
Reply


Читайте документацию.
Thanks:

Творог

Avatar
Date: 3/1/2013
Reply


esper Go to
Читайте документацию.


на ней скоро дыры появятся
Thanks:
< 1 2 3  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy