f925dff46b
- Added dingdanliu_nb_mflow for improved order processing - Updated related scripts and configurations to support new functionality
66 lines
2.2 KiB
Python
66 lines
2.2 KiB
Python
from ssquant.SQDATA import TakeData
|
|
from pyecharts import options as opts
|
|
from pyecharts.charts import Kline, Bar, Grid
|
|
import pandas as pd
|
|
|
|
|
|
def plotK(data):
|
|
# 示例数据(您需要替换为您的实际数据)
|
|
kline_data = data[['open', 'close', 'low', 'high']].values.tolist()
|
|
dates = data.index.strftime('%Y-%m-%d %H:%M:%S').tolist()
|
|
symbol_data = data['symbol'].values.tolist()
|
|
# 标记 symbol 变化的位置
|
|
markline_data = []
|
|
for i in range(1, len(symbol_data)):
|
|
if symbol_data[i] != symbol_data[i-1]:
|
|
# 当前 symbol 与前一个不同时,添加红色竖线
|
|
markline_data.append(opts.MarkLineItem(x=dates[i], name=f'前一个合约{symbol_data[i-1]},当前合约{symbol_data[i]}'))
|
|
|
|
|
|
# 数据缩放组件配置
|
|
datazoom_slider = opts.DataZoomOpts(type_="slider", xaxis_index=[0, 1, 2, 3,4], range_start=50, range_end=100)
|
|
datazoom_inside = opts.DataZoomOpts(type_="inside", xaxis_index=[0, 1, 2, 3,4])
|
|
|
|
# 创建 K 线图
|
|
kline = (
|
|
Kline(init_opts=opts.InitOpts(width="100%", height="900px"))
|
|
.add_xaxis(dates)
|
|
.add_yaxis('K线图表', kline_data,markline_opts=opts.MarkLineOpts(data=markline_data, symbol='none', linestyle_opts=opts.LineStyleOpts(color="red")))#"ssss",
|
|
.set_global_opts(
|
|
datazoom_opts=[datazoom_slider, datazoom_inside],
|
|
toolbox_opts=opts.ToolboxOpts(is_show=True, pos_top="0%", pos_right="80%"),
|
|
legend_opts=opts.LegendOpts(pos_left='40%'), # 调整图例位置到底部
|
|
)
|
|
)
|
|
kline.render('K线图.html')
|
|
|
|
|
|
|
|
'''
|
|
获取数据-
|
|
品种:symbol,
|
|
起始时间:start_date,
|
|
结束时间:end_date(包含当天),
|
|
周期kline_period:1M..5M..NM(分钟),1D(天),1W(周),1Y(月)
|
|
复权adjust_type:0(不复权)1(后复权)
|
|
'''
|
|
|
|
# 请在下方输入你的俱乐部账号密码,username='俱乐部账号' password='密码'
|
|
|
|
client = TakeData(username='1234@qq.com', password='123')
|
|
data = client.get_data(
|
|
symbol='rb888',
|
|
start_date='2023-12-28',
|
|
end_date='2024-01-17',
|
|
kline_period='60M',
|
|
adjust_type=1
|
|
)
|
|
data.set_index("datetime", inplace=True)
|
|
data.index = pd.to_datetime(data.index)
|
|
print(data)
|
|
#生产K线图表到脚本同目录下
|
|
plotK(data)
|
|
|
|
|
|
|