Browse Source

TradesList: display trade size

master
Denis Tereshkin 7 years ago
parent
commit
b289afd910
  1. 130
      src/nailab/nailab_rc.py
  2. 13
      src/nailab/ui/tradeslistwidget.py
  3. 17
      src/nailab/ui_gen/tradeslistwidget.py
  4. 5
      ui/tradeslistwidget.ui

130
src/nailab/nailab_rc.py

@ -44,65 +44,6 @@ qt_resource_data = b"\ @@ -44,65 +44,6 @@ qt_resource_data = b"\
\xfb\xfe\x84\x40\x1d\x07\x18\x01\x98\x55\x12\x4d\xcf\xcc\x01\x46\
\x04\xea\xf4\x7d\x7f\xc2\x2d\xfa\x05\x0e\x3c\xa3\x06\xde\xce\x5a\
\xc4\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
\x00\x00\x03\x8f\
\x89\
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
\x00\x00\x30\x00\x00\x00\x30\x08\x06\x00\x00\x00\x57\x02\xf9\x87\
\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\
\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x1b\xaf\x00\x00\x1b\xaf\
\x01\x5e\x1a\x91\x1c\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\
\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\
\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x03\x0c\x49\x44\
\x41\x54\x68\x81\xed\x98\x3b\x6f\x13\x41\x14\x85\xcf\xdd\x75\x22\
\x2b\x7e\xc4\x8b\x82\xac\x74\x48\x3c\x44\x8f\x68\x20\x11\x54\x54\
\x54\x48\x20\x90\x22\x85\x9a\x74\x94\xbc\xc4\xa3\x83\x48\xf4\x54\
\x49\x41\x89\x8c\x22\x7e\x40\xc2\x8f\x48\x49\x81\x14\x51\x61\x93\
\x38\xb1\xe3\xd7\x5e\x0a\x6c\x65\xbc\x33\x76\x76\x66\xef\xda\x29\
\xf8\x24\x37\x33\x9e\xdd\x73\x76\xce\x1d\xdf\x35\x31\x33\x6c\xa9\
\x57\x82\x55\xaa\x7a\x1b\xda\x44\x96\x11\x5e\x08\xad\xaf\x07\xf0\
\x66\xf1\xe6\xfe\x63\x87\x85\xf0\x5c\x16\xa1\x45\x2f\x8c\x32\x02\
\xfb\x87\x01\xd0\xee\x51\x36\xff\xc4\x49\x07\x1c\x0c\x1c\x7c\x9b\
\xbf\x4c\x0d\xba\xa4\x4d\xf8\x00\x17\xad\x0d\x34\xbc\xb0\x7b\x7f\
\xf1\xda\x5e\xc3\x76\xe1\x00\x6b\x03\x7e\xd3\xff\x08\x83\x4e\x9e\
\x67\x80\xec\xae\x45\x44\x6b\xf9\xe5\xfa\xae\xad\x06\x15\x3b\x03\
\xdb\x94\xe1\x26\xee\x98\xa6\x38\xb0\xcd\x3e\x6f\x16\x6e\xd4\x36\
\x2c\x17\x69\x58\x19\x38\xa8\x96\x9e\xa3\x43\x33\x9a\x94\x3c\x03\
\xda\xe8\x38\x92\xe5\x5e\xc5\xca\x00\x1d\xd3\x9a\x71\xa2\x64\x95\
\xfd\xc4\xb9\x57\x89\x6d\xe0\xb0\x12\xdc\xa2\x26\x9d\xd7\x26\x66\
\xfa\x3b\x10\x13\x89\xdc\xab\xc4\x36\xc0\x1d\xbc\x37\x8e\x5b\x65\
\x5f\x26\xf7\x2a\xb1\x0c\xfc\xf9\x1a\x94\xa8\xe1\x5d\xd7\x26\xa8\
\x7f\xfa\xc4\x42\x2e\xf7\x2a\xb1\x0c\xf8\x5d\x7c\x40\x4f\x3f\x24\
\xb9\xc8\x80\x1f\xeb\x3e\xa2\xb9\x57\x89\x17\xa1\x63\xef\x91\x69\
\x38\xee\x2f\xaf\x74\xee\x55\x4e\x35\x50\xaf\x04\xab\xd4\x42\x4e\
\x9b\xc8\xf2\xbf\xcf\xa9\xc8\xe7\x5e\xe5\xf4\x1d\x48\xd4\xf7\xa4\
\x93\x7b\x95\xb1\x06\x12\xf6\x3d\xa9\xe5\x5e\x65\xac\x81\x24\x7d\
\x4f\x9a\xb9\x1f\xba\xcf\xc8\xf7\x81\x6d\xca\x1c\xfe\x0c\x1a\xa6\
\xd6\x21\xbc\xd8\xb3\x6c\x1d\x1c\x61\x7a\x53\x5c\xaa\xbd\x1e\xf7\
\x95\x91\x3b\x20\xd7\xf7\x38\x12\x43\x3c\x30\xc6\x80\x50\xdf\xe3\
\x46\x4c\xf1\xc0\x08\x03\x52\x7d\x8f\x13\x16\xe2\x81\x11\x06\x64\
\xfa\x1e\x07\x2c\xc5\x03\x06\x03\x32\x7d\x8f\x03\x0e\xe2\x01\x83\
\x01\xbf\xe7\xad\x27\xec\x7b\xec\x71\x14\x0f\x98\x22\xd4\xc4\x43\
\xe3\x3d\x9c\xfe\x71\x88\x41\x02\xf1\xc0\xb8\xdf\x01\x07\xaa\x9f\
\x16\x5f\xb6\xf6\xe6\xde\x46\xc7\xfd\xb9\x2e\xb2\x4b\xfb\xfa\x82\
\x84\xe2\x01\xd7\xff\x85\x46\x10\x1e\x66\x9e\x9a\xc6\x67\xae\x18\
\xba\x09\x01\xf1\x80\xe0\x0e\x1c\x6d\x95\xcb\xfc\xbb\xfb\x0b\xe1\
\x70\xfd\x70\xc0\xe0\x72\xe4\xf4\x12\x12\x0f\x08\xee\x40\xd8\xee\
\xac\x47\xc5\xc3\x07\x78\x21\x3d\xf1\x80\xa0\x01\x6a\xd2\xbd\xe8\
\x18\x2f\x84\xc3\x27\x97\xb0\x78\x40\xc8\xc0\xc1\x97\x73\x2b\x68\
\x63\x6e\x68\x70\x16\x60\xb5\xed\x48\x41\x3c\x20\x64\xc0\xeb\xe2\
\x59\x74\x8c\xcb\xe1\x49\xcb\x9d\x92\x78\x40\xc0\xc0\xd1\x56\xb9\
\x8c\x06\x5d\x55\xc7\x38\xc7\xe0\x5c\xff\xe9\xa7\x28\x1e\x10\x30\
\xa0\x15\x2f\xe1\xe4\xd4\x49\x59\x3c\x20\x60\x20\x5a\xbc\x5c\x62\
\x60\x16\x13\x11\x0f\x24\x34\xa0\x15\xef\xe0\xd8\x9c\x90\x78\x20\
\xa1\x81\x68\xf1\xf2\x42\x08\x78\x93\x13\x0f\x24\x30\xa0\x15\xef\
\x2c\xc0\xf3\x78\x37\x49\xf1\x40\x02\x03\x5a\xf1\x06\xfc\xb9\xb8\
\x5c\x7b\x25\xa2\xca\x02\x67\x03\x6a\xf1\x72\x81\x77\xf2\x77\xab\
\x2b\x32\x92\xec\x70\x32\xa0\x16\x2f\x17\x78\xa7\xf0\xa0\x7a\x5b\
\x54\x95\x05\x4e\x06\x06\xc5\x3b\x6d\xf1\x80\x43\x3b\x3d\x68\x9b\
\x39\xc7\xdf\xa7\x2d\x1e\x00\x32\xb6\x0b\xc2\x76\x67\x1d\x39\x9c\
\x09\xf1\x80\x43\x84\x88\xf8\xc7\x59\x11\x0f\x08\xbf\x13\x4f\x03\
\xd1\x77\xe2\x69\xf0\xdf\xc0\xb4\xf9\x0b\x47\x70\x6d\x4b\x01\x24\
\x0b\x02\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
\x00\x00\x02\x8f\
\x89\
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
@ -184,6 +125,65 @@ qt_resource_data = b"\ @@ -184,6 +125,65 @@ qt_resource_data = b"\
\xb5\xfa\xdd\xee\xfe\x7f\x35\x28\x0a\x85\xff\x1d\xf8\x02\xd1\xfa\
\xa2\xe7\x75\x3b\xf6\xd5\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\
\x60\x82\
\x00\x00\x03\x8f\
\x89\
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
\x00\x00\x30\x00\x00\x00\x30\x08\x06\x00\x00\x00\x57\x02\xf9\x87\
\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\
\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x1b\xaf\x00\x00\x1b\xaf\
\x01\x5e\x1a\x91\x1c\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\
\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\
\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x03\x0c\x49\x44\
\x41\x54\x68\x81\xed\x98\x3b\x6f\x13\x41\x14\x85\xcf\xdd\x75\x22\
\x2b\x7e\xc4\x8b\x82\xac\x74\x48\x3c\x44\x8f\x68\x20\x11\x54\x54\
\x54\x48\x20\x90\x22\x85\x9a\x74\x94\xbc\xc4\xa3\x83\x48\xf4\x54\
\x49\x41\x89\x8c\x22\x7e\x40\xc2\x8f\x48\x49\x81\x14\x51\x61\x93\
\x38\xb1\xe3\xd7\x5e\x0a\x6c\x65\xbc\x33\x76\x76\x66\xef\xda\x29\
\xf8\x24\x37\x33\x9e\xdd\x73\x76\xce\x1d\xdf\x35\x31\x33\x6c\xa9\
\x57\x82\x55\xaa\x7a\x1b\xda\x44\x96\x11\x5e\x08\xad\xaf\x07\xf0\
\x66\xf1\xe6\xfe\x63\x87\x85\xf0\x5c\x16\xa1\x45\x2f\x8c\x32\x02\
\xfb\x87\x01\xd0\xee\x51\x36\xff\xc4\x49\x07\x1c\x0c\x1c\x7c\x9b\
\xbf\x4c\x0d\xba\xa4\x4d\xf8\x00\x17\xad\x0d\x34\xbc\xb0\x7b\x7f\
\xf1\xda\x5e\xc3\x76\xe1\x00\x6b\x03\x7e\xd3\xff\x08\x83\x4e\x9e\
\x67\x80\xec\xae\x45\x44\x6b\xf9\xe5\xfa\xae\xad\x06\x15\x3b\x03\
\xdb\x94\xe1\x26\xee\x98\xa6\x38\xb0\xcd\x3e\x6f\x16\x6e\xd4\x36\
\x2c\x17\x69\x58\x19\x38\xa8\x96\x9e\xa3\x43\x33\x9a\x94\x3c\x03\
\xda\xe8\x38\x92\xe5\x5e\xc5\xca\x00\x1d\xd3\x9a\x71\xa2\x64\x95\
\xfd\xc4\xb9\x57\x89\x6d\xe0\xb0\x12\xdc\xa2\x26\x9d\xd7\x26\x66\
\xfa\x3b\x10\x13\x89\xdc\xab\xc4\x36\xc0\x1d\xbc\x37\x8e\x5b\x65\
\x5f\x26\xf7\x2a\xb1\x0c\xfc\xf9\x1a\x94\xa8\xe1\x5d\xd7\x26\xa8\
\x7f\xfa\xc4\x42\x2e\xf7\x2a\xb1\x0c\xf8\x5d\x7c\x40\x4f\x3f\x24\
\xb9\xc8\x80\x1f\xeb\x3e\xa2\xb9\x57\x89\x17\xa1\x63\xef\x91\x69\
\x38\xee\x2f\xaf\x74\xee\x55\x4e\x35\x50\xaf\x04\xab\xd4\x42\x4e\
\x9b\xc8\xf2\xbf\xcf\xa9\xc8\xe7\x5e\xe5\xf4\x1d\x48\xd4\xf7\xa4\
\x93\x7b\x95\xb1\x06\x12\xf6\x3d\xa9\xe5\x5e\x65\xac\x81\x24\x7d\
\x4f\x9a\xb9\x1f\xba\xcf\xc8\xf7\x81\x6d\xca\x1c\xfe\x0c\x1a\xa6\
\xd6\x21\xbc\xd8\xb3\x6c\x1d\x1c\x61\x7a\x53\x5c\xaa\xbd\x1e\xf7\
\x95\x91\x3b\x20\xd7\xf7\x38\x12\x43\x3c\x30\xc6\x80\x50\xdf\xe3\
\x46\x4c\xf1\xc0\x08\x03\x52\x7d\x8f\x13\x16\xe2\x81\x11\x06\x64\
\xfa\x1e\x07\x2c\xc5\x03\x06\x03\x32\x7d\x8f\x03\x0e\xe2\x01\x83\
\x01\xbf\xe7\xad\x27\xec\x7b\xec\x71\x14\x0f\x98\x22\xd4\xc4\x43\
\xe3\x3d\x9c\xfe\x71\x88\x41\x02\xf1\xc0\xb8\xdf\x01\x07\xaa\x9f\
\x16\x5f\xb6\xf6\xe6\xde\x46\xc7\xfd\xb9\x2e\xb2\x4b\xfb\xfa\x82\
\x84\xe2\x01\xd7\xff\x85\x46\x10\x1e\x66\x9e\x9a\xc6\x67\xae\x18\
\xba\x09\x01\xf1\x80\xe0\x0e\x1c\x6d\x95\xcb\xfc\xbb\xfb\x0b\xe1\
\x70\xfd\x70\xc0\xe0\x72\xe4\xf4\x12\x12\x0f\x08\xee\x40\xd8\xee\
\xac\x47\xc5\xc3\x07\x78\x21\x3d\xf1\x80\xa0\x01\x6a\xd2\xbd\xe8\
\x18\x2f\x84\xc3\x27\x97\xb0\x78\x40\xc8\xc0\xc1\x97\x73\x2b\x68\
\x63\x6e\x68\x70\x16\x60\xb5\xed\x48\x41\x3c\x20\x64\xc0\xeb\xe2\
\x59\x74\x8c\xcb\xe1\x49\xcb\x9d\x92\x78\x40\xc0\xc0\xd1\x56\xb9\
\x8c\x06\x5d\x55\xc7\x38\xc7\xe0\x5c\xff\xe9\xa7\x28\x1e\x10\x30\
\xa0\x15\x2f\xe1\xe4\xd4\x49\x59\x3c\x20\x60\x20\x5a\xbc\x5c\x62\
\x60\x16\x13\x11\x0f\x24\x34\xa0\x15\xef\xe0\xd8\x9c\x90\x78\x20\
\xa1\x81\x68\xf1\xf2\x42\x08\x78\x93\x13\x0f\x24\x30\xa0\x15\xef\
\x2c\xc0\xf3\x78\x37\x49\xf1\x40\x02\x03\x5a\xf1\x06\xfc\xb9\xb8\
\x5c\x7b\x25\xa2\xca\x02\x67\x03\x6a\xf1\x72\x81\x77\xf2\x77\xab\
\x2b\x32\x92\xec\x70\x32\xa0\x16\x2f\x17\x78\xa7\xf0\xa0\x7a\x5b\
\x54\x95\x05\x4e\x06\x06\xc5\x3b\x6d\xf1\x80\x43\x3b\x3d\x68\x9b\
\x39\xc7\xdf\xa7\x2d\x1e\x00\x32\xb6\x0b\xc2\x76\x67\x1d\x39\x9c\
\x09\xf1\x80\x43\x84\x88\xf8\xc7\x59\x11\x0f\x08\xbf\x13\x4f\x03\
\xd1\x77\xe2\x69\xf0\xdf\xc0\xb4\xf9\x0b\x47\x70\x6d\x4b\x01\x24\
\x0b\x02\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
"
qt_resource_name = b"\
@ -199,10 +199,6 @@ qt_resource_name = b"\ @@ -199,10 +199,6 @@ qt_resource_name = b"\
\x04\xca\x57\xa7\
\x00\x6e\
\x00\x65\x00\x77\x00\x2e\x00\x70\x00\x6e\x00\x67\
\x00\x0b\
\x0c\x81\x80\x07\
\x00\x65\
\x00\x78\x00\x65\x00\x63\x00\x75\x00\x74\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\
\x00\x08\
\x06\xc1\x59\x87\
\x00\x6f\
@ -211,6 +207,10 @@ qt_resource_name = b"\ @@ -211,6 +207,10 @@ qt_resource_name = b"\
\x08\xc8\x58\x67\
\x00\x73\
\x00\x61\x00\x76\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\
\x00\x0b\
\x0c\x81\x80\x07\
\x00\x65\
\x00\x78\x00\x65\x00\x63\x00\x75\x00\x74\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\
"
qt_resource_struct = b"\
@ -218,9 +218,9 @@ qt_resource_struct = b"\ @@ -218,9 +218,9 @@ qt_resource_struct = b"\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\
\x00\x00\x00\x0e\x00\x02\x00\x00\x00\x04\x00\x00\x00\x03\
\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x05\xa5\
\x00\x00\x00\x64\x00\x00\x00\x00\x00\x01\x00\x00\x08\x38\
\x00\x00\x00\x32\x00\x00\x00\x00\x00\x01\x00\x00\x02\x12\
\x00\x00\x00\x48\x00\x00\x00\x00\x00\x01\x00\x00\x04\xa5\
\x00\x00\x00\x5e\x00\x00\x00\x00\x00\x01\x00\x00\x06\xdc\
"
def qInitResources():

