| | |
| | | |
| | | moneyLogService.save(moneylog); |
| | | |
| | | order.setState(ContractOrder.STATE_CREATED); |
| | | order.setVolume(0D); |
| | | order.setDeposit(0); |
| | | order.setClose_time(new Date()); |
| | | update(order); |
| | | |
| | | /** |
| | | * 合约产品平仓后添加当前流水 |
| | | */ |
| | |
| | | */ |
| | | double rate = Arith.div(volume, order.getVolume_open()); |
| | | |
| | | //profit = Arith.mul(Arith.add(order.getDeposit(), order.getProfit()), rate); |
| | | //平仓收益 |
| | | // double mul = Arith.mul(order.getDeposit_open(), order.getLever_rate());//仓位 |
| | | // double div = Arith.div(mul, order.getTrade_avg_price());//持有币的数量 |
| | | // double amount = Arith.mul(div, Arith.sub(order.getClose_avg_price(), order.getTrade_avg_price())); |
| | | |
| | | profit = Arith.add(Arith.mul(order.getDeposit_open(),rate),Arith.mul(order.getProfit(),rate)); |
| | | order.setAmount_close(Arith.add(order.getAmount_close(), profit)); |
| | | order.setVolume(Arith.sub(order.getVolume(), volume)); |
| | |
| | | order.setState(ContractOrder.STATE_CREATED); |
| | | order.setClose_time(new Date()); |
| | | } |
| | | |
| | | update(order); |
| | | return profit; |
| | | |
| | | } |
| | |
| | | Arith.add(Arith.add(order.getAmount_close(),Arith.mul(order.getProfit(),rate)), order.getDeposit()), |
| | | order.getDeposit_open()))); |
| | | } else { |
| | | map.put("profit", df.format(Arith.sub(Arith.add(order.getAmount_close(), order.getDeposit()), order.getDeposit_open()))); |
| | | map.put("profit", df.format(order.getProfit())); |
| | | } |
| | | // double currentPrice = Double.parseDouble(map.get("trade_avg_price").toString()); |
| | | // |
| | | // double leve = Double.parseDouble(map.get("lever_rate").toString()); |
| | | // //得到强平价格 |
| | | // if(null != map.get("direction")){ |
| | | // double liquidationPrice; |
| | | // if(map.get("direction").equals("sell")){ |
| | | // liquidationPrice = currentPrice * (1 + (1 / leve)); |
| | | // }else{ |
| | | // liquidationPrice = currentPrice * (1 - 1 / leve); |
| | | // } |
| | | // DecimalFormat dfs = new DecimalFormat("#.#####"); |
| | | // String formattedPrice = dfs.format(liquidationPrice); |
| | | // map.put("qiangPing",formattedPrice); |
| | | // } |
| | | |
| | | double depositOpen = Double.parseDouble(map.get("deposit_open").toString()); |
| | | double leverRate = Double.parseDouble(map.get("lever_rate").toString()); |