From 19be3926c88d19645f43dd926d00615225f30802 Mon Sep 17 00:00:00 2001
From: peter <14100000001@qq.com>
Date: Fri, 11 Jul 2025 17:36:46 +0800
Subject: [PATCH] 外汇接口调整
---
trading-order-huobi/src/main/java/com.yami.trading.huobi/hobi/internal/HobiDataServiceImpl.java | 30 ++++++++++++++++++++++++++++--
1 files changed, 28 insertions(+), 2 deletions(-)
diff --git a/trading-order-huobi/src/main/java/com.yami.trading.huobi/hobi/internal/HobiDataServiceImpl.java b/trading-order-huobi/src/main/java/com.yami.trading.huobi/hobi/internal/HobiDataServiceImpl.java
index be378df..b820b4b 100644
--- a/trading-order-huobi/src/main/java/com.yami.trading.huobi/hobi/internal/HobiDataServiceImpl.java
+++ b/trading-order-huobi/src/main/java/com.yami.trading.huobi/hobi/internal/HobiDataServiceImpl.java
@@ -725,6 +725,7 @@
return yesterdayLastPrice;
}
+ @Override
public List<Kline> getTimeseries(String symbol,String period,int periodType){
List<Kline> resList = new ArrayList<>();
int klineCount;
@@ -749,6 +750,8 @@
klineCount = 52 * 5; // 5年的1周K线 (1年52周,5年共260周)
} else if (KlineConstant.PERIOD_1MON.equals(period)) {
klineCount = 12 * 5; // 5年的1个月K线,12个月每年,乘以5年 = 60
+ }else if(KlineConstant.PERIOD_ONE.equals(period)){
+ klineCount = 1;
}else{
klineCount = 2;
}
@@ -778,7 +781,8 @@
kline.setClose(result.getClose_price());
kline.setHigh(result.getHigh_price());
kline.setLow(result.getLow_price());
- kline.setVolume(result.getVolume());
+ kline.setVolume(result.getTurnover());
+ kline.setAmount(result.getVolume());
resList.add(kline);
}
}
@@ -788,6 +792,28 @@
logger.error("延时中断: {}", e);
}
return resList;
+ }
+
+ @Override
+ public List<Realtime> realtime24HoruData(String symbols, List<Realtime> realtimes) {
+ List<String> strings = Arrays.asList(symbols.split(","));
+ for (int i = 0; i < strings.size(); i++) {
+ List<Kline> dayList = getTimeseries(strings.get(i), KlineConstant.PERIOD_ONE, AllticktradeMadeOptions.dayPeriod);
+ if(dayList.size()>0){
+ Kline kline = dayList.get(0);
+ for (Realtime realtime : realtimes){
+ if(realtime.getSymbol().equals(strings.get(i))){
+ int decimal = itemService.getDecimal(realtime.getSymbol());
+ realtime.setOpen(kline.getOpen().setScale(decimal, RoundingMode.HALF_UP));
+ realtime.setHigh(kline.getHigh().setScale(decimal, RoundingMode.HALF_UP));
+ realtime.setLow(kline.getLow().setScale(decimal, RoundingMode.HALF_UP));
+ realtime.setAmount(kline.getAmount().setScale(decimal, RoundingMode.HALF_UP));
+ realtime.setVolume(kline.getVolume().setScale(decimal, RoundingMode.HALF_UP));
+ }
+ }
+ }
+ }
+ return realtimes;
}
public List<Kline> buildOneDayPeriod(List<AllticktradeResult> list, String currency) {
@@ -1199,7 +1225,7 @@
HttpResponse response = HttpHelper.getHttpclient().execute(request);
return HttpHelper.responseProc(response);
} catch (Exception e) {
- logger.error("采集外汇k线图失败:{} ", e);
+ logger.error("采集外汇k线图失败:==={} ", symbol);
}
return null;
}
--
Gitblit v1.9.3