More order details available
This commit is contained in:
parent
6463460521
commit
61fcad96d4
@ -76,10 +76,12 @@
|
||||
<Properties>
|
||||
<Property name="autoCreateRowSorter" type="boolean" value="true"/>
|
||||
<Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor">
|
||||
<Table columnCount="5" rowCount="3">
|
||||
<Table columnCount="7" rowCount="3">
|
||||
<Column editable="false" title="ID" type="java.lang.Long"/>
|
||||
<Column editable="false" title="Type" type="java.lang.String"/>
|
||||
<Column editable="false" title="Limit" type="java.lang.Double"/>
|
||||
<Column editable="false" title="Vol. Executed" type="java.lang.Double"/>
|
||||
<Column editable="false" title="Av. Price" type="java.lang.Double"/>
|
||||
<Column editable="false" title="Volume" type="java.lang.Double"/>
|
||||
<Column editable="false" title="Status" type="java.lang.String"/>
|
||||
</Table>
|
||||
|
@ -71,8 +71,10 @@ public class OpenOrdersList extends javax.swing.JPanel {
|
||||
model.setValueAt(((Order) o).getType().toString(), row, 1);
|
||||
|
||||
model.setValueAt(((Order) o).getLimit(), row, 2);
|
||||
model.setValueAt(((Order) o).getVolume(), row, 3);
|
||||
model.setValueAt(((Order) o).getOrderStatus().toString(), row, 4);
|
||||
model.setValueAt(((Order) o).getExecuted(), row, 3);
|
||||
model.setValueAt(((Order) o).getAvaragePrice(), row, 4);
|
||||
model.setValueAt(((Order) o).getInitialVolume(), row, 5);
|
||||
model.setValueAt(((Order) o).getOrderStatus().toString(), row, 6);
|
||||
row++;
|
||||
}
|
||||
this.table.getRowSorter().allRowsChanged();
|
||||
@ -142,19 +144,19 @@ public class OpenOrdersList extends javax.swing.JPanel {
|
||||
table.setAutoCreateRowSorter(true);
|
||||
table.setModel(new javax.swing.table.DefaultTableModel(
|
||||
new Object [][] {
|
||||
{null, null, null, null, null},
|
||||
{null, null, null, null, null},
|
||||
{null, null, null, null, null}
|
||||
{null, null, null, null, null, null, null},
|
||||
{null, null, null, null, null, null, null},
|
||||
{null, null, null, null, null, null, null}
|
||||
},
|
||||
new String [] {
|
||||
"ID", "Type", "Limit", "Volume", "Status"
|
||||
"ID", "Type", "Limit", "Vol. Executed", "Av. Price", "Volume", "Status"
|
||||
}
|
||||
) {
|
||||
Class[] types = new Class [] {
|
||||
java.lang.Long.class, java.lang.String.class, java.lang.Double.class, java.lang.Double.class, java.lang.String.class
|
||||
java.lang.Long.class, java.lang.String.class, java.lang.Double.class, java.lang.Double.class, java.lang.Double.class, java.lang.Double.class, java.lang.String.class
|
||||
};
|
||||
boolean[] canEdit = new boolean [] {
|
||||
false, false, false, false, false
|
||||
false, false, false, false, false, false, false
|
||||
};
|
||||
|
||||
public Class getColumnClass(int columnIndex) {
|
||||
|
@ -25,6 +25,7 @@
|
||||
*/
|
||||
package gui;
|
||||
|
||||
import gui.tools.NummericCellRenderer;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
@ -106,7 +107,9 @@ public class TraderListPanel extends javax.swing.JPanel {
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
list.getColumnModel().getColumn(2).setCellRenderer(new NummericCellRenderer(3));
|
||||
list.getColumnModel().getColumn(3).setCellRenderer(new NummericCellRenderer(0));
|
||||
list.getColumnModel().getColumn(4).setCellRenderer(new NummericCellRenderer(3));
|
||||
timer.schedule(updater, 0, 1000);
|
||||
|
||||
}
|
||||
|
@ -299,10 +299,15 @@ public class Exchange {
|
||||
OrderType type;
|
||||
private double limit;
|
||||
private double volume;
|
||||
|
||||
|
||||
private final double initial_volume;
|
||||
private final long id;
|
||||
private final long created;
|
||||
|
||||
private final Account account;
|
||||
|
||||
double cost;
|
||||
|
||||
Order(Account account, OrderType type, double volume, double limit) {
|
||||
id = order_id.getNext();
|
||||
@ -313,6 +318,7 @@ public class Exchange {
|
||||
this.initial_volume = this.volume;
|
||||
this.created = timer.currentTimeMillis();
|
||||
this.status = OrderStatus.OPEN;
|
||||
this.cost=0;
|
||||
}
|
||||
|
||||
public long getID() {
|
||||
@ -338,6 +344,17 @@ public class Exchange {
|
||||
public double getInitialVolume() {
|
||||
return initial_volume;
|
||||
}
|
||||
|
||||
public double getCost(){
|
||||
return cost;
|
||||
}
|
||||
|
||||
public double getAvaragePrice(){
|
||||
double e = getExecuted();
|
||||
if (e<=0)
|
||||
return -1;
|
||||
return cost/e;
|
||||
}
|
||||
|
||||
public Account getAccount() {
|
||||
return account;
|
||||
@ -347,6 +364,9 @@ public class Exchange {
|
||||
return status;
|
||||
}
|
||||
|
||||
public long getCreated(){
|
||||
return created;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -881,6 +901,9 @@ public class Exchange {
|
||||
// Update volume
|
||||
b.volume -= volume;
|
||||
a.volume -= volume;
|
||||
|
||||
b.cost+=price*volume;
|
||||
a.cost+=price*volume;
|
||||
|
||||
removeOrderIfExecuted(a);
|
||||
removeOrderIfExecuted(b);
|
||||
|
Loading…
Reference in New Issue
Block a user