[3.0.1] MarketDataSourceSettings_Create doesn't exist.
Atom
12.02.2011
pyhta4og


Михаил,

Создал 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