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

Событие наличия активных заявок
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: Так есть исходники S#, чем они не подходят?

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

Thanks:

Moadip

Avatar
Date: 2/28/2013
Reply


Внутренности классов и методов там отражено, а вот примеры имплементаций скорее всего нет. Algo.Strategies - куча классов, базовым классом для которых является Strategy.

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

Thanks:

Творог

Avatar
Date: 2/28/2013
Reply


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


        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. Насколько она бредовая?

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


_trader.SupportManualOrders = true;

Thanks:

Творог

Avatar
Date: 3/1/2013
Reply


Внутренности классов и методов там отражено, а вот примеры имплементаций скорее всего нет. Algo.Strategies - куча классов, базовым классом для которых является Strategy.

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

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


            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: Читайте документацию.

на ней скоро дыры появятся

Thanks:
< 1 2 3  >

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

loading
clippy