some refactoring
This commit is contained in:
parent
bd2ec97f74
commit
f02b887b8b
@ -43,13 +43,20 @@ class TradingEngine implements TradingAPI {
|
|||||||
|
|
||||||
private final Exchange outer;
|
private final Exchange outer;
|
||||||
|
|
||||||
TradingEngine(AssetPair p, final Exchange outer) {
|
/**
|
||||||
|
* Construct a trading engine for an asset pair
|
||||||
|
* @param pair The AssetPair obect to create the tradinge engine for
|
||||||
|
* @param outer Outer class - points to an Exchange object thins trading
|
||||||
|
* engine belongs to.
|
||||||
|
*/
|
||||||
|
TradingEngine(AssetPair pair, final Exchange outer) {
|
||||||
this.outer = outer;
|
this.outer = outer;
|
||||||
assetpair = p;
|
assetpair = pair;
|
||||||
reset();
|
reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected AssetPair getAssetPair() {
|
@Override
|
||||||
|
public AssetPair getAssetPair() {
|
||||||
return assetpair;
|
return assetpair;
|
||||||
}
|
}
|
||||||
IDGenerator id_generator = new IDGenerator();
|
IDGenerator id_generator = new IDGenerator();
|
||||||
@ -79,6 +86,8 @@ class TradingEngine implements TradingAPI {
|
|||||||
SortedSet<Order> ask = order_books.get(Order.Type.SELLLIMIT);
|
SortedSet<Order> ask = order_books.get(Order.Type.SELLLIMIT);
|
||||||
SortedSet<Order> ul_buy = order_books.get(Order.Type.BUY);
|
SortedSet<Order> ul_buy = order_books.get(Order.Type.BUY);
|
||||||
SortedSet<Order> ul_sell = order_books.get(Order.Type.SELL);
|
SortedSet<Order> ul_sell = order_books.get(Order.Type.SELL);
|
||||||
|
|
||||||
|
|
||||||
double volume_total = 0;
|
double volume_total = 0;
|
||||||
double money_total = 0;
|
double money_total = 0;
|
||||||
while (true) {
|
while (true) {
|
||||||
@ -234,6 +243,9 @@ class TradingEngine implements TradingAPI {
|
|||||||
}
|
}
|
||||||
return o;
|
return o;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
HashSet<FiringEvent> book_listener = new HashSet<>();
|
HashSet<FiringEvent> book_listener = new HashSet<>();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -241,18 +253,33 @@ class TradingEngine implements TradingAPI {
|
|||||||
book_listener.add(new FiringEvent(listener));
|
book_listener.add(new FiringEvent(listener));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Set getOrderBook(Order.Type type) {
|
@Override
|
||||||
return Collections.unmodifiableSet(order_books.get(type));
|
public Set getOrderBook(Order.Type type) {
|
||||||
|
switch (type){
|
||||||
|
case BUYLIMIT:
|
||||||
|
case BUY:
|
||||||
|
return Collections.unmodifiableSet(bidbook);
|
||||||
|
case SELLLIMIT:
|
||||||
|
case SELL:
|
||||||
|
return Collections.unmodifiableSet(askbook);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
// return Collections.unmodifiableSet(order_books.get(type));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Set getBidBook() {
|
public Set getBidBook() {
|
||||||
return getOrderBook(Order.Type.BUY);
|
return getOrderBook(Order.Type.BUYLIMIT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Set getAskBook() {
|
public Set getAskBook() {
|
||||||
return getOrderBook(Order.Type.SELL);
|
return getOrderBook(Order.Type.SELL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user