From b883bed62a0f15d82cbae46cd8219b6c8bda138c Mon Sep 17 00:00:00 2001 From: Robert Davey Date: Sat, 31 Dec 2022 12:07:21 +0000 Subject: [PATCH] Remove volume mean lookahead Add a rolling example to fix the backtesting lookahead, and add a note that the original code would be fine for dry/live use. --- user_data/strategies/Strategy004.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/user_data/strategies/Strategy004.py b/user_data/strategies/Strategy004.py index 633e629..45b331c 100644 --- a/user_data/strategies/Strategy004.py +++ b/user_data/strategies/Strategy004.py @@ -103,8 +103,11 @@ class Strategy004(IStrategy): # EMA - Exponential Moving Average dataframe['ema5'] = ta.EMA(dataframe, timeperiod=5) - - dataframe['mean-volume'] = dataframe['volume'].mean() + + # get the rolling volume mean for the last hour (12x5) + # Note: dataframe['volume'].mean() uses the whole dataframe in + # backtesting hence will have lookahead, but would be fine for dry/live use + dataframe['mean-volume'] = dataframe['volume'].rolling(12).mean() return dataframe