[3.0.1] MarketDataSourceSettings_Create doesn't exist.
Atom
12.02.2011


Михаил,

Создал MSSQL2008 базу trading на основе trading.sql из 3.0.1

При загрузке плагинов получил исключение

Гидра 22:53:28.7968750 System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidOperationException: The stored procedure 'MarketDataSourceSettings_Create' doesn't exist.


Смею предположить, что trading.sql не соответствует сборке 3.0.1

Перед этим были аналогичная ошибка с MarketDataSourceSettings_ReadByIDSourceId,
я нашел в БД процедуру с слегка отличным именем MarketDataLoaderSettings_ReadByLoaderId и переименовал.


С уважением.

Теги:


Спасибо:


< 1 2 3  >
Mikhail Sukhov

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


pyhta4og Перейти
[3.0.2]

Пробовал загрузить Security из хранилища

Код

IStorage storage = new HierarchicalDatabase("Hydra", "Server=(local);Database=Trading;User ID=trading;Password=trading;");
ITradingStorage tradingStorage = new TradingStorage(storage);

IEnumerable<Security> securities = tradingStorage.Securities;
foreach (Security s in securities)
{
Console.WriteLine(s.Name);
}


получил
Procedure or function 'Security_ReadAll' expects parameter '@StartIndex', which was not supplied.


Вставил код прямо в конструктор Гидры - все сработало. app.config правильно оформлен, как в Гидре?
Спасибо:

pyhta4og

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


[3.0.3]

Хочу загрузить все трейды из ITradingSource.

А какой диапазон дат ставить?

Никакого API определяющего диапазон дат для загруженных в хранилище данных нет


Предлагаю добавить метод ITradingSource.GetTradesHistoryRange(Security s) который вернет Range<DateTime>
c минимальной и максимальной датами загруженных данных.

Спасибо:

Mikhail Sukhov

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


pyhta4og Перейти
[3.0.3]

Хочу загрузить все трейды из ITradingSource.

А какой диапазон дат ставить?

Никакого API определяющего диапазон дат для загруженных в хранилище данных нет


Есть, прочитайте документацию про Storage API.
Спасибо:

pyhta4og

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


Михаил,

Наверноя слепой ;)

Подскажите пожалуйста класс и метод?

Я смотрел в ITradingStorage, TradingStorage и в Security но ничего похожего на MinDataDate/MaxDataDate не нашел :(

C уважением.
Спасибо:

Mikhail Sukhov

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


pyhta4og Перейти
Михаил,

Наверноя слепой ;)

Подскажите пожалуйста класс и метод?

