я решительно не понимаю, как мне получить свечку за прошедшее время. мой код private QuikTrader _trader; private readonly TimeSpan _timeFrame = TimeSpan.FromMinutes(1);
_candleManager_lkoh = new CandleManager(_trader); series_lkoh = new CandleSeries(typeof(TimeFrameCandle), _lkoh, _timeFrame); _candleManager_lkoh.Start(series_lkoh); var candle_lkoh = series_lkoh.GetCandle(1); MessageBox.Show(candle_lkoh.ClosePrice.ToString()); выдает неверные данные в течение 1 минуты. Просветите нуба!
Comments (16)
Login or Create account, Log in or register to leave a comment
что то вопрос не понятен
почему в candle_lkoh не записываеться историческая свечка?(в данном случае предпоследняя, то есть уже должна быть сформирована), может я вообще не понимаю принципов получения исторических свечей? такое ощущение что видит только свечки, которые сформировались за время работы программы.
Так и есть. Свечки строятся по сделкам в реал-тайме. В квике нет возможности получения исторических свечек с сервера. Пользуйтесь гидрой и примером SampleSMA(там показано, как из файла создать свечки)
Дело в том, что для получения исторических свечей, необходимо сначала написать ваш код, а затем запустить экспорт таблицы всех сделок по DDE. В этом случае вы получите все исторические свечки с начала дня. Если же вы сначала запустите экспорт таблицы всех сделок по DDE и только потом напишете ваш код, то часть свечей может не записаться в серию candle_lkoh. Посмотрите в программе, когда вы запускаете экспорт?
спасибо, заодно тогда по гидре вопрос, мне что нужно постоянно скачивать данные за последние несколько часов? Я думал гидра только для массовой выгрузки котировок, для удобности тестирования на больших временных промежутках. И вообще как вы, прожженные ребята, делаете в том случае, если вам нужны для робота котировки за последние несколько часов? Не ругайте меня, потому что манами гидры пока не знакомился даже, просто хочется побыстрее получить ответ.
Доктор Сальватор тоже истину глаголит. Я использую Альфа-Директ, тут можно выгрузить свечи с сервера. По поводу старта экспорта - он, наверно, имел ввиду старт серии до старта экспорта сделок, хотя метод корявый. Попробуйте со скриптом на qpile
Если время, прошедшее между действиями 2 и 4 составит секунд 5-10, то график, который начинается с 10:00, вы не увидите. Он начнётся с 11:00 или более позднего времени. Это происходит от того, что экспорт таблицы всех сделок начался до того, как вы дадите команду _candleManager.Start(series) в методе ShowChartClick.
_candleManager_lkoh = new CandleManager(_trader); _trader.StartExport(new[] );
/* Здесь надо разместить код, который присвоит переменной Instrument значение инструмента, с которым вы хотите работать. Это значение можно получить из таблицы инструментов, экспорт которой вы запустили*/
series_lkoh = new CandleSeries(typeof(TimeFrameCandle), Instrument, _timeFrame); _candleManager_lkoh.Start(series_lkoh); _trader.StartExport(new[] );
var candle_lkoh = series_lkoh.GetCandle(1); MessageBox.Show(candle_lkoh.ClosePrice.ToString());
Если же вы хотите получить свечку за вчерашний или позавчерашний день, то вам надо использовать либо Гидру - посмотрите в документации раздел Свечки/Склеивание свечек, история+реалтайм. Либо используйте текстовый файл с котировками как в примере SampleSma.
Подозреваю, что есть более удачные варианты, чем предложил я. Буду рад услышать мнения других участников.
используйте 4.1.2
По поводу экспорта,в моем коде он вызываеться так - _trader.StartExport(); а не _trader.StartExport(new[] { _trader.SecuritiesTable, _trader.TradesTable }); возможно это и играет решающую роль, я проверю в понедельник. Даже скорее всего это и есть. по поводу
Я пока только с Квиком работаю.
ок всем спасибо за советы, в понедельник все потестирую, если все получиться, выложу на ваше суждение прогу, и потом возможно ее можно будет как тестовый пример можно использовать, для новичков полезно будет наверно.
все изменил как вы советовали - не помогло, пошел курить "экспорт произвольных таблиц", а вы то сами как свечки экспортите? Ps все в порядке - разобрался, все работает, в ближайшее время выложу прогу на ваше суждение
Ребята, может я не в тему, но это потому что у меня уже мозги вскипели. Ни как не могу понять, что я делаю не так, вроде все по мануалу, но свечки не появляются, один пустой график.
XAML
КОД
Ребята, извините пожалуйста, оказывается все работает. Просто я до этого проверял на ММВБ после закрытия и на демке.😊