I'm trying to make a universe that filters stocks based on proximity to an EMA, but when I try to update the indicator it says that the number is too big or too small for a Decimal. I've fixed all the other bugs I've had up to this point on my own, but I have absolutely no clue where to start with this one. This is the code with most of the parts unrelated to the problem stripped out. Any help would be great.

from UniverseTest import EMAProximity
class UglyGreenLeopard(QCAlgorithm):
   def Initialize(self):
       self.SetStartDate(2020, 12, 9)
       self.SetCash(100000)
       self.CustomUniverse = EMAProximity(self, 200)
       self.AddUniverse(self.CustomUniverse.diffSelectCoarse)
       self.AddAlpha(NullAlphaModel())
       self.SetPortfolioConstruction(EqualWeightingPortfolioConstructionModel())
       self.SetExecution(ImmediateExecutionModel())
   def OnData(self, data):
       pass
class EMAProximity():
   def __init__(self, algorithm, EMALength,):
       self.algorithm = algorithm
       #length of the slow EMA
       self.EMALength = EMALength
   
   def diffSelectCoarse(self, coarse):
       #This function takes the coarse data and creates an EMA for each stock
       #it then checks to se if the close is within the specified pecentage range of the EMA
       for c in coarse:
           EMA = ExponentialMovingAverage(200, Resolution.Daily)
           history = self.algorithm.History(c.Symbol, self.EMALength, Resolution.Daily)
           for x in history.itertuples():
               EMA.Update(x.Index[1], x.close)
       return Universe.Unchanged