Я смотрел в ITradingStorage, TradingStorage и в Security но ничего похожего на MinDataDate/MaxDataDate не нашел :(

C уважением.


Я не увидел что нужны границы... Вообще так ITradingStorage.LoadTrades(Date,Date). А чтобы максимум и минимум. Я такое не делал.
Спасибо:

pyhta4og

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


Mikhail Sukhov Перейти

Я не увидел что нужны границы... Вообще так ITradingStorage.LoadTrades(Date,Date). А чтобы максимум и минимум. Я такое не делал.


Было бы неплохо иметь такие функции чтобы знать сколько данных загружено.

Еще попытался тестировать гидру со SmartCom

инструменты обновились нормально. выставил RIH1 чтобы сделки и стаканы грузились через Smart.
Нажал Старт получил
Код

Гидра 22:15:34.5490722 System.NullReferenceException: Object reference not set to an instance of an object.
at StClientLib.StServerClass.ListenBidAsks(String symbol)
at Ecng.Trading.Smart.SmartComWrapper.#=qAYx9wRCrRwCsEvMIqJuSgRgxHhTzoVKynXCwY29J47g=.#=qQWM2BZ4kU_vIQoUdCvvwLYBvgw2GJTRY3CURu521YsA=(StServer #=qk3EKmsV5YhpTL_gnGQeRnQ==)
at Ecng.Trading.Smart.SmartComWrapper.#=qUkHEOz9HdRARjxQqM_waXQ==(Action`1 #=q$iWVMFQ9Wr$U1L3LRTs2ug==)
at Ecng.Trading.Smart.SmartComWrapper.RegisterQuotes(String securityId)
at Ecng.Trading.Smart.SmartTrader.RegisterQuotes(Security security)
at Ecng.Collections.CollectionHelper.ForEach[T](IEnumerable`1 source, Action`1 action)
at Ecng.Trading.Hydra.Smart.SmartDepthSource.Start(IEnumerable`1 securities) in D:\SS\Sources\Hydra\Plugins\Smart\SmartDepthSource.cs:line 156
at Ecng.Trading.Hydra.Worker.<Start>b__5(IMarketDataSource source) in D:\SS\Sources\Hydra\Hydra\Worker.cs:line 58
at Ecng.Collections.CollectionHelper.ForEach[T](IEnumerable`1 source, Action`1 action)
at Ecng.Trading.Hydra.Worker.Start(IEnumerable`1 securities) in D:\SS\Sources\Hydra\Hydra\Worker.cs:line 58
at Ecng.Trading.Hydra.MainWindow.StartStop_Click(Object sender, RoutedEventArgs e) in D:\SS\Sources\Hydra\Hydra\MainWindow.xaml.cs:line 148
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
at System.Windows.Controls.Primitives.ButtonBase.OnClick()
at System.Windows.Controls.Button.OnClick()
at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
at System.Windows.UIElement.CrackMouseButtonEventAndReRaiseEvent(DependencyObject sender, MouseButtonEventArgs e)
at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
Гидра 22:16:18.2488408 System.Runtime.InteropServices.COMException (0x800706BA): The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)
at StClientLib.StServerClass.connect(String ip, Int16 port, String login, String password)
at Ecng.Trading.Smart.SmartComWrapper.#=qmUYt5ip9xuNsbQGGjewvRg==(StServer #=qVZ7ybW$vfy1UI6xv7Nw9MQ==)
at Ecng.Trading.Smart.SmartComWrapper.#=qUkHEOz9HdRARjxQqM_waXQ==(Action`1 #=q$iWVMFQ9Wr$U1L3LRTs2ug==)
at Ecng.Trading.Smart.SmartComWrapper.Connect()
at Ecng.Trading.Smart.SmartTrader.OnConnect()
at Ecng.Trading.Algo.BaseTrader.Connect()
at Ecng.Trading.Hydra.Core.MarketDataTrader.Start() in D:\SS\Sources\Hydra\Core\MarketDataTrader.cs:line 124
at Ecng.Trading.Hydra.Smart.SmartDepthSource.Start(IEnumerable`1 securities) in D:\SS\Sources\Hydra\Plugins\Smart\SmartDepthSource.cs:line 155
at Ecng.Trading.Hydra.Worker.<Start>b__5(IMarketDataSource source) in D:\SS\Sources\Hydra\Hydra\Worker.cs:line 58
at Ecng.Collections.CollectionHelper.ForEach[T](IEnumerable`1 source, Action`1 action)
at Ecng.Trading.Hydra.Worker.Start(IEnumerable`1 securities) in D:\SS\Sources\Hydra\Hydra\Worker.cs:line 58
at Ecng.Trading.Hydra.MainWindow.StartStop_Click(Object sender, RoutedEventArgs e) in D:\SS\Sources\Hydra\Hydra\MainWindow.xaml.cs:line 148
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
at System.Windows.Controls.Primitives.ButtonBase.OnClick()
at System.Windows.Controls.Button.OnClick()
at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
at System.Windows.UIElement.CrackMouseButtonEventAndReRaiseEvent(DependencyObject sender, MouseButtonEventArgs e)
at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
Гидра 22:16:36.9349056 System.Runtime.InteropServices.COMException (0x800706BA): The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)
at StClientLib.StServerClass.connect(String ip, Int16 port, String login, String password)
at Ecng.Trading.Smart.SmartComWrapper.#=qmUYt5ip9xuNsbQGGjewvRg==(StServer #=qVZ7ybW$vfy1UI6xv7Nw9MQ==)
at Ecng.Trading.Smart.SmartComWrapper.#=qUkHEOz9HdRARjxQqM_waXQ==(Action`1 #=q$iWVMFQ9Wr$U1L3LRTs2ug==)
at Ecng.Trading.Smart.SmartComWrapper.Connect()
at Ecng.Trading.Smart.SmartTrader.OnConnect()
at Ecng.Trading.Algo.BaseTrader.Connect()
at Ecng.Trading.Hydra.Core.MarketDataTrader.Start() in D:\SS\Sources\Hydra\Core\MarketDataTrader.cs:line 124
at Ecng.Trading.Hydra.Smart.SmartDepthSource.Start(IEnumerable`1 securities) in D:\SS\Sources\Hydra\Plugins\Smart\SmartDepthSource.cs:line 155
at Ecng.Trading.Hydra.Worker.<Start>b__5(IMarketDataSource source) in D:\SS\Sources\Hydra\Hydra\Worker.cs:line 58
at Ecng.Collections.CollectionHelper.ForEach[T](IEnumerable`1 source, Action`1 action)
at Ecng.Trading.Hydra.Worker.Start(IEnumerable`1 securities) in D:\SS\Sources\Hydra\Hydra\Worker.cs:line 58
at Ecng.Trading.Hydra.MainWindow.StartStop_Click(Object sender, RoutedEventArgs e) in D:\SS\Sources\Hydra\Hydra\MainWindow.xaml.cs:line 148
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
at System.Windows.Controls.Primitives.ButtonBase.OnClick()
at System.Windows.Controls.Button.OnClick()
at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
at System.Windows.UIElement.CrackMouseButtonEventAndReRaiseEvent(DependencyObject sender, MouseButtonEventArgs e)
at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
Гидра 22:16:58.9488398 System.Runtime.InteropServices.COMException (0x800706BA): The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)
at StClientLib.StServerClass.connect(String ip, Int16 port, String login, String password)
at Ecng.Trading.Smart.SmartComWrapper.#=qmUYt5ip9xuNsbQGGjewvRg==(StServer #=qVZ7ybW$vfy1UI6xv7Nw9MQ==)
at Ecng.Trading.Smart.SmartComWrapper.#=qUkHEOz9HdRARjxQqM_waXQ==(Action`1 #=q$iWVMFQ9Wr$U1L3LRTs2ug==)
at Ecng.Trading.Smart.SmartComWrapper.Connect()
at Ecng.Trading.Smart.SmartTrader.OnConnect()
at Ecng.Trading.Algo.BaseTrader.Connect()
at Ecng.Trading.Hydra.Core.MarketDataTrader.Start() in D:\SS\Sources\Hydra\Core\MarketDataTrader.cs:line 124
at Ecng.Trading.Hydra.Smart.SmartDepthSource.Start(IEnumerable`1 securities) in D:\SS\Sources\Hydra\Plugins\Smart\SmartDepthSource.cs:line 155
at Ecng.Trading.Hydra.Worker.<Start>b__5(IMarketDataSource source) in D:\SS\Sources\Hydra\Hydra\Worker.cs:line 58
at Ecng.Collections.CollectionHelper.ForEach[T](IEnumerable`1 source, Action`1 action)
at Ecng.Trading.Hydra.Worker.Start(IEnumerable`1 securities) in D:\SS\Sources\Hydra\Hydra\Worker.cs:line 58
at Ecng.Trading.Hydra.MainWindow.StartStop_Click(Object sender, RoutedEventArgs e) in D:\SS\Sources\Hydra\Hydra\MainWindow.xaml.cs:line 148
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
at System.Windows.Controls.Primitives.ButtonBase.OnClick()
at System.Windows.Controls.Button.OnClick()
at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
at System.Windows.UIElement.CrackMouseButtonEventAndReRaiseEvent(DependencyObject sender, MouseButtonEventArgs e)
at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
Гидра 22:19:45.9203904 System.NullReferenceException: Object reference not set to an instance of an object.
at StClientLib.StServerClass.ListenBidAsks(String symbol)
at Ecng.Trading.Smart.SmartComWrapper.#=qAYx9wRCrRwCsEvMIqJuSgRgxHhTzoVKynXCwY29J47g=.#=qQWM2BZ4kU_vIQoUdCvvwLYBvgw2GJTRY3CURu521YsA=(StServer #=qk3EKmsV5YhpTL_gnGQeRnQ==)
at Ecng.Trading.Smart.SmartComWrapper.#=qUkHEOz9HdRARjxQqM_waXQ==(Action`1 #=q$iWVMFQ9Wr$U1L3LRTs2ug==)
at Ecng.Trading.Smart.SmartComWrapper.RegisterQuotes(String securityId)
at Ecng.Trading.Smart.SmartTrader.RegisterQuotes(Security security)
at Ecng.Collections.CollectionHelper.ForEach[T](IEnumerable`1 source, Action`1 action)
at Ecng.Trading.Hydra.Smart.SmartDepthSource.Start(IEnumerable`1 securities) in D:\SS\Sources\Hydra\Plugins\Smart\SmartDepthSource.cs:line 156
at Ecng.Trading.Hydra.Worker.<Start>b__5(IMarketDataSource source) in D:\SS\Sources\Hydra\Hydra\Worker.cs:line 58
at Ecng.Collections.CollectionHelper.ForEach[T](IEnumerable`1 source, Action`1 action)
at Ecng.Trading.Hydra.Worker.Start(IEnumerable`1 securities) in D:\SS\Sources\Hydra\Hydra\Worker.cs:line 58
at Ecng.Trading.Hydra.MainWindow.StartStop_Click(Object sender, RoutedEventArgs e) in D:\SS\Sources\Hydra\Hydra\MainWindow.xaml.cs:line 148
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
at System.Windows.Controls.Primitives.ButtonBase.OnClick()
at System.Windows.Controls.Button.OnClick()
at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
at System.Windows.UIElement.CrackMouseButtonEventAndReRaiseEvent(DependencyObject sender, MouseButtonEventArgs e)
at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
Гидра 22:36:18.0004428 System.NullReferenceException: Object reference not set to an instance of an object.
at StClientLib.StServerClass.ListenBidAsks(String symbol)
at Ecng.Trading.Smart.SmartComWrapper.#=qAYx9wRCrRwCsEvMIqJuSgRgxHhTzoVKynXCwY29J47g=.#=qQWM2BZ4kU_vIQoUdCvvwLYBvgw2GJTRY3CURu521YsA=(StServer #=qk3EKmsV5YhpTL_gnGQeRnQ==)
at Ecng.Trading.Smart.SmartComWrapper.#=qUkHEOz9HdRARjxQqM_waXQ==(Action`1 #=q$iWVMFQ9Wr$U1L3LRTs2ug==)
at Ecng.Trading.Smart.SmartComWrapper.RegisterQuotes(String securityId)
at Ecng.Trading.Smart.SmartTrader.RegisterQuotes(Security security)
at Ecng.Collections.CollectionHelper.ForEach[T](IEnumerable`1 source, Action`1 action)
at Ecng.Trading.Hydra.Smart.SmartDepthSource.Start(IEnumerable`1 securities) in D:\SS\Sources\Hydra\Plugins\Smart\SmartDepthSource.cs:line 156
at Ecng.Trading.Hydra.Worker.<Start>b__5(IMarketDataSource source) in D:\SS\Sources\Hydra\Hydra\Worker.cs:line 58
at Ecng.Collections.CollectionHelper.ForEach[T](IEnumerable`1 source, Action`1 action)
at Ecng.Trading.Hydra.Worker.Start(IEnumerable`1 securities) in D:\SS\Sources\Hydra\Hydra\Worker.cs:line 58
at Ecng.Trading.Hydra.MainWindow.StartStop_Click(Object sender, RoutedEventArgs e) in D:\SS\Sources\Hydra\Hydra\MainWindow.xaml.cs:line 148
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
at System.Windows.Controls.Primitives.ButtonBase.OnClick()
at System.Windows.Controls.Button.OnClick()
at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
at System.Windows.UIElement.CrackMouseButtonEventAndReRaiseEvent(DependencyObject sender, MouseButtonEventArgs e)
at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)

