This commit is contained in:
parent
f8c8f92401
commit
5660cd67b7
1 changed files with 4 additions and 3 deletions
|
|
@ -69,16 +69,17 @@ public class OrderCalculationService {
|
||||||
? calculationRubSums(registry, listing.getLotSize().intValue(), s, n)
|
? calculationRubSums(registry, listing.getLotSize().intValue(), s, n)
|
||||||
: calculationSums(registry, listing.getLotSize().intValue(), s, n);
|
: calculationSums(registry, listing.getLotSize().intValue(), s, n);
|
||||||
|
|
||||||
SCrossRate rates = imdgQueryService.getSCrossRates(pair.getBaseCurrency(), LocalDate.now());
|
long nextWorkDayDelta = n.longValue();
|
||||||
|
Rates rates = imdgQueryService.getRate(pair.getBaseCurrency(), LocalDate.now().plusDays(nextWorkDayDelta));
|
||||||
BigDecimal quantityLot;
|
BigDecimal quantityLot;
|
||||||
BigDecimal price;
|
BigDecimal price;
|
||||||
if (SettleCode.T0 == settleCode) {
|
if (SettleCode.T0 == settleCode) {
|
||||||
quantityLot = result.sum3().abs();
|
quantityLot = result.sum3().abs();
|
||||||
price = rates.getUnitRate().setScale(listing.getPrecision().intValue(), RoundingMode.HALF_UP);
|
price = rates.getValue().setScale(listing.getPrecision().intValue(), RoundingMode.HALF_UP);
|
||||||
} else {
|
} else {
|
||||||
quantityLot = result.sum5().abs();
|
quantityLot = result.sum5().abs();
|
||||||
BigDecimal delta = swapPriceCalcT1(pair.getBaseCurrency(), s, n, listing.getPrecision().intValue());
|
BigDecimal delta = swapPriceCalcT1(pair.getBaseCurrency(), s, n, listing.getPrecision().intValue());
|
||||||
price = rates.getUnitRate().add(delta).setScale(listing.getPrecision().intValue(), RoundingMode.HALF_UP);;
|
price = rates.getValue().add(delta).setScale(listing.getPrecision().intValue(), RoundingMode.HALF_UP);;
|
||||||
}
|
}
|
||||||
|
|
||||||
return new FinalCalculationResult(price, s, quantityLot, result);
|
return new FinalCalculationResult(price, s, quantityLot, result);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue