按照官网的说明添加了自定义指标线:
from tqsdk import TqApi, TqAuth from tqsdk.ta import KDJ api = TqApi(web_gui=True, auth=TqAuth("快期账户", "账户密码")) SYMBOL = "SHFE.rb2105" klines = api.get_kline_serial(SYMBOL, 60 * 60 * 24, data_length=100) # 获取100天的K线数据 # 计算KD指标 kdj = KDJ(klines, N=9, M1=3, M2=3) # 添加KD指标的20、50、80线 klines["kd_20"] = 20 klines["kd_20.color"] = "red" klines["kd_20.width"] = 1 klines["kd_20.style"] = "dash" klines["kd_50"] = 50 klines["kd_50.color"] = "green" klines["kd_50.width"] = 1 klines["kd_50.style"] = "dash" klines["kd_80"] = 80 klines["kd_80.color"] = "blue" klines["kd_80.width"] = 1 klines["kd_80.style"] = "dash" while True: api.wait_update() if api.is_changing(klines): print("K线数据已更新")
回测显示正常,但是实盘仅从当天开盘后才显示,历史数据看不到——如果是日线,那每天就只显示一个点?那画线还有什么意义?能不能实盘时,把指标线画完整,只需要过去历史的一段即可,保持指标线的连续可读性就好。现在是完全没法检验测试和实盘的信号是否一致,根本看不了指标线!