Не могу справиться с DdeCustomTable
Atom Ответить
16.11.2010


Масса благодарностей за библиотеку!

Создал класс
Код
[DdeCustomTable("Деривативы")]
    //[Ignore(FieldName = "IsDisposed")]
    public class DerivativesDDETable
    {
        [DdeCustomColumn("Бумага сокр.", Order = 0)]
        //[Identity]
        public string SecurityName { get; set; }

        [DdeCustomColumn("Код бумаги", Order = 1)]
        public string SecurityCode { get; set; }

        [DdeCustomColumn("До погашения", Order = 2)]
        public int TillExpiration { get; set; }

        [DdeCustomColumn("Шаг цены", Order = 3)]
        public double PriceStep { get; set; }

        [DdeCustomColumn("Ст. шага цены", Order = 4)]
        public double PriceStepPice { get; set; }

        [DdeCustomColumn("Страйк", Order = 5)]
        public double Strike { get; set; }

        [DdeCustomColumn("Баз. актив", Order = 6)]
        public string Asset { get; set; }

        [DdeCustomColumn("ГО покупателя", Order = 7)]
        public double BuyerMargin { get; set; }

        [DdeCustomColumn("ГО продавца", Order = 8)]
        public double SellerMargin { get; set; }

        [DdeCustomColumn("Дата исп.", Order = 9)]
        public DateTime FinalExpiration { get; set; }

        [DdeCustomColumn("Погашение", Order = 10)]
        public DateTime Expiration { get; set; }

        [DdeCustomColumn("Пред. оц", Order = 11)]
        public DateTime RC { get; set; }
    }


После
Код
protected override void OnConnect()
        {
            ProcessCustomTables += (type, objects) =>
            {
                // нас интересует только CustomPortfolio
                if (type == typeof(DerivativesDDETable))
                {
                    
                }
            };
            Terminal.StartDde("Деривативы");
            Terminal.StartDde(ListenedTables);

            base.OnConnect();
        }


на ProcessDataError приходит ArgumentOutOfRangeException

Деривативы
Имя параметра: category

Что это значит? Пытался работать только с одной колонкой - то же самое. По форуму ничего не нашел =(

Теги:


Спасибо:




38 Ответов
< 1 2 
MCTuTeJ|19951995

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


А коллекция в который Вы храните данные поддерживает выдачу уведомления при получении и удалении элементов или при обновлении коллекции ? Попробуйте использовать ObservableCollection...
А Вы пишете приложение WindowsForms или WPF ?
Спасибо: a.dobryn

a.dobryn

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


WPF
Это приложение взято из примеров Stock#, я до конца в нем не разобралась еще =) уведомление вроде есть, CollectionChanged это то? тип вроде ThreadSaveObservableCollection
https://stocksharp.ru/do...ssEntities_Portfolio.htm
Спасибо:

MCTuTeJ|19951995

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


А код не можете выложить ?
Спасибо:

a.dobryn

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


Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 10.12.2010
Ответить


D_Alex
MCTuTeJ|19951995
Как Вы определяете что не меняются данные ? А NotifyPropertyChanged вызывается ? Где храните полученные данные ?

смотрю на них =) они те же самые. Сделала даже скрин, сверила.
ой, кстати, да. А где вызывать NotifyPropertyChanged? Храню вроде бы в this.Portfolios


https://stocksharp.ru/do...76-9895-cffb6342203f.htm Посмотрите, как нужно использовать INotifyPropertyChanged. Лучше даже откройте соответствующий пример https://stocksharp.ru/do...ed-bdf5-4588e5665199.htm SampleDdeCustomTable.
Спасибо: a.dobryn

a.dobryn

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


сделала вместо
Код

DdeCustomColumn("Цена", Order = 0)]
public double Price { get; set; }

вот так
Код

private double _price;

[DdeCustomColumn("Цена", Order = 0)]
public double Price
{
get { return _price; }
set
{
_price = value;
NotifyPropertyChanged("Price");
}
}

Все равно все также, данные добавляются, но все те же, а не новые.
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 10.12.2010
Ответить


D_Alex

Все равно все также, данные добавляются, но все те же, а не новые.


Если помечено атрибутом IdentityAttr, то данные обновляются, а не добавляются.
Спасибо:

a.dobryn

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


Вроде нет такого у меня.
Сейчас, например, цена в квике уже 173к и больше, а в моей таблице она все в пределах 171-172к, и причем все время добавляется. Такое ощущение, что какие были получены данные в первый раз, все добавляются туда.
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 10.12.2010
Ответить


D_Alex
Вроде нет такого у меня.
Сейчас, например, цена в квике уже 173к и больше, а в моей таблице она все в пределах 171-172к, и причем все время добавляется. Такое ощущение, что какие были получены данные в первый раз, все добавляются туда.


Если это Ваш код http://codepaste.ru/4744/, то есть. Причем добавлен зачем-то на цену.
Спасибо:

a.dobryn

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


Mikhail Sukhov
D_Alex
Вроде нет такого у меня.
Сейчас, например, цена в квике уже 173к и больше, а в моей таблице она все в пределах 171-172к, и причем все время добавляется. Такое ощущение, что какие были получены данные в первый раз, все добавляются туда.


Если это Ваш код http://codepaste.ru/4744/, то есть. Причем добавлен зачем-то на цену.



Мой, но я это убрала уже, еще до добавления NotifyPropertyChanged. Сейчас точно нет =)
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 10.12.2010
Ответить


D_Alex
Mikhail Sukhov
D_Alex
Вроде нет такого у меня.
Сейчас, например, цена в квике уже 173к и больше, а в моей таблице она все в пределах 171-172к, и причем все время добавляется. Такое ощущение, что какие были получены данные в первый раз, все добавляются туда.


Если это Ваш код http://codepaste.ru/4744/, то есть. Причем добавлен зачем-то на цену.



Мой, но я это убрала уже, еще до добавления NotifyPropertyChanged. Сейчас точно нет =)


Ок, тогда если только это поменялось, то поведение Вашей программы должно быть: каждое обновление или добавление в Квике трактуется как добавление новой записи у Вас. У Вас не так?
Спасибо:

a.dobryn

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


Мистика, еще раз просмотрела код, перекомпилила, теперь все работает как надо =) спасибо за помощь =)
Спасибо:

neighbour

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


Добрый день!

Вот у меня тоже проблема с выводом исторических свечек. Только у меня проблема еще раньше: я загружаю портфель qpile, добавляю таблицу на этот портфель, а она пустая.
Пытаюсь просмотреть историю Сбербанка,последние 50 часовых свечек.
secClass = "EQBR"
secCode = "SBER03"
timeFrame = 60
candleMaxCount = 50
Остальные данные в qpile скрипте не менял.
Пробовал и на стандартном файле, идущем в примере, но результат такой же - пустая таблица. Что я делаю не правильно?
Спасибо:
< 1 2 

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

loading
clippy