Mikhail Sukhov
|
Дата: 05.07.2012
dave2:
Подскажите пожалуйста, есть ли в StockSharp и/или Гидре классы/инструменты чтобы закачать стаканы из РТСовских архивов Order Logs http://ftp.rts.ru/pub/info/historical_data/
т.е. Order Log должен преобразовываться в стаканы и сохраниться в базу.
Там всего за 1 месяц. Нормальные пацаны давно сами ОЛ пишут. Через Гидру это возможно.
|
|
|
|
Спасибо:
|
|
|
|
|
|
dave2
|
Дата: 06.07.2012
Я знаю что там за месяц. Остальное купить можно.
Что значит сами пишут ОЛ ?
Подключившись к торгам в онлайне сохраняете стаканы через Гидру ?
|
|
|
|
Спасибо:
|
|
|
|
|
|
risty
|
Дата: 15.07.2012
Мужчины, подскажите, где можно взять стаканы в формате S# по ликвидным фьючерсам Фортс?
|
|
|
|
Спасибо:
|
|
|
|
|
|
Rash
|
Дата: 26.07.2012
Mikhail Sukhov:
dave2:
Подскажите пожалуйста, есть ли в StockSharp и/или Гидре классы/инструменты чтобы закачать стаканы из РТСовских архивов Order Logs http://ftp.rts.ru/pub/info/historical_data/
т.е. Order Log должен преобразовываться в стаканы и сохраниться в базу.
Там всего за 1 месяц. Нормальные пацаны давно сами ОЛ пишут. Через Гидру это возможно.
И все таки, как закачать FOL в Гидру? Если можно, поподробней про механизм, алгоритм закачки.
|
|
|
|
Спасибо:
|
|
|
|
|
|
Garry
|
Дата: 24.08.2012
Добрый день! Пытаюсь собрать стаканы из Ордер Лога архивных данных РТС http://ftp.rts.ru/pub/info/historical_data/. Парсю тексктовый файл, создаю коллекцию OrderLogItem, в моем случае List, далее планировал использовать OrderLogHelper.ToMarketDepths. Но он понимает только коллекции Ecng.Collections.IEnumerableEx, простой List для этого не подходит. Как можно работать с IEnumerableEx ? Как добавить туда элемент или конвертировать из List? Есть какой то класс реализующий IEnumerableEx?
|
|
|
|
Спасибо:
|
|
|
|
|
|
Garic
|
Дата: 24.08.2012
Фиг знает :) Пользуйтесь OrderLogMarketDepthBuilder - именно он содержит логику.
|
|
|
|
Спасибо:
|
|
|
|
|
|
Alexander
|
Дата: 24.08.2012
Garry:
Добрый день! Пытаюсь собрать стаканы из Ордер Лога архивных данных РТС http://ftp.rts.ru/pub/info/historical_data/. Парсю тексктовый файл, создаю коллекцию OrderLogItem, в моем случае List, далее планировал использовать OrderLogHelper.ToMarketDepths. Но он понимает только коллекции Ecng.Collections.IEnumerableEx, простой List для этого не подходит. Как можно работать с IEnumerableEx ? Как добавить туда элемент или конвертировать из List? Есть какой то класс реализующий IEnumerableEx?
public static IEnumerableEx<T> ToEx<T>(this IEnumerable<T> values)
|
|
|
|
Спасибо:
|
|
|
|
|
|
Garry
|
Дата: 24.08.2012
|
|
|
|
|
Garic:
Фиг знает :) Пользуйтесь OrderLogMarketDepthBuilder - именно он содержит логику.
Пытаюсь использовать этот класс, но столкнулся с проблемой.Как в OrderLogItem можно указать причину отмены заявки? А то OrderLogMarketDepthBuilder.Update при записи OrderLogItem об отмене заявки выдает эксепшн:
Строчка содержит неверную информацию о причине отмены заявки.
Parameter name: item
Actual value was 3.
Судя по всему она должна быть в OrderLogItem.Order.Messages, но указать его не получается т.к. оно read only.
at StockSharp.Algo.OrderLogHelper.GetCancelReason(OrderLogItem item)
at StockSharp.Algo.OrderLogMarketDepthBuilder.Update(OrderLogItem item)
at OrderLogConverter.Form1.button1_Click(Object sender, EventArgs e) in F:\Projects\OrderLogConverter\OrderLogConverter\Form1.cs:line 145
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at OrderLogConverter.Program.Main() in F:\Projects\OrderLogConverter\OrderLogConverter\Program.cs:line 18
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
|
|
|
|
Спасибо:
|
|
|
|
|
|
Garic
|
Дата: 24.08.2012
Должно быть заполнено поле Order.Status битовой маской как в плазе.
order.Status = new OrderStatus?((OrderStatus)Status);
|
|
|
|
Спасибо:
|
|
|
|
|
|
Garic
|
Дата: 24.08.2012
Order order = new Order
{
Security = security,
Id = OrderId,
TransactionId = ReplId,
Volume = Amount,
Balance = AmountRest,
Direction = Direction,
Time = Time,
Price = OrderPrice.RemoveTrailingZeros(),
State = OrderStates.Active
};
Trade trade;
if (DealId != 0)
{
trade = new Trade
{
Security = security,
Id = DealId,
Time = Time,
Volume = Amount,
Price = DealPrice.RemoveTrailingZeros()
};
}
else
{
trade = null;
order.State = Action == 1 ? OrderStates.Active : OrderStates.Done;
}
if (Status.HasBits(0x01))
{
order.ExecutionCondition = OrderExecutionConditions.PutInQueue;
}
else if (Status.HasBits(0x02))
{
order.ExecutionCondition = OrderExecutionConditions.CancelBalance;
}
if (Status.HasBits(0x04))
{
order.IsSystem = false;
}
order.Status = new OrderStatus?((OrderStatus)Status);
|
|
|
|
|
|