From 9d6abf3164566e6c41af7e449794a2a147ed4201 Mon Sep 17 00:00:00 2001 From: Alexander Zobnin Date: Fri, 29 Apr 2022 14:44:26 +0300 Subject: [PATCH] Fix EMA function crash when first point is null --- pkg/timeseries/moving_average.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkg/timeseries/moving_average.go b/pkg/timeseries/moving_average.go index 12c93eb..23788f9 100644 --- a/pkg/timeseries/moving_average.go +++ b/pkg/timeseries/moving_average.go @@ -77,8 +77,11 @@ func (ts TimeSeries) ExponentialMovingAverage(an float64) TimeSeries { var a float64 var n int ema := []TimePoint{ts[0]} - emaPrev := *ts[0].Value var emaCurrent float64 + var emaPrev float64 = 0 + if ts[0].Value != nil { + emaPrev = *ts[0].Value + } if an > 1 { // Calculate a from window size