From 07a16fec1e7b7798bca289acab2c0451b06c2449 Mon Sep 17 00:00:00 2001 From: Denis Tereshkin Date: Wed, 11 Sep 2019 20:03:39 +0700 Subject: [PATCH] Baraggregator bugfix --- src/ATrade/BarAggregator.hs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/ATrade/BarAggregator.hs b/src/ATrade/BarAggregator.hs index 55c54c0..0829274 100644 --- a/src/ATrade/BarAggregator.hs +++ b/src/ATrade/BarAggregator.hs @@ -204,8 +204,13 @@ handleBar bar = runState $ do lBars %= M.insert (barSecurity bar) series { bsBars = emptyBarFrom bar : (updateBar b bar : bs) } return . Just $ updateBar b bar else do - lBars %= M.insert (barSecurity bar) series { bsBars = bar : b : bs } - return . Just $ b + if barVolume b > 0 + then do + lBars %= M.insert (barSecurity bar) series { bsBars = emptyBarFrom bar : bar : b : bs } + return . Just $ bar + else do + lBars %= M.insert (barSecurity bar) series { bsBars = emptyBarFrom bar : bar : bs } + return . Just $ bar | otherwise -> return Nothing _ -> do lBars %= M.insert (barSecurity bar) series { bsBars = [bar] }