//Universe Code

AddUniverse(coarse =>
{
return (from cf in coarse
// grab th SelectionData instance for this symbol
let avg = _averages.GetOrAdd(cf.Symbol, sym => new SelectionData(fast, intermediate, slow))
// Update returns true when the indicators are ready, so don't accept until they are
where avg.Update(cf.EndTime, cf.AdjustedPrice)
// only pick symbols who have their fast ema over their intermediateema
where avg.Fast > avg.Intermediate*(1 + Tolerance)
//only pick symbolaa who have their intermediate ema over their slow ema
where avg.Intermediate > avg.Slow*(1 + Tolerance)
// prefer symbols with a larger delta by percentage between the two averages
where cf.Price > 10
where cf.Volume > 1000*1000
orderby avg.ScaledDelta descending
// we only need to return the symbol and return 'Count' symbols
select cf.Symbol).Take(Count);
});

//Selection Data

public class SelectionData
{
public readonly ExponentialMovingAverage Fast;
public readonly ExponentialMovingAverage Intermediate;


public SelectionData(int fast, int intermediate)
{
Fast = new ExponentialMovingAverage(fast);
Intermediate = new ExponentialMovingAverage(intermediate);

}

// computes an object score of how much large the fast is than the slow
public decimal ScaledDelta
{
get { return (Fast - Intermediate)/((Fast + Intermediate)/2m); }
}


public bool Update(DateTime time, decimal value)
{
return Fast.Update(time, value) && Intermediate.Update(time, value); // && Slow.Update(time, value);
}
}
}

Trying to create a Universe with EMA, Volume, and Price restrictions as above, but no data is being pumped to OnData.