patermind
|
Дата: 13.06.2011
Исходя из http://stocksharp.com/do...9-8f48-dd8f806c39e7.htm : Цитата: var order3 = new Order { Portfolio = _portfolio, Type = OrderTypes.Conditional, Volume = 5, Security = _instrument0, Direction = OrderDirections.Buy, StopCondition = new QuikStopCondition { Type = QuikStopConditionTypes.TakeProfit, ExpiryDate = this.ExpirationDate.SelectedDate, StopPrice = _instrument0.BestAsk.Price+30, Offset = 3, Spread = 0.2, ActiveTime = this.ActiveTime, }, }; trader.RegisterOrder(order3);
Не работает - непонятно, что писать в Цитата:Type = OrderTypes.Conditional Type = QuikStopConditionTypes.TakeProfit, ExpiryDate = this.ExpirationDate.SelectedDate, ActiveTime = this.ActiveTime,
Не могли бы вы подсказать, что я делаю неправильно и как поправить?
|
|
Спасибо:
|
|
|
|
|
Mikhail Sukhov
|
Дата: 14.06.2011
patermind Не могли бы вы подсказать, что я делаю неправильно и как поправить? Приведите настройки окна новой стоп заявки терминала Квик и я скажу как это сделать в коде.
|
|
Спасибо:
|
|
|
|
|
patermind
|
Дата: 14.06.2011
|
|
Спасибо:
|
|
|
|
|
Mikhail Sukhov
|
Дата: 14.06.2011
Код выше должен корректен. Какие ошибки выдает код? patermind Также прошу подсказать, как можно получить в рублях ТекСредства из таблицы Клиентский портфель. Пробовал _portfolio.CurrentAmount по подсказке с форума, и _portfolio.CurrentAmount.Value - возвращает всегда 0. Работаю на ММВБ. _portfolio.Name возвращает правильное имя торгового счета. http://stocksharp.com/fo...-position-v-sobytiiakh/
похожая, думаю, проблема у человека. Это особенности ММВБ и Квика.
|
|
Спасибо:
|
|
|
|
|
patermind
|
Дата: 15.06.2011
Mikhail Sukhov
Код выше должен корректен. Какие ошибки выдает код?
Это особенности ММВБ и Квика.
Сейчас не могу прислать ошибки, как буду у компа - вышлю. т.е. получить текущий баланс счета невозможно? тогда единственный выход - забивать руками в программу? Обидно, хотел автоматически начать считать количество акций, на которые можно выставить заявку.
|
|
Спасибо:
|
|
|
|
|
Mikhail Sukhov
|
Дата: 15.06.2011
patermind т.е. получить текущий баланс счета невозможно? Возможно. По той ссылке, что вы прислали, написано, как получать текущий баланс.
|
|
Спасибо:
|
|
|
|
|
patermind
|
Дата: 15.06.2011
Mikhail Sukhov patermind т.е. получить текущий баланс счета невозможно? Возможно. По той ссылке, что вы прислали, написано, как получать текущий баланс. Если я правильно понял совет по ссылке, делаю Цитата:Console.WriteLine(trader.Portfolios.Any(p => p.CurrentAmount.Value > 0));
и получаю false. Не могли бы вы привести кусок кода?
|
|
Спасибо:
|
|
|
|
|
patermind
|
Дата: 16.06.2011
|
|
|
|
Выставляю стоп вот так: Код
var order1 = new Order
{
Portfolio = _portfolio,
Type = OrderTypes.Conditional,
Volume = 5,
Security = _instrument0,
Direction = OrderDirections.Buy,
StopCondition = new QuikStopCondition
{
Type = QuikStopConditionTypes.TakeProfit,
ExpiryDate = DateTime.MaxValue,
StopPrice = _instrument0.ShrinkPrice(_instrument0.BestBid.Price),
Offset = 1,
Spread = 0.02,
ActiveTime = null,
},
};
trader.RegisterOrder(order1);
получаю исключение: Код
16.06.2011 11:53:11 Ecng.Trading.Quik.ApiException: Код ошибки WrongSyntax Сообщение ACCOUNT=L01-00000F00; CLIENT_CODE=S#; TRANS_ID=42776524; CLASSCODE=EQBR; SECCODE=LKOH; QUANTITY=2; OPERATION=B; ACTION=NEW_STOP_ORDER; STOPPRICE=1761,3; EXPIRY_DATE=GTC; OFFSET=1; OFFSET_UNITS=PRICE_UNITS; SPREAD=0,02; SPREAD_UNITS=PRICE_UNITS; STOP_ORDER_KIND=TAKE_PROFIT_STOP_ORDER;
в #=qIC0em_Y9ttPjTaH5wr0hvpkv3aFwj0mcqWF7VUdIyGgDQkOGVwQSHJIIeinlK4Kh.#=qCDnuvU0p0CmYCPNQKXjVgw==(Int32 #=qdHPN_yHFRnIcr2y57$QZhQ==, StringBuilder #=qkd$GlOpEqM23R4sq1opYsQ==)
в #=q02UxtFgauWdhIXYFhRWq6VtvjMmAFpAfaARTqgq1_iM=.#=qT29nW$7XhRVru2DGAJ35k6fNpjLmr9Ele_hXAFXFvjA=(String #=qgMwZtGc9_lSOb6BuEDfw$A==, OrderStatus& #=q4OhwAp6Bp91L0oOCquhAOQ==, UInt32& #=q1Gak7Svd4JIb$RTAyb7eMw==, Int64& #=q5jtQ3tHDK6Hp5UbL3kchiw==, String& #=q6UEPR__avOY7mtynHNE46Q==)
в Ecng.Trading.Quik.QuikTrader.#=qqAd0VW0iJb4GasgZxL8JSVy_pxzmQ1Tj65b3zqcRk1I=(Order #=q_bFETIlAa_FSSjI$vpvChQ==, TransactionBuilder #=qztYF4TzOhvmcC7KsmDFugw==)
в Ecng.Trading.Quik.QuikTrader.OnRegisterOrder(Order order)
в Ecng.Trading.Algo.BaseTrader.RegisterOrder(Order order)
ММВБ, аккаунт в исключении указывается правильный. что делать?
|
|
Спасибо:
|
|
|
|
|
Mikhail Sukhov
|
Дата: 16.06.2011
Я думаю дело в спреде.
|
|
Спасибо:
|
|
|
|
|
patermind
|
Дата: 16.06.2011
уже писал сообщение, что решил - не обращайте внимания. Спасибо! Дело действительно в спреде - нужно стаивть его согласно шагу цены инструмента. поставил 0,1 - и заработало. или 0 - тоже все ок.
а с балансом - как его забрать, подскажите плиз?
|
|
Спасибо:
|
|
|
|