Здравствуйте. Что такого адского в моем коде, что вызывает вот это:
System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в SmartQuant.Indicators.SAR.Calculate(Int32 index) в SmartQuant.Indicators.Indicator.Calculate() в SmartQuant.Indicators.Indicator.OnInputItemAdded2(Object sender, DateTimeEventArgs EventArgs) в SmartQuant.Series.TimeSeries.EmitItemAdded(DateTime dateTime) в SmartQuant.Indicators.Indicator.Add(DateTime DateTime, Double Data) в SmartQuant.Indicators.EMA.Calculate(Int32 index) в SmartQuant.Indicators.Indicator.Calculate() в SmartQuant.Indicators.Indicator.OnInputItemAdded2(Object sender, DateTimeEventArgs EventArgs) в SmartQuant.Series.TimeSeries.EmitItemAdded(DateTime dateTime) в SmartQuant.Series.BarSeries.Add(Bar bar) в SmartQuant.Instruments.BarSeriesList.l9GsJ1Y3L(Instrument , Bar ) в SmartQuant.Instruments.DataManager.FXeMVYXvd(Object , BarEventArgs ) в SmartQuant.Providers.ProviderManager.donsPjTgF5(Object , BarEventArgs ) в SmartQuant.Providers.BarEventHandler.Invoke(Object sender, BarEventArgs args) в SmartQuant.Simulation.SimulationDataProvider.oB8NQOfhqM(IFIXInstrument , Bar ) в SmartQuant.Simulation.SimulationDataProvider.QGYNAiGibJ(SeriesObjectEventArgs ) в SmartQuant.Simulation.SeriesObjectEventHandler.Invoke(SeriesObjectEventArgs args) в SmartQuant.Simulation.Simulator.dEG48R9xls(IDataSeries , IDataObject ) в SmartQuant.Simulation.Simulator.Asx4Vq8104() в System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) в System.Threading.ThreadHelper.ThreadStart() ___________________________________ вот мой бедный код:
using System; using System.Drawing;
using OpenQuant.API; using OpenQuant.API.Indicators;
public class MyStrategy : Strategy { EMA ema; int emaL = 9; SAR sar; public override void OnStrategyStart() { ema = new EMA(Bars, emaL); sar = new SAR(ema, 0.2, 0.001, 0.02); Draw(sar, 0); }
public override void OnBar(Bar bar) { if(ema.Count < emaL) return; } }
Кстати не могу обновиться до 13 версии. Лицензионнно!
|