Вопросы новичка в S#

Вопросы новичка в S# (Locked)
Atom
12/1/2010


ttt

Avatar
Добрый день.
Очень понравилась идея использования Вашей библиотеки для реализации роботов.
Подскажите, пожалуйста:
1) Как идентифицировать заявку?
//например, выставляю заявку buy RIZ0 4 контракта по цене 160500. Каким образом далее смогу ее отслеживать?
Вариант с использованием таблицы сделок не подходит - необходимо реализовать контроль исполнения заявок пользуясь исключительно информацией из таблицы заявок.
С языком C# только начал разбираться, возможно поэтому не нашел в представленных в дистрибутиве S# проектах примеров контроля состояния заявки по ее уникальному признаку.
2) Верно ли я понимаю суть работы с Квиком: для реализации автономного робота необходимо организовать два потока на C#:
- первый: выполняет функции получения данных из Квика через DDE сервер (используя библиотеку S#);
- второй: непосредственно реализует алгоритм выставления и снятия заявок.
Можно ли обойтись одним потоком?


<< < 43 44 45 46 47  > >>
Mikhail Sukhov

Avatar
Date: 8/6/2011


Teddy Go to
вопрос по выводу данных через произвольную таблицу quik/
делал как в примере данные выходят. но нужно чтобы строка просто обновлялась а не добавлялась новая.
написано что нужно добавить IdentityAttribute. добавлял но всё так же.


Судя по структуре данных там вряд ли можно выделить что-то уникальное.

Teddy Go to

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


Как к обычным свойствам.
Thanks:

l-way

Avatar
Date: 8/7/2011


Добрый день

Помогите разобраться со следующими вопросами:

1. Что вернет
Security.GetMarketPrice(OrderDirection.Sell, new Unit(1000), MarketPriceTypes.Opposite);
в случае, если
а) достигли нижнего лимита цены и в стакане нет бидов;
б) до достижения нижнего лимита остается < 1000 пунктов.

2. Чему равно Security.BestBid в случае а) из первого вопроса.

Спасибо.
Thanks:

Mikhail Sukhov

Avatar
Date: 8/9/2011


l-way Go to
Добрый день

Помогите разобраться со следующими вопросами:

1. Что вернет
Security.GetMarketPrice(OrderDirection.Sell, new Unit(1000), MarketPriceTypes.Opposite);
в случае, если
а) достигли нижнего лимита цены и в стакане нет бидов;
б) до достижения нижнего лимита остается < 1000 пунктов.


а) 0
б) все котировки в стакане не учитываются, только лучшая пара.
Thanks:

Teddy

Avatar
Date: 8/14/2011


подскажите как нужно задавать время работы стратегии.
Thanks:

freelancer

Avatar
Date: 8/15/2011


У меня 15-ти минутки.
Событийная модель:
Code
this.
When(StrategyRuleConditionHelper.NewCandles(_candleManager.Tokens.ElementAt(0))).
Do(new Action(action));

Но:
Code
_candleManager.GetTimeFrameCandle(Security, _timeFrame, _сandleBounds.Max - _timeFrame).Time + _timeFrame - Trader.MarketTime = 14.59

Хотя должно быть = 0 где-то.

В чем проблема может быть ?
Thanks:

hobo

Avatar
Date: 8/15/2011


Teddy Go to
подскажите как нужно задавать время работы стратегии.

Попробуйте if-ом[rolleyes]
Thanks:

Church

Avatar
Date: 8/15/2011


Подскажите, поддерживает ли EmulationTrader стоп-ордера? При попытке зарегистрировать ордер получаю NotImplementedException в StockSharp.BusinessEntities.dll!StockSharp.BusinessEntities.StopCondition.TryActivate(StockSharp.BusinessEntities.MarketDepth depth) + 0x37 bytes

Создаю ордер так:
Code
private Order CreateStopLimit(OrderDirections Direct, decimal stopPrice, decimal ProtectiveSpread, int Vol)
        {
            return new Order
            {
                Type = OrderTypes.Conditional,
                Volume = Vol,
                Security = this.Security,
                Portfolio = this.Portfolio,
                Direction = Direct,
                StopCondition = new QuikStopCondition
                {
                    Type = QuikStopConditionTypes.StopLimit,
                    StopPrice = stopPrice,
                    Spread = ProtectiveSpread,
                },
            };
        }


Регистрировать пытался обоими методами из сэмплов. И так:
Code
// регистрируем заявку (обычным способом - лимитированной заявкой)
this.RegisterOrder(_shortOrder);

И так:
Code
// регистрируем заявку (через котирование)
var strategy = new MarketQuotingStrategy(_shortOrder, new Unit(), new Unit());
base.ChildStrategies.Add(strategy);

Оба выдают этот exception.
Thanks:

Mikhail Sukhov

Avatar
Date: 8/15/2011


freelancer Go to
В чем проблема может быть ?


Я не понял вопроса.
Thanks:

Mikhail Sukhov

Avatar
Date: 8/15/2011


Church Go to
Подскажите, поддерживает ли EmulationTrader стоп-ордера?


Нет
Thanks:

freelancer

Avatar
Date: 8/15/2011


Mikhail Sukhov Go to
freelancer Go to
В чем проблема может быть ?


Я не понял вопроса.


При наступлении события NewCandles выражение _candleManager.GetTimeFrameCandle(Security, _timeFrame, _сandleBounds.Max - _timeFrame) должно получать сформированную свечку (прошлую то есть), но иногда (!) получает текущую незакрытую.
То есть иногда _candleManager.GetTimeFrameCandle(Security, _timeFrame, _сandleBounds.Max - _timeFrame).Time ≈ Trader.MarketTime
Thanks:
<< < 43 44 45 46 47  > >>

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

loading
clippy