| | |
| | | baseGridElement.setShortOrderId(baseShortTraderParam.getEntryOrderId()); |
| | | baseGridElement.setHasShortOrder(true); |
| | | |
| | | // 空仓止损对应的多仓止盈:多仓止盈挂在ID=3 |
| | | int tpGridIdLong = 3; |
| | | GridElement tpElemLong = GridElement.findById(tpGridIdLong); |
| | | BigDecimal triggerPriceLong = tpElemLong.getGridPrice(); |
| | | String sizeLong = config.getQuantity(); |
| | | executor.placeTakeProfit( |
| | | triggerPriceLong, |
| | | FuturesPriceTrigger.RuleEnum.NUMBER_1, |
| | | ORDER_TYPE_CLOSE_LONG, |
| | | negate(sizeLong), |
| | | profitId -> { |
| | | tpElemLong.setLongTakeProfitOrderId(profitId); |
| | | GridElement.refreshIndices(); |
| | | log.info("[Gate] 多仓止盈已挂(gridId:{}多止盈), 触发价:{}, takeProfitId:{}", |
| | | tpGridIdLong, triggerPriceLong, profitId); |
| | | } |
| | | ); |
| | | |
| | | |
| | | // 多仓止损对应的空仓止盈:空仓止盈挂在ID=-3 |
| | | int tpGridIdShort = -3; |
| | | GridElement tpElemShort = GridElement.findById(tpGridIdShort); |
| | | BigDecimal triggerPriceShort = tpElemShort.getGridPrice(); |
| | | String sizeShort = config.getQuantity(); |
| | | executor.placeTakeProfit( |
| | | triggerPriceShort, |
| | | FuturesPriceTrigger.RuleEnum.NUMBER_2, |
| | | ORDER_TYPE_CLOSE_SHORT, |
| | | sizeShort, |
| | | profitId -> { |
| | | tpElemShort.setShortTakeProfitOrderId(profitId); |
| | | GridElement.refreshIndices(); |
| | | log.info("[Gate] 空仓止盈已挂(gridId:{}空止盈), 触发价:{}, takeProfitId:{}", |
| | | tpGridIdShort, triggerPriceShort, profitId); |
| | | } |
| | | ); |
| | | |
| | | // int shortTime = 2; |
| | | // GridElement elemShort = GridElement.findById(shortTime); |
| | | // if (elemShort != null) { |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | int longTime = Integer.parseInt(config.getBaseQuantity()) / Integer.parseInt(config.getQuantity()) + 1; |
| | | for (int id = -2; id >= -longTime; id--) { |
| | | GridElement elem = GridElement.findById(id); |
| | |
| | | ); |
| | | } |
| | | |
| | | log.info("[Gate] 止损单已全部挂完, 空仓止损: 2~{}, 多仓止损: -2~-{}", shortTime, longTime); |
| | | log.info("[Gate] 止损止盈单已全部挂完, 空仓止损:2~{}, 多仓止损:-2~-{}", shortTime, longTime); |
| | | |
| | | state = StrategyState.ACTIVE; |
| | | } |