diff --git a/freqtrade/aws/backtesting_lambda.py b/freqtrade/aws/backtesting_lambda.py index 0099c7143..954cfe526 100644 --- a/freqtrade/aws/backtesting_lambda.py +++ b/freqtrade/aws/backtesting_lambda.py @@ -57,18 +57,18 @@ def backtest(event, context): ) - today = datetime.datetime.today() - yesterday = today - datetime.timedelta(days=1) + till = datetime.datetime.today() + fromDate = till - datetime.timedelta(days=30) if 'from' in event['body']: - yesterday = datetime.datetime.strptime(event['body']['from'], '%Y%m%d') + fromDate = datetime.datetime.strptime(event['body']['from'], '%Y%m%d') if 'till' in event['body']: - today = datetime.datetime.strptime(event['body']['till'], '%Y%m%d') + till = datetime.datetime.strptime(event['body']['till'], '%Y%m%d') try: if "Items" in response and len(response['Items']) > 0: - print("backtesting from {} till {} for {} with {} vs {}".format(yesterday, today, name, + print("backtesting from {} till {} for {} with {} vs {}".format(fromDate, till, name, event['body'][ 'stake_currency'], event['body']['asset'])) @@ -111,20 +111,17 @@ def backtest(event, context): 'realistic_simulation': True, "loglevel": logging.DEBUG, "strategy": "{}:{}".format(name, content), - "timerange": "{}-{}".format(yesterday.strftime('%Y%m%d'), today.strftime('%Y%m%d')), + "timerange": "{}-{}".format(fromDate.strftime('%Y%m%d'), till.strftime('%Y%m%d')), "refresh_pairs": True } - print("initialized backtesting") backtesting = Backtesting(configuration) result = backtesting.start() - print("finished test") - print(result) result_data = [] for index, row in result.iterrows(): data = { - "id": "{}.{}:{}".format(user, name, row['currency']), + "id": "{}.{}:{}".format(user, name, row['currency'].upper()), "trade": "{} to {}".format(row['entry'].strftime('%Y-%m-%d %H:%M:%S'), row['exit'].strftime('%Y-%m-%d %H:%M:%S')), "pair": row['currency'], @@ -207,8 +204,12 @@ def cron(event, context): if 'pathParameters' in event: if 'from' in event['pathParameters']: message['from'] = event['pathParameters']['from'] + else: + message['from'] = datetime.datetime.today().strftime('%Y%m%d') if 'till' in event['pathParameters']: message['till'] = event['pathParameters']['till'] + else: + message['till'] = (datetime.datetime.today() - datetime.timedelta(days=30)).strftime('%Y%m%d') serialized = json.dumps(message, use_decimal=True) # submit item to queue for routing to the correct persistence diff --git a/freqtrade/aws/strategy.py b/freqtrade/aws/strategy.py index 9b2e0a42d..03436bf6a 100644 --- a/freqtrade/aws/strategy.py +++ b/freqtrade/aws/strategy.py @@ -301,8 +301,8 @@ def get_trades(event, context): "{}.{}:{}/{}".format( event['pathParameters']['user'], event['pathParameters']['name'], - event['pathParameters']['asset'], - event['pathParameters']['stake'] + event['pathParameters']['asset'].upper(), + event['pathParameters']['stake'].upper() ) ) ) diff --git a/freqtrade/tests/aws/test_backtest.py b/freqtrade/tests/aws/test_backtest.py index 28c050b5d..2a643caa2 100644 --- a/freqtrade/tests/aws/test_backtest.py +++ b/freqtrade/tests/aws/test_backtest.py @@ -188,7 +188,9 @@ class MyFancyTestStrategy(IStrategy): data = get_trades({ 'pathParameters': { 'user': "GCU4LW2XXZW3A3FM2XZJTEJHNWHTWDKY2DIJLCZJ5ULVZ4K7LZ7D23TG", - "name": "MyFancyTestStrategy" + "name": "MyFancyTestStrategy", + "stake": "usdt", + "asset": "ltc" } }, {})['body'] print(data)