Спасибо:

Mikhail Sukhov

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


pyhta4og Перейти

инструменты обновились нормально. выставил RIH1 чтобы сделки и стаканы грузились через Smart.
Нажал Старт получил


А идентификатор точно Смартовский у инструмента?
Спасибо:

pyhta4og

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


Идентфкатор был финамовский похоже. С пустой базой наполненной инструментами из смарта загрузка стакана пошла.

Вообще, как предполагается данные из разных источников совмещать?

В базе после обновления с РТС и со Смарта есть такие вот записи

Id, Name, Code, Class
RTS-12.10_FT, RTS-12.10, RIZ0, RTS_FUT - фьючерс загружен из смарта

RTS-12.10, RIZ0, RTS-12.10, пусто - фьючерс загружен из РТС


из квика не пробовал. Там будет может третий идентификатор.

Однако на лицо то, что Name и Code в смарте и РТСе перепутаны.
Я полагаю должно быть Code=RIZ0, Name=RTS-12.10

еще я могу ошибаться, но идентификатор Id у Security может совпадать для смартовских даннх и РТСовских (финамовских). ТОгда загруженные через эти разные источники данные могут перепутаться (они же запишутся в одну и ту же директорию)
Я думаю это неправильно (перепутывание данных)

В идеале (для меня) в таблице Security не должно быть повторов одного инструмента под разными псевдонимами (в данном случае RTS-12.10_FT и RTS-12.10). Это бы упрощало в стратегии жизнь.
А вот данных для одного инструмента может быть несколько вариантов - с финама, со смарта, еще откуда-то.
Т.е. каждый источник - свои данные. И хранятся они в разных папках, например FINAM/RTS-12.10/дата и SMART/RTS-12.10/дата.

