помогите со свечками

помогите со свечками
Atom
6/28/2012
tantin


я решительно не понимаю, как мне получить свечку за прошедшее время. мой код 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 минуты. Просветите нуба!


Tags:


Thanks:


1 2  >
OvcharenkoVI

Avatar
Date: 6/28/2012
Reply


что то вопрос не понятен

Thanks:

tantin

Avatar
Date: 6/28/2012
Reply


почему в candle_lkoh не записываеться историческая свечка?(в данном случае предпоследняя, то есть уже должна быть сформирована), может я вообще не понимаю принципов получения исторических свечей? такое ощущение что видит только свечки, которые сформировались за время работы программы.

Thanks:

Доктор Сальватор

Avatar
Date: 6/28/2012
Reply


Дело в том, что для получения исторических свечей, необходимо сначала написать ваш код, а затем запустить экспорт таблицы всех сделок по DDE. В этом случае вы получите все исторические свечки с начала дня. Если же вы сначала запустите экспорт таблицы всех сделок по DDE и только потом напишете ваш код, то часть свечей может не записаться в серию candle_lkoh. Посмотрите в программе, когда вы запускаете экспорт?

Thanks:

OvcharenkoVI

Avatar
Date: 6/29/2012
Reply


tantin: почему в candle_lkoh не записываеться историческая свечка?(в данном случае предпоследняя, то есть уже должна быть сформирована), может я вообще не понимаю принципов получения исторических свечей? такое ощущение что видит только свечки, которые сформировались за время работы программы.

Так и есть. Свечки строятся по сделкам в реал-тайме. В квике нет возможности получения исторических свечек с сервера. Пользуйтесь гидрой и примером SampleSMA(там показано, как из файла создать свечки)

Thanks:

tantin

Avatar
Date: 6/29/2012
Reply


спасибо, заодно тогда по гидре вопрос, мне что нужно постоянно скачивать данные за последние несколько часов? Я думал гидра только для массовой выгрузки котировок, для удобности тестирования на больших временных промежутках. И вообще как вы, прожженные ребята, делаете в том случае, если вам нужны для робота котировки за последние несколько часов? Не ругайте меня, потому что манами гидры пока не знакомился даже, просто хочется побыстрее получить ответ.

Доктор Сальватор: Дело в том, что для получения исторических свечей, необходимо сначала написать ваш код, а затем запустить экспорт таблицы всех сделок по DDE. В этом случае вы получите все исторические свечки с начала дня. Если же вы сначала запустите экспорт таблицы всех сделок по DDE и только потом напишете ваш код, то часть свечей может не записаться в серию candle_lkoh. Посмотрите в программе, когда вы запускаете экспорт? так можно или нельзя? Да и как я буду обращаться к тому чего еще нет? Во всех примерах сначала экспорт а потом уже работа с данными. Как это я сначала возьму свечу а потом экспорт запущу?

Thanks:

OvcharenkoVI

Avatar
Date: 6/30/2012
Reply


Доктор Сальватор тоже истину глаголит. Я использую Альфа-Директ, тут можно выгрузить свечи с сервера. По поводу старта экспорта - он, наверно, имел ввиду старт серии до старта экспорта сделок, хотя метод корявый. Попробуйте со скриптом на qpile

Thanks:

Доктор Сальватор

Avatar
Date: 6/30/2012
Reply


По поводу старта экспорта - он, наверно, имел ввиду старт серии до старта экспорта сделок Да, это я и имел ввиду. tantin, обратите внимание на пример SampleCandles. Вот как он работает:

  1. Подключаемся
  2. Запускаем экспорт DDE командой _trader.StartExport(new[] { _trader.SecuritiesTable, _trader.TradesTable }); То есть начинаем экспорт таблицы инструментов и таблицы всех сделок.
  3. Выбираем инструмент, тип свечи и таймфрейм.
  4. Вызываем окно с графиком.

Если время, прошедшее между действиями 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.

Подозреваю, что есть более удачные варианты, чем предложил я. Буду рад услышать мнения других участников.

Thanks:

esper

Avatar
Date: 6/30/2012
Reply


Доктор Сальватор: Если время, прошедшее между действиями 2 и 4 составит секунд 5-10, то график, который начинается с 10:00, вы не увидите. Он начнётся с 11:00 или более позднего времени. Это происходит от того, что экспорт таблицы всех сделок начался до того, как вы дадите команду _candleManager.Start(series) в методе ShowChartClick. Попробуйте вместо _candleManager.Start(series) вызвать _candleManager.Start(series, DateTime.Today, DateTime.Max), т.е. явно указать за какой период нужны свечки.

Thanks:

Доктор Сальватор

Avatar
Date: 6/30/2012
Reply


esper: Попробуйте вместо _candleManager.Start(series) вызвать _candleManager.Start(series, DateTime.Today, DateTime.Max), т.е. явно указать за какой период нужны свечки. Сегодня работает резервный сервер QUIK в Новосибирске, поэтому я попробовал сделать замену, предложенную вами, в примере SampleCandles. Не получилось. Котировки не закачиваются с 10:00.

Thanks:

Alexander

Avatar
Date: 6/30/2012
Reply


используйте 4.1.2

Thanks:
1 2  >

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

loading
clippy