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


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

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

Теги:


Спасибо:


< 1 2 3  >
Творог

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


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

Творог

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


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

esper

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


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

Творог

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


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


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

Moadip

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


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

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

Чем не "примеры имплементации"?
Спасибо:

Творог

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


А почему этот код не выводит активные заявки? Ордера меняю по всякому, а 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]
Спасибо:

Творог

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


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

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

_trader.SupportManualOrders = true;
Спасибо:

Творог

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


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

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);


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

esper

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


Читайте документацию.
Спасибо:

Творог

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


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


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

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

loading
clippy