Moadip
|
Date: 6/16/2012
|
|
|
|
Так как вы все таки рассчитываете значения индикатора, через IndicatorManager или вызывая Process? Если через IndicatorManager, то значение индикатора надо брать не из индикатора через LastValue, а через токен. Цитата из справки: Значения индикатора следует брать только из токена, сам параметр может не обновляться. СсылкаТак регистрирую индикатор в IndicatorManager Code
_tokenSar = indicatorManager.RegisterIndicator(
new ParabolicSar(),
new CandleSeriesIndicatorSource(_series, candle => candle.ClosePrice));
В стратегии правило Code
_series
.WhenCandlesFinished()
.Do(OnFinishCandle)
.Apply(this);
Обработчик Code
private void OnFinishCandle(Candle candle)
{
if(_tokenSar.Indicator.IsFormed)
{
var value = indicatorManager.Container.GetValue(_tokenSar, 0).Second.GetValue<decimal>();
this.AddInfoLog(string.Format("Свечка закончена. OpenTime = {0}, State = {1} , parabolic = {2}", candle.OpenTime, candle.State, value));
}
}
Лог Code
16:48:29.853 | | MS_RIU2@RTS_SPBFUT00881 | Свечка закончена. OpenTime = 15.06.2012 23:33:00, State = Finished , parabolic = 133651,213120
16:48:29.858 | | MS_RIU2@RTS_SPBFUT00881 | Свечка закончена. OpenTime = 15.06.2012 23:34:00, State = Finished , parabolic = 133636,14033280
16:48:29.865 | | MS_RIU2@RTS_SPBFUT00881 | Свечка закончена. OpenTime = 15.06.2012 23:35:00, State = Finished , parabolic = 133621,9719128320
16:48:29.871 | | MS_RIU2@RTS_SPBFUT00881 | Свечка закончена. OpenTime = 15.06.2012 23:36:00, State = Finished , parabolic = 133608,653598062080
16:48:29.881 | | MS_RIU2@RTS_SPBFUT00881 | Свечка закончена. OpenTime = 15.06.2012 23:37:00, State = Finished , parabolic = 133596,13438217835520
16:48:29.885 | | MS_RIU2@RTS_SPBFUT00881 | Свечка закончена. OpenTime = 15.06.2012 23:38:00, State = Finished , parabolic = 133584,3663192476538880
16:48:29.891 | | MS_RIU2@RTS_SPBFUT00881 | Свечка закончена. OpenTime = 15.06.2012 23:39:00, State = Finished , parabolic = 133573,304340092794654720
16:48:29.899 | | MS_RIU2@RTS_SPBFUT00881 | Свечка закончена. OpenTime = 15.06.2012 23:40:00, State = Finished , parabolic = 133562,90607968722697543680
16:48:29.910 | | MS_RIU2@RTS_SPBFUT00881 | Свечка закончена. OpenTime = 15.06.2012 23:41:00, State = Finished , parabolic = 133546,6735933122488174018560
16:48:29.916 | | MS_RIU2@RTS_SPBFUT00881 | Свечка закончена. OpenTime = 15.06.2012 23:42:00, State = Finished , parabolic = 133360
16:48:29.928 | | MS_RIU2@RTS_SPBFUT00881 | Свечка закончена. OpenTime = 15.06.2012 23:43:00, State = Finished , parabolic = 133364,40
16:48:29.935 | | MS_RIU2@RTS_SPBFUT00881 | Свечка закончена. OpenTime = 15.06.2012 23:44:00, State = Finished , parabolic = 133373,4240
16:48:29.948 | | MS_RIU2@RTS_SPBFUT00881 | Свечка закончена. OpenTime = 15.06.2012 23:45:00, State = Finished , parabolic = 133382,087040
16:48:29.965 | | MS_RIU2@RTS_SPBFUT00881 | Свечка закончена. OpenTime = 15.06.2012 23:46:00, State = Finished , parabolic = 133390,40355840
16:48:29.985 | | MS_RIU2@RTS_SPBFUT00881 | Свечка закончена. OpenTime = 15.06.2012 23:47:00, State = Finished , parabolic = 133405,3793448960
16:48:29.997 | | MS_RIU2@RTS_SPBFUT00881 | Свечка закончена. OpenTime = 15.06.2012 23:48:00, State = Finished , parabolic = 133415
S# - OpenTime = 23:48:00, parabolic = 133415 Quik - 23:48 133415 48 минута, т.к. последняя свечка в 23:49 не закрылась(последний тик в 23:49:49)
|