From 703fe209b2e9822cf877e41141b0aafb4312081d Mon Sep 17 00:00:00 2001 From: 7u83 <7u83@maiil.ru> Date: Tue, 8 Jan 2019 19:32:53 +0100 Subject: [PATCH] Correct SL calculation --- nbproject/project.properties | 2 +- src/opensesim/world/Account.java | 8 ++++---- src/opensesim/world/SimpleTrader.java | 8 +++++--- src/opensesim/world/TradingEngine.java | 2 +- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/nbproject/project.properties b/nbproject/project.properties index 689a93a..c54a473 100644 --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -1,4 +1,4 @@ -#Tue, 08 Jan 2019 13:27:57 +0100 +#Tue, 08 Jan 2019 19:25:21 +0100 annotation.processing.enabled=true annotation.processing.enabled.in.editor=false annotation.processing.processors.list= diff --git a/src/opensesim/world/Account.java b/src/opensesim/world/Account.java index 5d5f337..3bb5d06 100644 --- a/src/opensesim/world/Account.java +++ b/src/opensesim/world/Account.java @@ -119,12 +119,12 @@ public class Account { } synchronized void add(AssetPack pack) { - assets.put(pack.asset, get(pack.asset) + pack.volume); + assets.put(pack.asset, get(pack.asset,false) + pack.volume); // assets_bound.put(pack.asset, getAvail(pack.asset) + pack.volume); } synchronized void sub(AssetPack pack) { - assets.put(pack.asset, get(pack.asset) - pack.volume); + assets.put(pack.asset, get(pack.asset,false) - pack.volume); // assets_bound.put(pack.asset, getAvail(pack.asset) - pack.volume); } @@ -290,7 +290,7 @@ public class Account { * @return */ public Double calcStopLoss(Exchange ex, AbstractAsset asset, AbstractAsset currency) { - Double e = (get(currency)); + Double e = (get(currency,false)); for (AbstractAsset a : assets.keySet()) { if (a.equals(asset)) { continue; @@ -302,7 +302,7 @@ public class Account { } TradingEngine api = (TradingEngine) ex.getAPI(pair); - Double v = get(a) * api.last_quote.price; + Double v = get(a,false) * api.last_quote.price; e = e + v; } diff --git a/src/opensesim/world/SimpleTrader.java b/src/opensesim/world/SimpleTrader.java index bed505e..b9be6a3 100644 --- a/src/opensesim/world/SimpleTrader.java +++ b/src/opensesim/world/SimpleTrader.java @@ -105,7 +105,7 @@ public class SimpleTrader extends AbstractTrader implements EventListener { pack = new AssetPack(p.getCurrency(), 1000); account_b.add(pack); - account_b.setLeverage(0.1); + account_b.setLeverage(9); pack = new AssetPack(p.getCurrency(), 10000); account_1.add(pack); @@ -142,10 +142,12 @@ public class SimpleTrader extends AbstractTrader implements EventListener { getWorld().getAssetBySymbol("EUR")); TradingAPI mapi = ex.getAPI(msftp); - Order ob = api.createOrder(account_b, Order.Type.SELLLIMIT, 10, 100); + Order ob = api.createOrder(account_b, Order.Type.BUYLIMIT, 20, 100); + Order obm = mapi.createOrder(account_b, Order.Type.BUYLIMIT, 20, 100); -Order oba = api.createOrder(account_1, Order.Type.BUYLIMIT, 10, 100); +Order oba = api.createOrder(account_1, Order.Type.SELLLIMIT, 10, 100); +Order obam = mapi.createOrder(account_1, Order.Type.SELLLIMIT, 20, 100); diff --git a/src/opensesim/world/TradingEngine.java b/src/opensesim/world/TradingEngine.java index cbb5e4e..8ff1c55 100644 --- a/src/opensesim/world/TradingEngine.java +++ b/src/opensesim/world/TradingEngine.java @@ -513,7 +513,7 @@ class TradingEngine implements TradingAPI { } executeOrders(); - //last_quote.price = 90; //75-12.5; + last_quote.price = 90; //75-12.5; for (FiringEvent e : book_listener) { e.fire(); }