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