@@ -892,27 +892,31 @@ public void listenForPosition(UnitPosition pos) {
892892
893893 public void listenForWallet (UnitWallet wallet ) {
894894 BalanceInfo .BalanceInCurrency currentBic = balanceMap .get (wallet .getCurrency ());
895- BalanceInfo . BalanceInCurrency newBic ;
895+ String currency = wallet . getCurrency () ;
896896 if (currentBic == null ) {// no current balance balance
897- newBic = new BalanceInfo .BalanceInCurrency (0.0 , 0.0 , 0.0 , 0.0 , 0.0 ,
898- null , null );
897+ currentBic = new BalanceInfo .BalanceInCurrency (0.0 , 0.0 , 0.0 , 0.0 , 0.0 ,
898+ currency , null );
899899 }
900900
901901 long tempMultiplier = 100000000 ;// temp
902902 // PNLs and NetLiquidityValue are taken from UnitMargin topic
903- Double netLiquidityValue = 0.0 ;// to be calculated
904- String currency = wallet . getCurrency ();
903+ // Double netLiquidityValue = 0.0;// to be calculated
904+
905905 Double rateToBase = null ;
906906
907- newBic = new BalanceInfo .BalanceInCurrency (
907+ currentBic = new BalanceInfo .BalanceInCurrency (
908908 wallet .getAmount () == null ? currentBic .balance : (double ) wallet .getAmount () / tempMultiplier ,
909- currentBic .realizedPnl , currentBic .unrealizedPnl ,
910- wallet .getPrevAmount () == null ? currentBic .previousDayBalance : (double ) wallet .getPrevAmount () / tempMultiplier ,
911- netLiquidityValue == null ? currentBic .netLiquidityValue : netLiquidityValue , currentBic .currency ,
909+ currentBic .realizedPnl ,
910+ currentBic .unrealizedPnl ,
911+ wallet .getPrevAmount () == null ? currentBic .previousDayBalance
912+ : (double ) wallet .getPrevAmount () / tempMultiplier ,
913+ // netLiquidityValue == null ? currentBic.netLiquidityValue :
914+ // netLiquidityValue,
915+ currentBic .netLiquidityValue ,
916+ currency ,
912917 rateToBase == null ? currentBic .rateToBase : rateToBase );
913918
914- balanceMap .remove (currency );
915- balanceMap .put (currency , newBic );
919+ balanceMap .put (currency , currentBic );
916920 BalanceInfo info = new BalanceInfo (new ArrayList <BalanceInfo .BalanceInCurrency >(balanceMap .values ()));
917921 tradingListeners .forEach (l -> l .onBalance (info ));
918922 }
@@ -921,22 +925,22 @@ public void listenForMargin(UnitMargin margin) {
921925 long tempMultiplier = 100000000 ;// temp
922926 String currency = margin .getCurrency ();
923927 BalanceInfo .BalanceInCurrency currentBic = balanceMap .get (margin .getCurrency ());
924- BalanceInfo .BalanceInCurrency newBic ;
925928 if (currentBic == null ) {// no current balance balance
926- newBic = new BalanceInfo .BalanceInCurrency (0.0 , 0.0 , 0.0 , 0.0 , 0.0 , margin .getCurrency (), null );
927- } else {
928- newBic = new BalanceInfo .BalanceInCurrency (currentBic .balance ,
929- margin .getRealisedPnl () == null ? currentBic .realizedPnl
930- : (double ) margin .getRealisedPnl () / tempMultiplier ,
931- margin .getUnrealisedPnl () == null ? currentBic .unrealizedPnl
932- : (double ) margin .getUnrealisedPnl () / tempMultiplier ,
933- currentBic .previousDayBalance , margin .getAvailableMargin () == null ? currentBic .netLiquidityValue
934- : (double ) margin .getAvailableMargin () / tempMultiplier ,
935- currency , currentBic .rateToBase );
929+ currentBic = new BalanceInfo .BalanceInCurrency (0.0 , 0.0 , 0.0 , 0.0 , 0.0 , currency , null );
936930 }
937-
938- balanceMap .remove (currency );
939- balanceMap .put (currency , newBic );
931+ currentBic = new BalanceInfo .BalanceInCurrency (
932+ currentBic .balance ,
933+ margin .getRealisedPnl () == null ? currentBic .realizedPnl
934+ : (double ) margin .getRealisedPnl () / tempMultiplier ,
935+ margin .getUnrealisedPnl () == null ? currentBic .unrealizedPnl
936+ : (double ) margin .getUnrealisedPnl () / tempMultiplier ,
937+ currentBic .previousDayBalance ,
938+ margin .getAvailableMargin () == null ? currentBic .netLiquidityValue
939+ : (double ) margin .getAvailableMargin () / tempMultiplier ,
940+ currency ,
941+ currentBic .rateToBase );
942+
943+ balanceMap .put (currency , currentBic );
940944 BalanceInfo info = new BalanceInfo (new ArrayList <BalanceInfo .BalanceInCurrency >(balanceMap .values ()));
941945 tradingListeners .forEach (l -> l .onBalance (info ));
942946 }
0 commit comments