| | |
| | | GridElement baseGridElement = GridElement.findById(0); |
| | | TraderParam baseLongTraderParam = config.getBaseLongTraderParam(); |
| | | baseGridElement.setLongOrderId(baseLongTraderParam.getEntryOrderId()); |
| | | baseGridElement.setHasLongOrder(true); |
| | | //0位置的网格的多单止盈 |
| | | BigDecimal upTakeProfitPrice = baseGridElement.getLongTraderParam().getTakeProfitPrice(); |
| | | executor.placeTakeProfit( |
| | |
| | | //0位置的网格的空单止盈 |
| | | TraderParam baseShortTraderParam = config.getBaseShortTraderParam(); |
| | | baseGridElement.setShortOrderId(baseShortTraderParam.getEntryOrderId()); |
| | | baseGridElement.setHasShortOrder(true); |
| | | BigDecimal downTakeProfitPrice = baseGridElement.getShortTraderParam().getTakeProfitPrice(); |
| | | executor.placeTakeProfit( |
| | | downTakeProfitPrice, |
| | |
| | | if (downGridElement != null){ |
| | | |
| | | TraderParam downLongTraderParam = downGridElement.getLongTraderParam(); |
| | | if (!downGridElement.isHasShortOrder()){ |
| | | if (!downGridElement.isHasLongOrder()){ |
| | | executor.placeConditionalEntryOrder( |
| | | downLongTraderParam.getEntryPrice(), |
| | | FuturesPriceTrigger.RuleEnum.NUMBER_1, |
| | |
| | | BigDecimal downGridPrice = downGridElement.getGridPrice(); |
| | | if ( |
| | | !downGridElement.isHasShortOrder() && |
| | | downGridPrice.compareTo(currentPrice) < 0 && |
| | | downGridPrice.compareTo(longEntryPrice) <= 0 && |
| | | downGridPrice.compareTo(shortEntryPrice) >= 0 |
| | | ){ |
| | |
| | | BigDecimal downGridPrice = downGridElement.getGridPrice(); |
| | | if ( |
| | | !downGridElement.isHasLongOrder() && |
| | | downGridPrice.compareTo(currentPrice) > 0 && |
| | | downGridPrice.compareTo(longEntryPrice) <= 0 && |
| | | downGridPrice.compareTo(shortEntryPrice) >= 0 |
| | | ){ |