Получение свечки


Получение свечки
Atom
7/6/2012


Здравствуйте. Вот я решил получить свечку по номеру средствами GetCandle.
И проблема:

при вызове этой функции - ошибка: "Ссылка на объект не указывает на экземпляр объекта"
За основу я взял пример SampleCandles. кинул кнопку и вбил код:

Code

var _series = new CandleSeries(typeof(TimeFrameCandle), SelectedSecurity, TimeSpan.FromMinutes(1));
var cand = _series.GetCandles(1);


SelectedSecurity не null. CandleManager объявлен. Но при вызове функции получения свечки такая беда. подскажите - в чем может быть проблема.
ПС: как я понимаю, CandleManager работает на основе таблицы всех сделок? Тогда как можно данные брать из-за другой день

Tags:


Thanks:


1 2  >
Alexander

Avatar
Date: 7/6/2012
Reply


Стэктрэйс нужен

С финама\ртс можно получать всё. См. на гидру, она это делает.
Thanks:

eddardd

Avatar
Date: 7/6/2012
Reply


Вот это в exception:
Quote:

System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
в StockSharp.Algo.Candles.CandleHelper.GetCandles(CandleSeries series, Int32 candleCount)
в SampleCandles.MainWindow.FindPathClick(Object sender, RoutedEventArgs e) в D:\Install\Stock# 4.1.1\Samples\Quik\SampleCandles\MainWindow.xaml.cs:строка 44
Thanks:

Alexander

Avatar
Date: 7/6/2012
Reply


series чему равно?
Thanks:

eddardd

Avatar
Date: 7/6/2012
Reply


Извините, не тот стектрейс. Вот этот:
Quote:
System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
в StockSharp.Algo.Candles.CandleHelper.GetCandle(CandleSeries series, Int32 candleIndex)
в SampleCandles.MainWindow.FindPathClick(Object sender, RoutedEventArgs e) в D:\Install\Stock# 4.1.1\Samples\Quik\SampleCandles\MainWindow.xaml.cs:строка 44


Но ошибка та самая. Исходя из этого тыц нужно использовать эту функцию как GetCandle(CandleSeries series, Int32 candleIndex), но я не могу таким образом вызвать функцию. Получаеться вихвать только
Code
var cand = _series.GetCandles(1);


серию возвращаю вот этим действием:
Code
var _series = new CandleSeries(typeof(TimeFrameCandle), SelectedSecurity, TimeSpan.FromMinutes(1));


но тут ексепшн вылазит.

_series.GetCandles(1) сделал наподобие Вашего туториала: тиц там внизу
Thanks:

Alexander

Avatar
Date: 7/6/2012
Reply


Ничего не понял.
С самого начала напишите
1) стэктрейс
2) чему равны все параметры в вызываемом методе. Лучше просто делать ToString() для параметров, я пойму.
Thanks:

eddardd

Avatar
Date: 7/6/2012
Reply


Стектрейс:
Quote:

System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
в StockSharp.Algo.Candles.CandleHelper.GetCandle(CandleSeries series, Int32 candleIndex)
в SampleCandles.MainWindow.FindPathClick(Object sender, RoutedEventArgs e) в D:\Install\Stock# 4.1.1\Samples\Quik\SampleCandles\MainWindow.xaml.cs:строка 44

Параметры:

SelectedSecurity:
Quote:

RIU2@UX


TimeSpan.FromMinutes(1)
Quote:

00:01:00


_series
Quote:

TimeFrameCandle RIU2@UX 00:01:00


Thanks:

Alexander

Avatar
Date: 7/6/2012
Reply


series.CandleManager чему равен?
Если null - то читайте доку как надо работать со свечками, см. примере.

Если нет - будем разбираться дальше.
Thanks:

eddardd

Avatar
Date: 7/6/2012
Reply


Действительно null. Делал за этим примером ТИЦ и такое получается. Правда я не рисую график. Хотя б без визуализации
Thanks:

Moadip

Avatar
Date: 7/6/2012
Reply


Написал небольшой пример для проверки.

CS & XAML




По нажатию на кнопку берется время предпоследней свечки _series.GetCandle<TimeFrameCandle>(1).OpenTime
Время такое странное потому что после запуска экспорта по dde начал нажимать на кнопку button и тики еще не успели все подгрузиться.

Вы после того как создали серию _series = new CandleSeries(typeof(TimeFrameCandle), SelectedSecurity, TimeSpan.FromMinutes(1))

Вызываете метод CandleManager.Start() с созданной серией _candleManager.Start(_series)?
Thanks:

eddardd

Avatar
Date: 7/6/2012
Reply


Спасибо за ответ. Да, вызывал. Но ничего не было. По поводу Вашего примера.. У меня не хочет запускатся, проблема в :

Code
_trader.AddInfoLog("Свечка OpenTime = {0}", _series.GetCandle<TimeFrameCandle>(1).OpenTime);


Ошибка:
Quote:
вместе с аргументами-типами нельзя использовать не универсальный метод ...CandleHelper.GetCandle(StockSharp.Algo.Candles.CandleSeries,int)


Извините за навязчивость, но в чем может быть проблема?
Thanks:
1 2  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy