← 返回

Живые свечи

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

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

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

本主题对您有帮助吗?

分享主题

评论 (5)

登录创建账户, 登录或注册以发表评论

OvcharenkoVI
OvcharenkoVI

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
topman 作者

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

OvcharenkoVI
OvcharenkoVI

candleManager.Processing += (series, candles) => ;

topman
topman
topman 作者

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

OvcharenkoVI
OvcharenkoVI

Trader.RegisterTrades(security);

Не знаю как в коннекторе смарткома работает candleManager