diff --git a/templates/dashboard/closed_trades.html b/templates/dashboard/closed_trades.html
index cc2ac6e..6e273f9 100644
--- a/templates/dashboard/closed_trades.html
+++ b/templates/dashboard/closed_trades.html
@@ -4,6 +4,7 @@
{% load mathfilters %}
{% block content %}
+
+
+
|
@@ -39,5 +42,42 @@
{% endfor %}
+
{% endblock %}
diff --git a/views.py b/views.py
index a291893..bc6ce84 100644
--- a/views.py
+++ b/views.py
@@ -158,6 +158,25 @@ def aggregate_unbalanced_trades():
tr.balanced = True
tr.save()
+def make_cumulative_profits(closed_trades):
+ result = {}
+ for trade in closed_trades:
+ try:
+ result[trade.account]['value'] += trade.profit
+ except KeyError:
+ result[trade.account] = { 'name' : trade.account,
+ 'value' : trade.profit,
+ 'elements' : [] }
+
+ element = {'year' : trade.exitTime.year,
+ 'month' : trade.exitTime.month,
+ 'day' : trade.exitTime.day,
+ 'hour' : trade.exitTime.hour,
+ 'minute' : trade.exitTime.minute,
+ 'second' : trade.exitTime.second,
+ 'value' : result[trade.account]['value']}
+ result[trade.account]['elements'].append(element)
+ return result
def closed_trades_index(request):
aggregate_unbalanced_trades()
@@ -178,12 +197,15 @@ def closed_trades_index(request):
closed_trades = ClosedTrade.objects.all()
form = ClosedTradeFilterForm()
- closed_trades = closed_trades.order_by('-entryTime')
+ closed_trades = closed_trades.order_by('-exitTime')
+
+ cum_profits = make_cumulative_profits(closed_trades)
template = loader.get_template('dashboard/closed_trades.html')
context = {
'closed_trades' : closed_trades,
- 'closed_trades_filter_form' : form
+ 'closed_trades_filter_form' : form,
+ 'cumulative_profits' : cum_profits
}
return HttpResponse(template.render(context, request))