From 3e12d803e4714592171c5e425554442ee293eb4d Mon Sep 17 00:00:00 2001 From: Denis Tereshkin Date: Wed, 17 Jul 2019 14:40:51 +0700 Subject: [PATCH] Request only given timeframe --- src/ATrade/Driver/Real/QuoteSourceThread.hs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ATrade/Driver/Real/QuoteSourceThread.hs b/src/ATrade/Driver/Real/QuoteSourceThread.hs index 28426df..e33dc2e 100644 --- a/src/ATrade/Driver/Real/QuoteSourceThread.hs +++ b/src/ATrade/Driver/Real/QuoteSourceThread.hs @@ -28,7 +28,7 @@ import System.ZMQ4 hiding (Event) startQuoteSourceThread :: Context -> T.Text -> Strategy c s -> BoundedChan Event -> IORef BarAggregator -> (Tick -> Bool) -> Maybe Int -> IO ThreadId startQuoteSourceThread ctx qsEp strategy eventChan agg tickFilter maybeSourceTimeframe = forkIO $ do tickChan <- newBoundedChan 1000 - bracket (startQuoteSourceClient tickChan tickersList ctx qsEp) + bracket (startQuoteSourceClient tickChan (fmap applyTimeframeSpec tickersList) ctx qsEp) (\qs -> do stopQuoteSourceClient qs debugM "Strategy" "Quotesource client: stop") @@ -59,4 +59,7 @@ startQuoteSourceThread ctx qsEp strategy eventChan agg tickFilter maybeSourceTim (datatype tick /= LastTradePrice || (datatype tick == LastTradePrice && volume tick > 0)) tickersList = fmap code . (tickers . strategyInstanceParams) $ strategy + applyTimeframeSpec t = case maybeSourceTimeframe of + Just tf -> t `T.append` T.pack (":" ++ show tf ++ ";") + Nothing -> t