Сразу вознкает вопрос, а какие данные использовать при прогоне стратегии?
Оптимальным мне кажется сделать специальный алгоритм DataSelectionAlgorithm который будет выбирать для конкретной Security и конкретного дня, какие данные использовать.

Например алгоритм мог бы действовать так:

КакиеДанныеПоТиковымСделкамИспользовать(RIZ0, 1 апреля 2010г)
if(есть_накопленные_данные_Смарта(RIZ0, 1 апреля 2010г)
return использовать данные смарта
if(есть_данные_РТС(RIZ0, 1 апреля 2010г))
return использовать данные РТС.

КакиеДанныеПоСтакануИспользовать(RIZ0, 1 апреля 2010г)
if(есть_накопленные_данные_Смарта(riz0, 1 апреля 2010г)
return использовать_стакан_смарта
if(нет никаких данных)
return использовать_генератор_стакана.


Тут есть еще одна идея - в данных может быть мусор. Можно озаботиться алгоритмом проверки-фильтрации данных. Это будет как бы еще один MarketDataSource.


Что скажете?


Спасибо:

Mikhail Sukhov

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


pyhta4og Перейти

Однако на лицо то, что Name и Code в смарте и РТСе перепутаны.
Я полагаю должно быть Code=RIZ0, Name=RTS-12.10


Да, поменял местами в коде. В БД надо так же будет заменить после обновления.

pyhta4og Перейти

еще я могу ошибаться, но идентификатор Id у Security может совпадать для смартовских даннх и РТСовских (финамовских). ТОгда загруженные через эти разные источники данные могут перепутаться (они же запишутся в одну и ту же директорию)
Я думаю это неправильно (перепутывание данных)


Это как раз правильно, когда инструменты едины для разных источников. Не логично, когда одни и те же маркет данные грузятся по разным источникам.

pyhta4og Перейти

В идеале (для меня) в таблице Security не должно быть повторов одного инструмента под разными псевдонимами (в данном случае RTS-12.10_FT и RTS-12.10). Это бы упрощало в стратегии жизнь.


Согласен. Варианты решения?

pyhta4og Перейти

А вот данных для одного инструмента может быть несколько вариантов - с финама, со смарта, еще откуда-то.
Т.е. каждый источник - свои данные. И хранятся они в разных папках, например FINAM/RTS-12.10/дата и SMART/RTS-12.10/дата.


А вот тут не согласен. Я понимаю, когда стаканы и тики грузятся для одного инструмента по разным источникам. Тогда они просто в одну и ту же папку попадают. Но зачем делать еще группировку по источникам?

pyhta4og Перейти

Сразу вознкает вопрос, а какие данные использовать при прогоне стратегии?


Вот поэтому, понятие источника не должно вылезать дальше Гидры. ITradingStorage глубоко наплевать откуда данные накачали. Все что она должна делать, отдавать данные когда у нее просят. Хотят тики за период такой-то - получите. Стаканы - да бога ради.
Спасибо:

Mikhail Sukhov

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


Mikhail Sukhov Перейти
pyhta4og Перейти

Однако на лицо то, что Name и Code в смарте и РТСе перепутаны.
Я полагаю должно быть Code=RIZ0, Name=RTS-12.10


Да, поменял местами в коде. В БД надо так же будет заменить после обновления.



У Смарта код и имя расположена правильно.
Спасибо:
< 1 2 3  >

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

loading
clippy