I am using this code to get data from a TEMA and add it to a rolling window of data.

TripleExponentialMovingAverage _tema; public override void Initialize() { //Start and End Date range for the backtest: SetStartDate(2015, 1, 1); UniverseSettings.Leverage = 0; SetEndDate(DateTime.Now.Date.AddDays(-1)); //Cash allocation SetCash(25000); SetBrokerageModel(BrokerageName.FxcmBrokerage); //AddForex("EURUSD", Resolution.Hour, Market.FXCM); AddSecurity(SecurityType.Forex,"EURUSD", Resolution.Hour); var hourlyConsolidator = new TradeBarConsolidator(TimeSpan.FromHours(30)); hourlyConsolidator.DataConsolidated += OnDataHourly; SubscriptionManager.AddConsolidator("EURUSD", hourlyConsolidator); } //hourly data handler private void OnDataHourly(object sender, TradeBar consolidated) { _eurusdHourly = consolidated; var tema = TEMA("EURUSD", 17, Resolution.Hour); } public class TEMAState { public readonly decimal Current; public TEMAState(TripleExponentialMovingAverage tema) { Current = _tema.ComputeNextValue("EURUSD", 17, Resolution.Hour); } }

I get an error for "Current = _tema.ComputeNextValue("EURUSD", 17, Resolution.Hour);"

"An object reference is required for a non-static field, method, or property, 'BasicTemplateAlgorithm._tema' "

Does anyone have any ideas to get what I want done?

 

 

 

Author