Кажется дошло 😍
А можно каким-либо образом при формировании свечи записывать туда другую информацию?
В частности меня интересует дельта по сделкам (сделки по покупкам суммируются, по продажам вычитаются, и также записывается начальная, минимальная, максимальная, и конечная дельта). Понятно, что это можно сделать и после формирования свечек, но получается, что те же самые сделки надо обрабатывать дважды - первый раз при формировании свечки, а второй раз чтобы просчитать эти значения...
RomSunZ:
Кажется дошло 😍
А можно каким-либо образом при формировании свечи записывать туда другую информацию?
В частности меня интересует дельта по сделкам (сделки по покупкам суммируются, по продажам вычитаются, и также записывается начальная, минимальная, максимальная, и конечная дельта). Понятно, что это можно сделать и после формирования свечек, но получается, что те же самые сделки надо обрабатывать дважды - первый раз при формировании свечки, а второй раз чтобы просчитать эти значения...
В примере SampleCandles пытаюсь убрать регистрацию: _candleManager.UnRegisterCandleFactory<TimeFrameCandle>();
и получаю ошибку: ошибка CS0308: Вместе с аргументами-типами нельзя использовать не универсальный метод "StockSharp.Algo.Candles.CandleManager.UnRegisterCandleFactory(System.Type)"
Если использовать: _candleManager.UnRegisterCandleFactory(TimeFrameCandle);
то выдает ошибку: ошибка CS0118: "StockSharp.Algo.Candles.TimeFrameCandle" является "тип", но используется как "переменная"
Подскажите как правильно нужно использовать UnRegisterCandleFactory?
RomSunZ:
В примере SampleCandles пытаюсь убрать регистрацию: _candleManager.UnRegisterCandleFactory<TimeFrameCandle>();
и получаю ошибку: ошибка CS0308: Вместе с аргументами-типами нельзя использовать не универсальный метод "StockSharp.Algo.Candles.CandleManager.UnRegisterCandleFactory(System.Type)"
Если использовать: _candleManager.UnRegisterCandleFactory(TimeFrameCandle);
то выдает ошибку: ошибка CS0118: "StockSharp.Algo.Candles.TimeFrameCandle" является "тип", но используется как "переменная"
Подскажите как правильно нужно использовать UnRegisterCandleFactory?
Так, как сделано в SampleCandles.
то выдает ошибку: ошибка CS0118: "StockSharp.Algo.Candles.TimeFrameCandle" является "тип", но используется как "переменная"
означает что надо писать _candleManager.UnRegisterCandleFactory(typeof(TimeFrameCandle));
Следующим шагом пытаюсь вывести на график свечки из истории инструмента, взятые из Гидры:
// хранилище, через которое будет производиться доступ к тиковой и котировочной базе
var storage = new TradingStorage(new InMemoryStorage())
{
BasePath = this.HistoryPath.Text
};
DateTime startTime = StartdatePicker.SelectedDate.Value;
// получаем хранилище для тиковых сделок
//var tradeStorage = storage.GetTradeStorage(this.SelectedSecurity).Load(startTime, DateTime.Today);;
// получаем свечки
var candleStorage = storage.GetCandleStorage<TimeFrameCandle, TimeSpan>(this.SelectedSecurity, this.TimeFrame.SelectedTime).Load(startTime, DateTime.Today);
candleStorage всегда возвращает 0 элементов. Подскажите в чем ошибка?
закачаны через РТС.
Еще момент, в гидре сделки выводятся, если брать небольшой период (примерно неделю), но если попытаться вывести все сделки по инструменту, чтобы потом построить по ним свечи, то гидра просто закрывается с ошибкой
System.OutOfMemoryException: Выдано исключение типа "System.OutOfMemoryException".
в #=qKXBGeTDtHWmHTk6YH6EMQOe8Prr0tBlPR_uympcgBOFt7_UUdm2jlxgUWCjmqCey.OnLoad(BitArrayReader #=qvVaNO8eGu227vNHG0b6tDw==, IList`1 #=qyL66Ywhe312C_5LqIfaPUQ==, DateTime #=qRu8RIQ_ri0I$WV9icXS5Fg==, #=qRHyR$cHU6IUN2$RgaDsvo9ZBq$TohzncGsnjDtnzCQ4OZpzKRtuYZhocZAXVczNh #=qcPya4zbVyWcOfFcffRyvxw==)
в #=qCCZeiOZ3Qn0In0xD5cNmXfjp0qIbiRIlLCMaPkFM7S5dIm6gIL1FWTBV2IItTDV8.#=q5ub5sG7i9jTeTdurUB8GOQ==(DateTime #=q_scGO4oBVUeTywN1DBbn9w==)
в #=qCCZeiOZ3Qn0In0xD5cNmXfjp0qIbiRIlLCMaPkFM7S5dIm6gIL1FWTBV2IItTDV8.Load(DateTime #=qObuRa85_SvBrUYA5myXKDw==, DateTime #=q5GcI75cwqQRepIbAwZqrRA==)
в StockSharp.Hydra.TradesWindow.Find_Click(Object sender, RoutedEventArgs e) в E:\StockSharpReleases\StockSharp_3.2.10\Hydra\Hydra\TradesWindow.xaml.cs:строка 62
в System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
в System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
в System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
в System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
в System.Windows.Controls.Primitives.ButtonBase.OnClick()
в System.Windows.Controls.Button.OnClick()
в System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
в System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
в System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
в System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
в System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
в System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
в System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
в System.Windows.UIElement.CrackMouseButtonEventAndReRaiseEvent(DependencyObject sender, MouseButtonEventArgs e)
в System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
в System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
в System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
в System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
в System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
в System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
в System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
в System.Windows.Input.InputManager.ProcessStagingArea()
в System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
в System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
в System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
в System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
в System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
в MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
в MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
в System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)
в System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
ОК
Та же самая проблема возникла и у меня при попытке вызова storage.GetTradeStorage(this.SelectedSecurity).Load(startTime, DateTime.Today).Load(), когда я попытался создать менеджера свечек по этим сделкам. Как-то можно решить эту проблему?
We use cookies to ensure the best experience on our website. By continuing to use our site, you agree to the use of cookies.
Comments (9)
Login or Create account, Log in or register to leave a comment
Роман, ссылка на ответ на ваш вопрос в документации.
Кажется дошло 😍 А можно каким-либо образом при формировании свечи записывать туда другую информацию? В частности меня интересует дельта по сделкам (сделки по покупкам суммируются, по продажам вычитаются, и также записывается начальная, минимальная, максимальная, и конечная дельта). Понятно, что это можно сделать и после формирования свечек, но получается, что те же самые сделки надо обрабатывать дважды - первый раз при формировании свечки, а второй раз чтобы просчитать эти значения...
Роман.
http://stocksharp.com/doc/html/cd52cfcf-938c-4fce-9a56-4e9a001f0792.htm http://stocksharp.com/doc/html/T_StockSharp_Algo_Candles_CandleFactory_2.htm
В примере SampleCandles пытаюсь убрать регистрацию: _candleManager.UnRegisterCandleFactory<TimeFrameCandle>(); и получаю ошибку: ошибка CS0308: Вместе с аргументами-типами нельзя использовать не универсальный метод "StockSharp.Algo.Candles.CandleManager.UnRegisterCandleFactory(System.Type)" Если использовать: _candleManager.UnRegisterCandleFactory(TimeFrameCandle); то выдает ошибку: ошибка CS0118: "StockSharp.Algo.Candles.TimeFrameCandle" является "тип", но используется как "переменная"
Подскажите как правильно нужно использовать UnRegisterCandleFactory?
Так, как сделано в SampleCandles.
Спасибо большое.
Следующим шагом пытаюсь вывести на график свечки из истории инструмента, взятые из Гидры:
candleStorage всегда возвращает 0 элементов. Подскажите в чем ошибка?
Роман.
P.S. storage.GetTradeStorage.Load сделки получает...
А как они попали в Гидру?
закачаны через РТС. Еще момент, в гидре сделки выводятся, если брать небольшой период (примерно неделю), но если попытаться вывести все сделки по инструменту, чтобы потом построить по ним свечи, то гидра просто закрывается с ошибкой
Та же самая проблема возникла и у меня при попытке вызова storage.GetTradeStorage(this.SelectedSecurity).Load(startTime, DateTime.Today).Load(), когда я попытался создать менеджера свечек по этим сделкам. Как-то можно решить эту проблему?