mirror of
https://github.com/freqtrade/freqtrade.git
synced 2024-11-10 18:23:55 +00:00
Merge pull request #244 from jblestang/fix_daily_profit
Fixing daily profit,
This commit is contained in:
commit
145583f0b7
|
@ -1,12 +1,12 @@
|
|||
import logging
|
||||
import re
|
||||
from decimal import Decimal
|
||||
from datetime import timedelta, date, datetime
|
||||
from datetime import timedelta, datetime
|
||||
from typing import Callable, Any
|
||||
|
||||
import arrow
|
||||
from pandas import DataFrame
|
||||
from sqlalchemy import and_, func, text, between
|
||||
from sqlalchemy import and_, func, text
|
||||
from tabulate import tabulate
|
||||
from telegram import ParseMode, Bot, Update, ReplyKeyboardMarkup
|
||||
from telegram.error import NetworkError, TelegramError
|
||||
|
@ -220,29 +220,28 @@ def _daily(bot: Bot, update: Update) -> None:
|
|||
:param update: message update
|
||||
:return: None
|
||||
"""
|
||||
today = datetime.utcnow().toordinal()
|
||||
today = datetime.utcnow().date()
|
||||
profit_days = {}
|
||||
|
||||
try:
|
||||
timescale = int(update.message.text.replace('/daily', '').strip())
|
||||
except (TypeError, ValueError):
|
||||
timescale = 5
|
||||
timescale = 7
|
||||
|
||||
if not (isinstance(timescale, int) and timescale > 0):
|
||||
send_msg('*Daily [n]:* `must be an integer greater than 0`', bot=bot)
|
||||
return
|
||||
|
||||
for day in range(0, timescale):
|
||||
# need to query between day+1 and day-1
|
||||
nextdate = date.fromordinal(today - day + 1)
|
||||
prevdate = date.fromordinal(today - day - 1)
|
||||
profitday = today - timedelta(days=day)
|
||||
trades = Trade.query \
|
||||
.filter(Trade.is_open.is_(False)) \
|
||||
.filter(between(Trade.close_date, prevdate, nextdate)) \
|
||||
.filter(Trade.close_date >= profitday)\
|
||||
.filter(Trade.close_date < (profitday + timedelta(days=1)))\
|
||||
.order_by(Trade.close_date)\
|
||||
.all()
|
||||
curdayprofit = sum(trade.calc_profit() for trade in trades)
|
||||
profit_days[date.fromordinal(today - day)] = format(curdayprofit, '.8f')
|
||||
profit_days[profitday] = format(curdayprofit, '.8f')
|
||||
|
||||
stats = [
|
||||
[
|
||||
|
|
Loading…
Reference in New Issue
Block a user