Browse Source

Closed trades: rebalance

master
Denis Tereshkin 9 years ago
parent
commit
57a1bf202c
  1. 4
      forms.py
  2. 1
      templates/dashboard/closed_trades.html
  3. 1
      urls.py
  4. 14
      views.py

4
forms.py

@ -26,6 +26,6 @@ class ClosedTradeFilterForm(forms.Form): @@ -26,6 +26,6 @@ class ClosedTradeFilterForm(forms.Form):
super().__init__(*args, **kwargs)
all_accounts, all_strategies = get_all_accounts_and_strategies()
self.fields['accounts'] = forms.MultipleChoiceField(choices=zip(list(all_accounts), list(all_accounts)))
self.fields['strategies'] = forms.MultipleChoiceField(choices=zip(list(all_strategies), list(all_strategies)))
self.fields['accounts'] = forms.MultipleChoiceField(choices=zip(list(all_accounts), list(all_accounts)), required=False)
self.fields['strategies'] = forms.MultipleChoiceField(choices=zip(list(all_strategies), list(all_strategies)), required=False)

1
templates/dashboard/closed_trades.html

@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
<div class="panel panel-default">
<div class="panel-header">
<a href="#closed_trades_filter_form" role="button" data-toggle="collapse">Apply filter...</a>
<a href="{% url 'rebalance_closed_trades' %}" class="pull-right">Rebalance...</a>
</div>
<div class="panel-body panel-collapse collapse" id="closed_trades_filter_form">
<form action="{% url 'closed_trades_index' %}" method="GET">

1
urls.py

@ -11,4 +11,5 @@ urlpatterns = [ @@ -11,4 +11,5 @@ urlpatterns = [
url(r'^add_trade/$', views.add_trade, name='add_trade'),
url(r'^delete_trade/(?P<trade_id>[^/]+)$', views.delete_trade, name='delete_trade'),
url(r'^closed_trades/$', views.closed_trades_index, name='closed_trades_index'),
url(r'^rebalance_closed_trades/$', views.rebalance_closed_trades, name='rebalance_closed_trades'),
]

14
views.py

@ -160,6 +160,7 @@ def aggregate_unbalanced_trades(): @@ -160,6 +160,7 @@ def aggregate_unbalanced_trades():
def closed_trades_index(request):
aggregate_unbalanced_trades()
form = ClosedTradeFilterForm(request.GET)
if form.is_valid():
d = form.cleaned_data
@ -177,10 +178,21 @@ def closed_trades_index(request): @@ -177,10 +178,21 @@ def closed_trades_index(request):
closed_trades = ClosedTrade.objects.all()
form = ClosedTradeFilterForm()
aggregate_unbalanced_trades()
closed_trades = closed_trades.order_by('-entryTime')
template = loader.get_template('dashboard/closed_trades.html')
context = {
'closed_trades' : closed_trades,
'closed_trades_filter_form' : form
}
return HttpResponse(template.render(context, request))
@transaction.atomic
def do_rebalance():
ClosedTrade.objects.all().delete()
Trade.objects.all().update(balanced=False)
def rebalance_closed_trades(request):
do_rebalance()
return HttpResponseRedirect(reverse('closed_trades_index'))

Loading…
Cancel
Save