13
src/nailab/ui/tradeslistwidget.py

@ -27,10 +27,11 @@ class TradesListWidget(QtWidgets.QWidget): @@ -27,10 +27,11 @@ class TradesListWidget(QtWidgets.QWidget):
else:
item.setText(0, "S")
item.setText(1, trade["security"])
item.setText(2, str(trade["entry_time"]))
item.setText(3, str(trade["entry_price"]))
item.setText(4, str(trade["exit_time"]))
item.setText(5, str(trade["exit_price"]))
item.setText(6, str(trade["pnl"]))
item.setText(1, str(trade["size"]))
item.setText(2, trade["security"])
item.setText(3, str(trade["entry_time"]))
item.setText(4, "{:.2f}".format(trade["entry_price"]))
item.setText(5, str(trade["exit_time"]))
item.setText(6, "{:.2f}".format(trade["exit_price"]))
item.setText(7, "{:.2f}".format(trade["pnl"]))

17
src/nailab/ui_gen/tradeslistwidget.py

@ -1,8 +1,8 @@ @@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'ui\tradeslistwidget.ui'
# Form implementation generated from reading ui file 'ui/tradeslistwidget.ui'
#
# Created by: PyQt5 UI code generator 5.11.3
# Created by: PyQt5 UI code generator 5.5.1
#
# WARNING! All changes made in this file will be lost!
@ -26,10 +26,11 @@ class Ui_TradesListWidget(object): @@ -26,10 +26,11 @@ class Ui_TradesListWidget(object):
_translate = QtCore.QCoreApplication.translate
TradesListWidget.setWindowTitle(_translate("TradesListWidget", "Form"))
self.trades.headerItem().setText(0, _translate("TradesListWidget", "D"))
self.trades.headerItem().setText(1, _translate("TradesListWidget", "Security"))
self.trades.headerItem().setText(2, _translate("TradesListWidget", "Entry time"))
self.trades.headerItem().setText(3, _translate("TradesListWidget", "Entry price"))
self.trades.headerItem().setText(4, _translate("TradesListWidget", "Exit time"))
self.trades.headerItem().setText(5, _translate("TradesListWidget", "Exit price"))
self.trades.headerItem().setText(6, _translate("TradesListWidget", "PnL"))
self.trades.headerItem().setText(1, _translate("TradesListWidget", "Amount"))
self.trades.headerItem().setText(2, _translate("TradesListWidget", "Security"))
self.trades.headerItem().setText(3, _translate("TradesListWidget", "Entry time"))
self.trades.headerItem().setText(4, _translate("TradesListWidget", "Entry price"))
self.trades.headerItem().setText(5, _translate("TradesListWidget", "Exit time"))
self.trades.headerItem().setText(6, _translate("TradesListWidget", "Exit price"))
self.trades.headerItem().setText(7, _translate("TradesListWidget", "PnL"))

5
ui/tradeslistwidget.ui

@ -33,6 +33,11 @@ @@ -33,6 +33,11 @@
<string>D</string>
</property>
</column>
<column>
<property name="text">
<string>Amount</string>
</property>
</column>
<column>
<property name="text">
<string>Security</string>

Loading…
Cancel
Save