Mikhail Sukhov
|
Дата: 28.04.2011
Идентифицируйте свечки по времени.
|
|
Спасибо:
|
|
|
|
|
RyleT
|
Дата: 29.04.2011
Расскажите почему, если делать подряд Clear, а потом AddRange без проверки Count, то выскакивает исключение TargetIvokationException. Может вы предложите вариант решения?
Идентификация по времени мне не подходит, я планирую экспортировать не свечи, а свою таблицу написанную на QPILE, которая обновляется каждую секунду. На текущем этапе я бы хотел, чтобы точно такая же таблица точно также отображалась в окне моей программы написанной на C# с применением S#.
|
|
Спасибо:
|
|
|
|
|
Mikhail Sukhov
|
Дата: 29.04.2011
RyleT Расскажите почему, если делать подряд Clear, а потом AddRange без проверки Count, то выскакивает исключение TargetIvokationException. Может вы предложите вариант решения?
http://stocksharp.com/do...e-8ba9-e1fa98728f92.htm
RyleT Идентификация по времени мне не подходит, я планирую экспортировать не свечи, а свою таблицу написанную на QPILE, которая обновляется каждую секунду. На текущем этапе я бы хотел, чтобы точно такая же таблица точно также отображалась в окне моей программы написанной на C# с применением S#. У таблица без уникального поля?
|
|
Спасибо:
|
|
|
|
|
kas
|
Дата: 06.07.2011
Тоже интересен данный вопрос. Хочу не добавлять строчки а заменять их. Я так понимаю нужно вызывать событие QuikTrader.CustomTablesChanged. В документации написано что одно из полей должно быть помечено аттрибутом IdentityAttribute, но как это все сделать я сам разобраться не смог. Вы не могли бы пояснить как это сделать? Примерчик небольшой дать?
|
|
Спасибо:
|
|
|
|
|
kas
|
Дата: 06.07.2011
Так, похоже что-то получилось... Прописал атрибут IdentityAttribute у своей таблицы так
[DdeCustomColumn("Базовый актив", Order = 0)] [Identity()] public string BazAct { get; set; }
Событие CustomTablesChanged вызывается. Правда пока не понял как заменить изменившиеся строки, и не могу понять чем вообще это событие отличается от NewCustomTables, вроде бы в него также приходит обновившаяся строка? И еще кто-нибудь знает как обновлять свою коллекцию раз в заданный промежуток времени. Я ради обучения экспортирую таблицу с параметрами опционов, и мне достаточно обновляться раз в секунду, а там событие обновления происходит десятки раз за секунду.
|
|
Спасибо:
|
|
|
|
|
Lunokhod
|
Дата: 12.11.2012
|
|
|
|
Коллеги! Подскажите, а есть ли возможность в S# идентифицировать таблицу, строки которой передаются в событиях NewCustomTables и CustomTablesChanged ? Дело в том, что у меня возникла необходимость передать роботу таблицы часовых свечек по нескольким инструментам одновременно. В Квике открыто несколько таблиц со свечками, сделанными при помощи модификации файла CHARTS.QPL из примера к библиотеке S#. Все таблицы имеют разные заголовки. Загрузка производится примерно таким кодом : Код
public void AddCandleTable(String caption)
{
DdeCustomTable ct = new DdeCustomTable(typeof(QuikCandle)); ;
try
{
ct.TableName = caption;
trader.CustomTables.Add(ct);
trader.StartExport(ct);
}
catch (Exception ex)
{
PrintDebugMessage(ex.Message, Cl.T_DEBUG, true);
}
}
Где caption - заголовок таблицы в Квике Но когда приходят события NewCustomTables или CustomTablesChanged, то в качестве аргумента передаются только тип строк и массив собственно строк. А как понять к какой таблице они относятся, если тип строк(QuikCandle) во всех случаях одинаков ?
|
|
Спасибо:
|
|
|
|
|
esper
|
Дата: 13.11.2012
Lunokhod А как понять к какой таблице они относятся, если тип строк(QuikCandle) во всех случаях одинаков ? А каким образом вы экспортируете разные таблицы с использованием одного типа? В примере, у QuikCandle есть атрибут [DdeCustomTable("Исторические свечки")], который явно задает название таблицы.
|
|
Спасибо:
|
|
|
|
|
Lunokhod
|
Дата: 13.11.2012
esper Lunokhod А как понять к какой таблице они относятся, если тип строк(QuikCandle) во всех случаях одинаков ? А каким образом вы экспортируете разные таблицы с использованием одного типа? В примере, у QuikCandle есть атрибут [DdeCustomTable("Исторические свечки")], который явно задает название таблицы. Обратите внимание на строку ct.TableName = caption;Таким образом мы можем указать любое имя таблицы через параметр TableName. А имя "Исторические свечки" назначается по умолчанию при создании экземпляра класса DdeCustomTable, если мы указываем в качестве аргумента в конструкторе тип QuikCandle. Функцию, которая приведена в коде выше, можно выполнять многократно с разными именами таблиц. И все прекрасно экспортируется.
|
|
Спасибо:
|
|
|
|
|
esper
|
Дата: 13.11.2012
Можно: 1. В таблицы добавить столбец с названием инструмента 2. Сделать разные классы для разных таблиц
|
|
Спасибо:
|
|
|
|
|
Lunokhod
|
Дата: 13.11.2012
esper Можно: 1. В таблицы добавить столбец с названием инструмента 2. Сделать разные классы для разных таблиц Собственно, в результате я и сделал по первому пункту : добавил два столбца, секьюрити код и код класса инструмента. Второй пункт, полагаю, реализовать будет весьма проблематично в моем случае, поскольку в QPL-файлы для каждой таблицы отличаются только таймфреймом и инструментом.
|
|
Спасибо:
|
|
|
|