| | |
| | | totalProfitOrLoss = totalProfitOrLoss.add(calProfitOrLoss(holdOrderEntity, memberEntity));
|
| | | }
|
| | |
|
| | | // 维持保证金
|
| | | BigDecimal holdBond = contractHoldOrderEntity.getHoldBond();
|
| | | // 成本 数量*面值*开仓价
|
| | | BigDecimal cost = contractHoldOrderEntity.getSymbolSku().multiply(contractHoldOrderEntity.getOpeningPrice()).multiply(new BigDecimal(contractHoldOrderEntity.getSymbolCntSale()));
|
| | | // 费率
|
| | | BigDecimal ratio = newPrice.multiply(new BigDecimal("0.015"));
|
| | | BigDecimal ratio = newPrice.multiply(new BigDecimal("0.005"));
|
| | | // 总账户 - 维持保证金
|
| | | BigDecimal orderProfitOrLoss = walletContract.getTotalBalance().subtract(holdBond);
|
| | | // 权益
|
| | | BigDecimal qy = walletContract.getTotalBalance().add(totalProfitOrLoss).add(walletContract.getTotalBalance());
|
| | | BigDecimal qy = walletContract.getTotalBalance().add(totalProfitOrLoss);
|
| | |
|
| | | BigDecimal prefix = qy.add(cost).subtract(ratio);
|
| | | BigDecimal divideChild;
|
| | | if (ContractHoldOrderEntity.OPENING_TYPE_MORE == contractHoldOrderEntity.getOpeningType()) {
|
| | | divideChild = holdBond.negate().subtract(cost).add(ratio).add(qy);
|
| | | divideChild = prefix.subtract(orderProfitOrLoss);
|
| | | } else {
|
| | | divideChild = holdBond.negate().subtract(cost).add(ratio).subtract(qy);
|
| | | divideChild = prefix.add(orderProfitOrLoss);
|
| | | }
|
| | | // BigDecimal divideChild = walletContract.getTotalBalance().add(totalProfitOrLoss).subtract(holdBond).subtract(cost).add(newPrice.multiply(new BigDecimal("0.005")));
|
| | | BigDecimal divideParent = contractHoldOrderEntity.getSymbolSku().multiply(new BigDecimal(contractHoldOrderEntity.getSymbolCntSale()));
|