fix: k线取值优化

This commit is contained in:
vercel
2024-05-08 20:33:07 +08:00
parent 72a404d2d1
commit 5a3de795b9

View File

@@ -279,49 +279,62 @@ public class RefinitivConsumer implements ApplicationRunner {
String interval = null; String interval = null;
String resourceEndpoint = null; String resourceEndpoint = null;
Date start = new Date(); Date start = new Date();
String fields = null;
Integer flag = 0;
if(StringUtils.equals("1m",resolution)){ if(StringUtils.equals("1m",resolution)){
start = DateTimeUtil.getDayOfMorning(start,0); start = DateTimeUtil.getDayOfMorning(start,0);
countback = 360; countback = 360;
interval = "PT1M"; interval = "PT1M";
resourceEndpoint = baseURLToday + symbol; resourceEndpoint = baseURLToday + symbol;
fields = "DATE,HIGH_1,LOW_1,OPEN_PRC,TRDPRC_1,NUM_MOVES";
}else }else
if(StringUtils.equals("5m",resolution)){ if(StringUtils.equals("5m",resolution)){
start = DateTimeUtil.getDayOfMorning(start,0); start = DateTimeUtil.getDayOfMorning(start,0);
countback = 150; countback = 150;
interval = "PT5M"; interval = "PT5M";
resourceEndpoint = baseURLToday + symbol; resourceEndpoint = baseURLToday + symbol;
fields = "DATE,HIGH_1,LOW_1,OPEN_PRC,TRDPRC_1,NUM_MOVES";
}else }else
if(StringUtils.equals("10m",resolution)){ if(StringUtils.equals("10m",resolution)){
start = DateTimeUtil.getDayOfMorning(start,0); start = DateTimeUtil.getDayOfMorning(start,0);
countback = 50; countback = 50;
interval = "PT10M"; interval = "PT10M";
resourceEndpoint = baseURLToday + symbol; resourceEndpoint = baseURLToday + symbol;
fields = "DATE,HIGH_1,LOW_1,OPEN_PRC,TRDPRC_1,NUM_MOVES";
}else }else
if(StringUtils.equals("30m",resolution)){ if(StringUtils.equals("30m",resolution)){
start = DateTimeUtil.getDayOfMorning(start,0); start = DateTimeUtil.getDayOfMorning(start,0);
countback = 30; countback = 30;
interval = "PT30M"; interval = "PT30M";
resourceEndpoint = baseURLToday + symbol; resourceEndpoint = baseURLToday + symbol;
fields = "DATE,HIGH_1,LOW_1,OPEN_PRC,TRDPRC_1,NUM_MOVES";
}else }else
if(StringUtils.equals("H",resolution)){ if(StringUtils.equals("H",resolution)){
start = DateTimeUtil.getDayOfMorning(start,0); start = DateTimeUtil.getDayOfMorning(start,0);
countback = 60; countback = 60;
interval = "PT1H"; interval = "PT1H";
resourceEndpoint = baseURLToday + symbol; resourceEndpoint = baseURLToday + symbol;
fields = "DATE,HIGH_1,LOW_1,OPEN_PRC,TRDPRC_1,NUM_MOVES";
}else if(StringUtils.equals("D",resolution)){ }else if(StringUtils.equals("D",resolution)){
start = DateTimeUtil.getDayOfMorning(start,-30); start = DateTimeUtil.getDayOfMorning(start,-30);
countback = 30; countback = 30;
interval ="P1D"; interval ="P1D";
fields = "DATE,HIGH_1,LOW_1,OPEN_PRC,OFF_CLOSE,NUM_MOVES";
flag = 1;
resourceEndpoint = baseURLHistory + symbol; resourceEndpoint = baseURLHistory + symbol;
}else if(StringUtils.equals("W",resolution)){ }else if(StringUtils.equals("W",resolution)){
start = DateTimeUtil.getDayOfMorning(start,-60); start = DateTimeUtil.getDayOfMorning(start,-60);
countback = 30; countback = 30;
interval ="P1W"; interval ="P1W";
fields = "DATE,HIGH_1,LOW_1,OPEN_PRC,OFF_CLOSE,NUM_MOVES";
flag = 2;
resourceEndpoint = baseURLHistory + symbol; resourceEndpoint = baseURLHistory + symbol;
}else if(StringUtils.equals("M",resolution)){ }else if(StringUtils.equals("M",resolution)){
start = DateTimeUtil.getDayOfYear(start,-1); start = DateTimeUtil.getDayOfYear(start,-1);
countback = 30; countback = 30;
interval ="P1M"; interval ="P1M";
fields = "DATE,HIGH_1,LOW_1,OPEN_PRC,OFF_CLOSE,NUM_MOVES";
flag = 2;
resourceEndpoint = baseURLHistory + symbol; resourceEndpoint = baseURLHistory + symbol;
} }
@@ -332,6 +345,7 @@ public class RefinitivConsumer implements ApplicationRunner {
.form("start",startStr) .form("start",startStr)
.form("count",countback) .form("count",countback)
.form("interval",interval) .form("interval",interval)
.form("fields",fields)
.header("Authorization","Bearer " + token) .header("Authorization","Bearer " + token)
.execute(); .execute();
if(response.getStatus() != 200){ if(response.getStatus() != 200){
@@ -359,11 +373,29 @@ public class RefinitivConsumer implements ApplicationRunner {
long timestampMillis = instant.getEpochSecond(); long timestampMillis = instant.getEpochSecond();
t.add(timestampMillis); t.add(timestampMillis);
} }
o.add(Double.valueOf(date.get(3).toString())); if(flag == 0) {
h.add(Double.valueOf(date.get(1).toString())); o.add(Double.valueOf(date.get(3).toString()));
l.add(Double.valueOf(date.get(2).toString())); h.add(Double.valueOf(date.get(1).toString()));
c.add(Double.valueOf(date.get(4).toString())); l.add(Double.valueOf(date.get(2).toString()));
v.add(date.get(6) == null?0:Double.valueOf(date.get(6).toString())); c.add(Double.valueOf(date.get(4).toString()));
v.add(date.get(5) == null?0:Double.valueOf(date.get(5).toString()));
}
if(flag == 1){
o.add(Double.valueOf(date.get(4).toString()));
h.add(Double.valueOf(date.get(2).toString()));
l.add(Double.valueOf(date.get(3).toString()));
c.add(Double.valueOf(date.get(1).toString()));
v.add(date.get(5) == null?0:Double.valueOf(date.get(5).toString()));
}
if(flag == 2){
o.add(Double.valueOf(date.get(1).toString()));
h.add(Double.valueOf(date.get(4).toString()));
l.add(Double.valueOf(date.get(2).toString()));
c.add(Double.valueOf(date.get(5).toString()));
v.add(date.get(3) == null?0:Double.valueOf(date.get(3).toString()));
}
} }
result.setT(t); result.setT(t);
result.setO(o); result.setO(o);