← Назад

формирование тайм-фреймовых свечей без "разгона"

Михаил,

посоветуйте способ получения таймфреймовой свечи в c# без ожидания формирования оной.

Например, если хочу 20 минутку, то не ждать 20 минут, а сформировать ее на основании настроенной пользовательской таблицы квика и qpile скрипта.

Комментарии (11)

Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий

Mikhail Sukhov
Mikhail Sukhov

Данные исторические? Формируете портфель, создаете таблицу, экспортируете по ДДЕ, обрабатываете как показано

http://stocksharp.com/doc/help/html/7d73f7bf-ae8b-4d76-9895-cffb6342203f.htm

sergun
sergun Автор

Ясно, спасибо!

Кстати:

  1. К какому типу приводятся квиковые типы дата и время? string?
  2. Если идентификатором является два поля, то вместо атрибута Identity реализую Equitable<X>? Или же можно ничего не реализовывать а отметить атрибутом оба поля, составляющий ключ?
Mikhail Sukhov
Mikhail Sukhov
  1. Это зависит от атрибутов. Посмотрите на Ecng.Serialization.FieldFactories. Если же мы говорим о примитивных значениях, типа DateTime, int и double, то должно работать и так.
  2. Сложный ключ поддерживается, но я уже не помню как это делать. Посмотрю, как это сделать.
sergun
sergun Автор

Спасибо, буду ждать..

Mikhail Sukhov
Mikhail Sukhov

Попробуйте сделать так:

public class MyKey { public string Property1; public string Property2;

public class MyEntity { [Identity] [InnerSchema] public MyKey Key;

sergun
sergun Автор

При использовании этих атрибутов реализация интерфейса Equitable<X> не нужна? Способы взаимо заменяемы, но в первую очередь смотрите на атрибуты?

Mikhail Sukhov
Mikhail Sukhov

Нужно. Потому как одентификация будет идти по объекту MyKey. Насчет взаимозаменяемости не понял.

sergun
sergun Автор

Поясню. В примере с CustomPortfolio свойство Client отмечается атрибутом Identity, кроме этого реализуется Equitable<CustomPortfolio>, котором явно прописывается что, равенство объектов, это равенство свойств Client.

Не очень понятно, зачем нужны и атрибут и этот интерфейс одновременно в примере..

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

Mikhail Sukhov
Mikhail Sukhov

Понял. Сделано по причине того, что Identity - это атрибут Ecng.Serialization, а Equitable - это для работы .NET. Да и задачи разные. Первое - это определение первичного ключа. Второе - это сравнение объектов на равенство. Тоесть, объекты могут быть равными по состоянию, но при этом разные по логике. Например, для объекта Quote могут иметь одинаковую цену и объем, но один появился вначале сессии, а второе - в конце. Объеты сами по себе разные, но при этом равны.

sergun
sergun Автор

т.е. для того, чтобы Stock# не плодил лишние объекты, все, что нужно,

  • работа с атрибутом. верно?
Mikhail Sukhov
Mikhail Sukhov

Да, QuikTrader смотри на этот атрибут, а не на Equitable.