← 返回

в DdeMyTradeColumns нет OrderDirection

Приветствую!

Не нашёл в DdeMyTradeColumns поля OrderDirection как добавить экспорт OrderDirection для СВОИХ сделок?

С уважением!

本主题对您有帮助吗?

分享主题

评论 (9)

登录创建账户, 登录或注册以发表评论

ustas
ustas 作者

забыл указать QUIK stock# 1.8

ustas
ustas 作者

Пытался сдeлать так: Добавил в QUIK "мои сделки" поле Операция" последней

в код добавил

using Wintellect.PowerCollections; ... подписался на появление моих сделок

                   trader.NewMyTrades += myTrades =>
                    {

                       foreach (var myTrade in myTrades)
                        {

                           var trade = myTrade.Trade;
                            Console.WriteLine("{5} {0} по цене {1}

по бумаге {2} по объему {3} в {4}", trade.Id, trade.Price, trade.Security.Code, trade.Volume, trade.Time, trade.OrderDirection); } };

и добавил поле

var columns = trader.MyTradesTable.Columns; columns.Add(DdeTradeColumns.OrderDirection);

Но, увы при появлении моих сделок поле trade.OrderDirection

ustas
ustas 作者

Но, увы!

при появлении моих сделок поле trade.OrderDirection НЕ заполняется

Спасибо и с уважением!

Mikhail Sukhov
Mikhail Sukhov

А в таблицу Квика колонка добавлена?

ustas
ustas 作者

Да первым делом!

Если Вы про это

Mikhail Sukhov
Mikhail Sukhov

ITrader.ProcessDataError что говорит?

ustas
ustas 作者

Вот вывод ProcessDataError (ниже) напоминаю что речь о "МОИХ" а не "всех" сделках

Спасибо и суважением!

System.InvalidOperationException: Данные для таблицы 'все сделки' экспортировал сь в меньшем формате. Не было найдено значение для колонки 'OrderDirection'. Ко ичество колонок равно '8', индекс колонки '8'. в Ecng.Trading.Quik.DdeTable.☻.☻(DdeTableColumn ☻) в Ecng.Trading.Quik.QuikTrader.♥?.☻.☻(Int64 ☻) в Ecng.Trading.BusinessEntities.BaseTrader.<>c__DisplayClass2f.<GetTrade>b__ e(Int64 key) в Ecng.Collections.CollectionHelper.SafeAdd[K,V](IDictionary2 dictionary, K key, Func2 handler) в Ecng.Trading.BusinessEntities.BaseTrader.GetTrade(Int64 id, Func2 createT ade) в Ecng.Trading.Quik.QuikTrader.♥?.☻(Func2 ☻) в Ecng.Trading.Quik.DdeTable.☻(IList1 ☻, Action1 ♥) в Ecng.Trading.Quik.QuikTrader.☻(String ☻, IList1 ♥) в Ecng.Common.DelegateHelper.SafeInvoke[T1,T2](Action2 handler, T1 arg1, T2 arg2) в.♥()

Mikhail Sukhov
Mikhail Sukhov

Все, теперь понял в чем дело. Путаница между Мои сделки и Все сделки. Мои сделки - это то, что было получено в результате собственных заявок. Все сделки - это то, что течет с биржи. Соответственно, для того, чтобы определить направление в собствено сделке ничего дополнительно экспортировать не нужно. MyTrade.Order.Direction - вот оно направление.

Но бывает так, что необходимо получить направление из таблицы Все сделки. В данном случае тоже нет необходимости что-то менять, так как оно и так по умолчанию экспортируется (начиная с 1.8, как писал здесь

http://stockmarketdotnet.blogspot.com/2010/03/stock-18.htmlв пункте 14).

Вообщем, вот настройки для 1.8http://stocksharp.com/doc/help/html/5c13da7b-b6e4-4fd4-958a-66c93c58b941.htm

И последнее. Нельзя добавлять чужую колонку в таблицу. Тоесть, нельзя делать так: var columns = trader.MyTradesTable.Columns; columns.Add(DdeTradeColumns.OrderDirection);

MyTradesTable имеет собственные колонки - DdeMyTradeColumns.

ustas
ustas 作者

Да, действительно MyTrade.Order.Direction работает

Спасибо и с уважением!