Reformatted and commented code.
This commit is contained in:
parent
ae82904244
commit
8b22549f4d
@ -3,14 +3,22 @@ package StockExchange;
|
||||
public abstract class Order implements Comparable<Order> {
|
||||
|
||||
/**
|
||||
* when
|
||||
* When the order was created
|
||||
*/
|
||||
public long timestamp = 0;
|
||||
|
||||
/**
|
||||
* Number of shares
|
||||
*/
|
||||
public long size;
|
||||
|
||||
/**
|
||||
* Limit price
|
||||
*/
|
||||
public double limit;
|
||||
// long time;
|
||||
double money = 0;
|
||||
// public long shares=0;
|
||||
|
||||
// double money = 0;
|
||||
|
||||
public long id = 0;
|
||||
public Account account = null;
|
||||
|
||||
|
@ -14,41 +14,40 @@ public class RandomTrader extends ThreadedTrader{
|
||||
// my current order
|
||||
private Order myorder = null;
|
||||
|
||||
|
||||
public RandomTrader(Exchange ex, long shares, double money) {
|
||||
account.money = money;
|
||||
account.shares = shares;
|
||||
this.ex = ex;
|
||||
}
|
||||
|
||||
public void DoBuy()
|
||||
{
|
||||
public void DoBuy() {
|
||||
|
||||
if (myorder!=null)
|
||||
if (myorder != null) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (account.money <= 0)
|
||||
if (account.money <= 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
double perc = rand.nextDouble() * 1.0;
|
||||
double lp = ex.lastprice;
|
||||
double limit = lp / 100 * perc + lp;
|
||||
|
||||
|
||||
long size = (int) (account.money / (limit * 1));
|
||||
|
||||
|
||||
myorder = account.Buy(size, limit, ex);
|
||||
return;
|
||||
}
|
||||
|
||||
public void DoSell()
|
||||
{
|
||||
if (myorder!=null)
|
||||
public void DoSell() {
|
||||
if (myorder != null) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (account.shares<=0)
|
||||
if (account.shares <= 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
double perc = rand.nextDouble() * 1.0;
|
||||
double lp = ex.lastprice;
|
||||
@ -56,20 +55,14 @@ public class RandomTrader extends ThreadedTrader{
|
||||
|
||||
long size = (int) (account.shares);
|
||||
|
||||
|
||||
myorder = account.Sell(size, limit, ex);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public void trade() {
|
||||
|
||||
if (myorder != null)
|
||||
{
|
||||
if (myorder != null) {
|
||||
long age = myorder.getAge();
|
||||
if (myorder.status == OrderStatus.executed)
|
||||
{
|
||||
if (myorder.status == OrderStatus.executed) {
|
||||
myorder = null;
|
||||
// System.out.println(name);
|
||||
// System.out.println("----------------------");
|
||||
@ -77,7 +70,6 @@ public class RandomTrader extends ThreadedTrader{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (myorder.getAge() > 10) {
|
||||
//System.out.println("Shall cancel now");
|
||||
//System.out.println(myorder.status);
|
||||
@ -89,11 +81,6 @@ public class RandomTrader extends ThreadedTrader{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// What to do?
|
||||
int action = rand.nextInt(3);
|
||||
/* System.out.print(name);
|
||||
@ -108,19 +95,16 @@ public class RandomTrader extends ThreadedTrader{
|
||||
}
|
||||
*/
|
||||
|
||||
if (action == 1)
|
||||
{
|
||||
if (action == 1) {
|
||||
DoBuy();
|
||||
return;
|
||||
}
|
||||
|
||||
if (action == 2)
|
||||
{
|
||||
if (action == 2) {
|
||||
DoSell();
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/* public void run(){
|
||||
@ -141,6 +125,4 @@ public class RandomTrader extends ThreadedTrader{
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
|
@ -10,17 +10,14 @@ public abstract class ThreadedTrader extends Thread implements Trader {
|
||||
}
|
||||
|
||||
public void run() {
|
||||
while (true)
|
||||
{
|
||||
while (true) {
|
||||
try {
|
||||
sleep(sleeptime);
|
||||
}
|
||||
catch(InterruptedException e) {
|
||||
} catch (InterruptedException e) {
|
||||
System.out.println("Interrupted");
|
||||
}
|
||||
trade();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -1,8 +1,9 @@
|
||||
package StockExchange;
|
||||
|
||||
|
||||
public interface Trader {
|
||||
|
||||
String name = null;
|
||||
|
||||
public void trade();
|
||||
public Account account = new Account();
|
||||
// public Exchange ex=null;
|
||||
|
@ -1,16 +1,16 @@
|
||||
package StockExchange;
|
||||
|
||||
public class TraderRun extends Thread {
|
||||
|
||||
public String tname = "";
|
||||
public Exchange ex;
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
while (true)
|
||||
{
|
||||
while (true) {
|
||||
try {
|
||||
sleep(100);
|
||||
}
|
||||
catch(InterruptedException e) {
|
||||
} catch (InterruptedException e) {
|
||||
System.out.println("Interrupted");
|
||||
}
|
||||
|
||||
@ -30,7 +30,6 @@ public class TraderRun extends Thread{
|
||||
// ex.Free();
|
||||
System.out.printf("%s unlocked\n", tname);
|
||||
*/
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user