package com.yami.trading.huobi.tradingview.example;
|
|
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.date.DateUtil;
|
import com.yami.trading.huobi.tradingview.api.TradingViewAPI;
|
import com.yami.trading.huobi.tradingview.api.model.CandleData;
|
import com.yami.trading.huobi.tradingview.api.model.Kline;
|
|
import java.text.SimpleDateFormat;
|
import java.util.List;
|
|
public class CandleSubscriptionExample {
|
public static void main(String[] args) {
|
TradingViewAPI api = new TradingViewAPI();
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
try {
|
// 设置API
|
api.setup().get();
|
System.out.println("API设置完成");
|
|
// 订阅比特币1分钟K线
|
String symbol = "IDX:AADI";
|
api.subscribeCandles(symbol, CandleData.Interval.DAY_1, candle -> {
|
List<Kline> klines = candle.getKlines();
|
System.out.println("\n-------------------- K线数据更新 --------------------");
|
System.out.println("交易对: " + symbol);
|
// 遍历并打印所有K线数据
|
for (Kline kline : klines) {
|
System.out.println("\nK线信息: " + symbol);
|
System.out.println("时间: " + DateUtil.date(kline.getTimestamp()));
|
System.out.println("开盘价: " + kline.getOpen());
|
System.out.println("最高价: " + kline.getHigh());
|
System.out.println("最低价: " + kline.getLow());
|
System.out.println("收盘价: " + kline.getClose());
|
System.out.println("成交量: " + kline.getVolume());
|
System.out.println("------------------------------------------------------");
|
}
|
System.out.println("-------------------------------------------------------\n");
|
|
//拿到K线数据 释放资源,断开WSS
|
if(CollectionUtil.isNotEmpty(klines)){
|
api.cleanup();
|
}
|
});
|
|
//System.out.println("已订阅 " + symbol + " 的1分钟K线数据");
|
|
// 清理资源
|
//api.cleanup();
|
//System.out.println("\n已清理资源");
|
|
} catch (Exception e) {
|
System.err.println("发生错误: " + e.getMessage());
|
e.printStackTrace();
|
}
|
}
|
}
|