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


Михаил,

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

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

Теги:


Спасибо:



Поздравляем именинников: Станислав Гайворонский

11 Ответов
Mikhail Sukhov

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


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

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


Спасибо:

sergun

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


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

Кстати:
1) К какому типу приводятся квиковые типы дата и время? string?
2) Если идентификатором является два поля, то вместо атрибута Identity
реализую Equitable<X>? Или же можно ничего не реализовывать а отметить
атрибутом оба поля, составляющий ключ?

Автор топика
Спасибо:

Mikhail Sukhov

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


1. Это зависит от атрибутов. Посмотрите на
Ecng.Serialization.FieldFactories. Если же мы говорим о примитивных
значениях, типа DateTime, int и double, то должно работать и так.
2. Сложный ключ поддерживается, но я уже не помню как это делать.
Посмотрю, как это сделать.

Спасибо:

sergun

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


Спасибо, буду ждать..
Автор топика
Спасибо:

Mikhail Sukhov

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


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

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

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

Спасибо:

sergun

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


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

Автор топика
Спасибо:

Mikhail Sukhov

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


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

Спасибо:

sergun

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


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

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

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

Mikhail Sukhov

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


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

Спасибо:

sergun

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


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

Автор топика
Спасибо:

Mikhail Sukhov

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


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

Спасибо:


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

loading
clippy