I am coding a strategy to enter positions on a list of stocks entering on a 1 minute timeframe but with rules that also use daily values. The list of stocks changes every day.
How do I calculate a 20 day moving average of turnover SMA(Close * Volume,20) in a daily time frame that I can access in 1 minute time frame for each stock.
I got this far:
else if (State == State.Configure) { ClearOutputWindow(); AddDataSeries(Data.BarsPeriodType.Day, 1); AddDataSeries("AAL", Data.BarsPeriodType.Minute, 1); AddDataSeries("AAL", Data.BarsPeriodType.Day, 1); AddDataSeries("AAPL", Data.BarsPeriodType.Minute, 1); AddDataSeries("AAPL", Data.BarsPeriodType.Day, 1); AddDataSeries("ADBE", Data.BarsPeriodType.Minute, 1); AddDataSeries("ADBE", Data.BarsPeriodType.Day, 1); AddDataSeries("ADI", Data.BarsPeriodType.Minute, 1); AddDataSeries("ADI", Data.BarsPeriodType.Day, 1); AddDataSeries("ADP", Data.BarsPeriodType.Minute, 1); AddDataSeries("ADP", Data.BarsPeriodType.Day, 1); AddDataSeries("ADSK", Data.BarsPeriodType.Minute, 1); AddDataSeries("ADSK", Data.BarsPeriodType.Day, 1); AddDataSeries("AKAM", Data.BarsPeriodType.Minute, 1); AddDataSeries("AKAM", Data.BarsPeriodType.Day, 1); } else if (State == State.DataLoaded) { turnover = new Series<double>(this, MaximumBarsLookBack.Infinite); } } protected override void OnBarUpdate() { if (BarsInProgress%2 == 0) { if (CurrentBar < 2000) return; } if (BarsInProgress%2 > 0) { if (CurrentBar < 21) return; } if(BarsInProgress >= 2 && BarsInProgress%2 == 0)//Only run on 1 minute data series { sma5 = SMA(BarsArray[BarsInProgress+1],5)[0];//Yesterdays SMA5 daily turnover[0] = Closes[BarsInProgress+1][0] * Volumes[BarsInProgress+1][0];//Yesterdays turnover }
Thanks.
Numbo
Comment