Терминал > Окно "Операции": время хранения данных
-
- Сообщения: 535
- Зарегистрирован: 11 ноя 2018, 17:11
- Благодарил (а): 21 раз
- Поблагодарили: 92 раза
Окно "Операции": время хранения данных
Привет всем.
В терминале есть окно "Операции".
Вопрос: за какой период времени там показываются операции и/или сколько времени хранятся данные?
Например, вчера еще была строчка об операции, проведенной несколько дней назад, сегодня уже ее нет.
В документации об этом ничего не нашел.
В терминале есть окно "Операции".
Вопрос: за какой период времени там показываются операции и/или сколько времени хранятся данные?
Например, вчера еще была строчка об операции, проведенной несколько дней назад, сегодня уже ее нет.
В документации об этом ничего не нашел.
-
- Сообщения: 220
- Зарегистрирован: 28 июн 2017, 13:56
- Благодарил (а): 4 раза
- Поблагодарили: 40 раз
Re: Окно "Операции": время хранения данных
Операции (совершенные сделки) передаются на клинта пока не прошло урегулирование, плюс минус сессия, ночью, после урегулирования, на клиента прилетают команды удаления операций.
-
- Сообщения: 535
- Зарегистрирован: 11 ноя 2018, 17:11
- Благодарил (а): 21 раз
- Поблагодарили: 92 раза
Re: Окно "Операции": время хранения данных
Привет, ensh.
Спасибо за информацию.
А можно как-то прочесть эти текущие данные программно в индикаторе или стратегии?
Спасибо за информацию.
А можно как-то прочесть эти текущие данные программно в индикаторе или стратегии?
-
- Сообщения: 170
- Зарегистрирован: 18 дек 2017, 08:18
- Благодарил (а): 12 раз
- Поблагодарили: 8 раз
Re: Окно "Операции": время хранения данных
Доброго времени суток, enshС наилучшими пожеланиями
BugsDigger » 20.01.2019, 11:09 писал(а):... А можно как-то прочесть эти текущие данные программно ...
Примерно об этом я и говорил.AP_Bor » 12.01.2019, 19:42 писал(а):... "Журнал трейдера" ...
► Показать
-
- Сообщения: 220
- Зарегистрирован: 28 июн 2017, 13:56
- Благодарил (а): 4 раза
- Поблагодарили: 40 раз
Re: Окно "Операции": время хранения данных
BugsDigger писал(а):Привет, ensh.
Спасибо за информацию.
А можно как-то прочесть эти текущие данные программно в индикаторе или стратегии?
Попробуйте следующий скрипт, часть его, возможно, следует оставить в глобальной переменной, а последнюю строку вызывать уже в обработчике стратегии.
Возможно, для оптимизации вызов ToList не нужен и можно использовать foreach
Код: Выделить всё
var CoreAssembly = System.Reflection.Assembly.LoadFrom("Core.dll");
var opManagerType = CoreAssembly.GetType("Core.OperationsManager");
var opManagerInstance = opManagerType.GetProperty("Instance").GetValue(null);
var opManagerGetOperations = opManagerType.GetMethod("GetOperations", new Type[0]);
var opList = (((IEnumerable<object>)opManagerGetOperations.Invoke(opManagerInstance, null)).OfType<ClientOperationEntity>().ToList());
-
- Сообщения: 535
- Зарегистрирован: 11 ноя 2018, 17:11
- Благодарил (а): 21 раз
- Поблагодарили: 92 раза
Re: Окно "Операции": время хранения данных
Привет, ensh.
> Попробуйте следующий скрипт
Большое спасибо, работает.
> часть его, возможно, следует оставить в глобальной переменной
А как? Я могу передать только через Types.Int, пытался как-то тупо привести тип opManagerGetOperations, но бесполезно, конечно (C# не владею).
> Попробуйте следующий скрипт
Большое спасибо, работает.
> часть его, возможно, следует оставить в глобальной переменной
А как? Я могу передать только через Types.Int, пытался как-то тупо привести тип opManagerGetOperations, но бесполезно, конечно (C# не владею).
-
- Сообщения: 220
- Зарегистрирован: 28 июн 2017, 13:56
- Благодарил (а): 4 раза
- Поблагодарили: 40 раз
Re: Окно "Операции": время хранения данных
Да нехорошо получилось, мне казалось можно глобальную переменную типа object задать, посмотрю еще, что можно придумать
В принципе, можно с помощью рефлексии добавлять свои данные в ScriptManager как глобальные переменные, там вроде нетипизированный массив
В принципе, можно с помощью рефлексии добавлять свои данные в ScriptManager как глобальные переменные, там вроде нетипизированный массив
-
- Сообщения: 170
- Зарегистрирован: 18 дек 2017, 08:18
- Благодарил (а): 12 раз
- Поблагодарили: 8 раз
Re: Окно "Операции": время хранения данных
Доброго времени суток, ensh
А указатели, передавать не пробовали?
С наилучшими пожеланиями
ensh писал(а):Да нехорошо получилось, мне казалось можно глобальную переменную типа object задать, посмотрю еще, что можно придумать
А указатели, передавать не пробовали?
С наилучшими пожеланиями
-
- Сообщения: 535
- Зарегистрирован: 11 ноя 2018, 17:11
- Благодарил (а): 21 раз
- Поблагодарили: 92 раза
Re: Окно "Операции": время хранения данных
Еще немного вдогонку.
Результат (вместо реальных целых чисел вписал <intN>, где N - число разрядов):
Т.е. тут не вся нужная информация, кое-что берется, очевидно, из detail таблиц.
В то же время если в окне "Операции" (там есть контекстное меню) сделать экспорт в текст, там появляется вся инфа, в частности тикер и рынок в читабельном виде.
1) Можно ли из инфы, приведенной выше, извлечь рынок и тикер? Или наоборот, в коде индикатора/стратегии добыть эти коды, чтобы из всех рекордов выцеплять только нужные?
2) Если нет, то что делать?
Попутно там же нашел экспорт в Excel, который вроде можно запускать автоматически, но еще не видел, как это работает в реальности. В документации не описано...
Код: Выделить всё
foreach(AD.Common.DataStructures.ClientOperationEntity item in opList)
WriteLine(LogFile, item.ToString());
Результат (вместо реальных целых чисел вписал <intN>, где N - число разрядов):
Код: Выделить всё
ClientOperationEntity(74):
{
IdOperation: <int9>,
TimeOperation: 20190121 18:15:06.000,
ExtOperNo: <int10>,
NumEDocument: <int10>,
IdObject: <int6>, // похоже на код тикера, в текстовом экспорте есть поле SymbolObject с тикером
IdMarketBoard: TQxx, // очевидно, код рынка, в текстовом экспорте есть поле NameMarketBoard с названием рынка
IdOperationType: TRD,
BuySell: Sell,
Quantity: 10,
Price: 208,01,
Value: 2080,1,
IdObjectCurrency: <int6>,
Yield: 0,
IdSubAccount: <int5>,
IdAccount: <int5>,
Description: ' ',
IdOperationStatus: New,
SettleDate: 20190123 00:00:00.000,
DeliveryDate: 20190123 00:00:00.000,
RepoTerm: 0,
RepoDate: 00010101 00:00:00.000,
IdRazdel: 119708,
AccruedInt: 0,
Version: 14356560579,
Operation: Updated
}
Т.е. тут не вся нужная информация, кое-что берется, очевидно, из detail таблиц.
В то же время если в окне "Операции" (там есть контекстное меню) сделать экспорт в текст, там появляется вся инфа, в частности тикер и рынок в читабельном виде.
1) Можно ли из инфы, приведенной выше, извлечь рынок и тикер? Или наоборот, в коде индикатора/стратегии добыть эти коды, чтобы из всех рекордов выцеплять только нужные?
2) Если нет, то что делать?
Попутно там же нашел экспорт в Excel, который вроде можно запускать автоматически, но еще не видел, как это работает в реальности. В документации не описано...
-
- Сообщения: 535
- Зарегистрирован: 11 ноя 2018, 17:11
- Благодарил (а): 21 раз
- Поблагодарили: 92 раза
Re: Окно "Операции": время хранения данных
AP_Bor писал:
> А указатели, передавать не пробовали?
Если вопрос ко мне, то бесполезно.
Смотрел код, где вы таки приводите к IntPtr, но для меня это пока почти китайская грамота.
> А указатели, передавать не пробовали?
Если вопрос ко мне, то бесполезно.
Смотрел код, где вы таки приводите к IntPtr, но для меня это пока почти китайская грамота.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей