我正在编写一个用于交易的机器人。我需要在时间间隔内获得价格差异。假设在格林威治标准时间 00:00:00:0000,一对的价格是 100.0000,而在格林威治标准时间 00:00:00:0005,价格是 101.0000,我想得到这个差价。
我正在使用 Spring 启动调度程序,当我运行应用程序时,它总是返回价格并不高。我希望它不断检查价格差异是否达到价格。
这是每 5 分钟检查一次
@Scheduled(fixedRate = (10*60*1000))
private double getInitialPrice(){
try {
initialPrice = Double.parseDouble(String.valueOf(api.pricesMap().get("BTCUSDT")));
} catch (BinanceApiException e) {
e.printStackTrace();
}
return initialPrice;
}
这是每 5 毫秒检查一次
@Scheduled(fixedRate = (5))
private double getInstancePrice(){
try {
instancePrice = Double.parseDouble(String.valueOf(api.pricesMap().get("BTCUSDT")));
} catch (BinanceApiException e) {
e.printStackTrace();
}
return instancePrice;
}
我现在正在检查,希望 getInstancePrice() 方法将始终检查直到它为真。它没有通过测试,因为它总是返回价格不高,而手动检查时价格更高。我如何让它不断检查直到它给出时差?
if( getInstancePrice() > getInitialPrice() ){
//do this
}