- 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)
|
||
|
||
|
||
|