Когда вызывается OnNewTrades?
Atom Ответить
14.08.2012


День добрый!

Помогите разобраться с данными.

При получении информации о количестве трейдов в исторической свечке как от OnNewHistoryCandles, так и от
CandleManager данные полностью совпадают.
Но если просто подсчитать количество вызовов события OnNewTrades за минуту, например, данные не совпадают.

Что не так делается?
Можно ли количество вызовов события OnNewTrades за интервал времени интерпретировать как количество сделок за этот же период?

Спасибо заранее

Теги:


Спасибо:




9 Ответов
esper

Фотография
Программист
Дата: 14.08.2012
Ответить


Сделки могут пачками приходить.
Спасибо:

andy_baka_

Фотография
Курсы
Дата: 14.08.2012
Ответить


И разделить возможности нет?
Автор топика
Спасибо:

esper

Фотография
Программист
Дата: 14.08.2012
Ответить


Код
Trader.NewTrades += trades => 
{
   foreach(var trade in trades)
   {
   }
});
Спасибо: Sergey Masyura

andy_baka_

Фотография
Курсы
Дата: 14.08.2012
Ответить


Неправильно вопрос задал.
Естественно, именно так и выдергивал каждую сделку.
Только их количество не совпадает с данными возвращаемыми
RegisterHistoryCandles или CandleManager.
По-другому проанализировать состав сделок нет возможности?
Автор топика
Спасибо:

esper

Фотография
Программист
Дата: 15.08.2012
Ответить


А что именно не совпадает и как вы это проверяете?
Спасибо:

ra81

Фотография
Дата: 15.08.2012
Ответить


andy_baka_ Перейти
Неправильно вопрос задал.
Естественно, именно так и выдергивал каждую сделку.
Только их количество не совпадает с данными возвращаемыми
RegisterHistoryCandles или CandleManager.
По-другому проанализировать состав сделок нет возможности?


Других способов кажется нет. А какие расхождения количественно? десятки тыщи или 1 сделка?
Спасибо:

andy_baka_

Фотография
Курсы
Дата: 15.08.2012
Ответить


Расхождения в количестве сделок - данные из свечей больше данных прямого подсчета от 1,5 до 2,5 раз - это прямо сейчас по рынку.

Проверяю просто.

Из CandleManager:

_candleManager.CandlesFinished += OnCandlesFinished;

private void OnCandlesFinished(CandleToken token, IEnumerable<Candle> candles)
{
trader.RegisterHistoryCandles(tmp_security, SmartTimeFrames.Minute1, DateTime.Now, 13, SmartHistoryDirections.Backward);

foreach (var _candle in candles)
{
Logger.Debug("TotalVolume {0}".Put(_candle.TotalVolume));
}
}

private void OnNewHistoryCandles(CandleToken token, IEnumerable<TimeFrameCandle> _candles)
{
foreach (var cnld in _candles)
{
Logger.Debug("TotalVolumeSmartCom{0}".Put(cnld.TotalVolume));
}
}

И прямым подсчетом:

Trader.NewTrades += (trades =>
{ foreach(var trade in trades)
{
total_trades_count++;
}
});

total_trades_count сбрасывается в OnCandlesFinished


Автор топика
Спасибо:

esper

Фотография
Программист
Дата: 15.08.2012
Ответить


Так вы сравниваете число сделок с суммарным объемом по всем сделкам.
Спасибо: andy_baka_

andy_baka_

Фотография
Курсы
Дата: 15.08.2012
Ответить


Да, запутался в трех соснах.
Спасибо, Александр
Автор топика
Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy