← Zurück

Живые свечи

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

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

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

War dieses Thema hilfreich?

Thema teilen

Kommentare (5)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

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 Autor

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

OvcharenkoVI
OvcharenkoVI

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

topman
topman
topman Autor

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

OvcharenkoVI
OvcharenkoVI

Trader.RegisterTrades(security);

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