Живые свечи
Atom Ответить
19.09.2012


Господа, может кто подскажет, как правильно строить свечи real-time, чтобы последняя свеча изменялась при каждой сделке (как в терминалах)? Нигде в документации не нашел стандартных решений.
Вот к примеру есть событие

series.ProcessCandle += candle => this.GuiAsync(() => wnd.Chart.Candles.Add(candle))

оно отрабатывает только при появлении новой свечки. А есть метод отлавливать событие сделки, ну допустим _trader.NewTrades и функция перерисовки последней свечки?
ЗЫ. Маньячил пример SampleSmartCandles, ниче не придумал ((

Теги:


Спасибо:




5 Ответов
OvcharenkoVI

Фотография
Автор статей
Дата: 19.09.2012
Ответить


series.ProcessCandle += candle =>
{
if(candle.State == CandleStates.Finished)
{
this.GuiAsync(() => wnd.Chart.Candles.Add(candle));
}

if(candle.State == CandleStates.Changed || candle.State == CandleStates.Started)
{
this.GuiAsync(() =>
{
wnd.Chart.Candles.RemoveAt(wnd.Chart.Candles.Count - 1);
wnd.Chart.Candles.Add(candle);
});
}
};

Как то так
Спасибо:

topman

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


Спасибо, нижняя часть действительно идея!
Но проблема в том, что событие series.ProcessCandle вызывается только когда появляется новая свечка. Как сделать так, чтобы оно вызывалось при любом изменении?
Автор топика
Спасибо:

OvcharenkoVI

Фотография
Автор статей
Дата: 19.09.2012
Ответить


candleManager.Processing += (series, candles) => { };
Спасибо: topman

topman

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


OvcharenkoVI Перейти
candleManager.Processing += (series, candles) => { };
Блин, но почему-то у меня это событие происходит при каждой новой свечке, а не сделке..

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

OvcharenkoVI

Фотография
Автор статей
Дата: 20.09.2012
Ответить


Trader.RegisterTrades(security);

Не знаю как в коннекторе смарткома работает candleManager
Спасибо:


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

loading
clippy