我在程序中尝试:交易所简称+交易所套利合约代码出现错误,
SYMBOL = 'DCE.SP c2005&c2009' # 合约代码 ("获取 %s 的行情超时,请检查客户端及网络是否正常,且合约代码填写正确" % (symbol)) 请问: 1.天勤SDK是否支持套利合约 2.如果支持应该怎样填写套利合约代码 我在帮助文档中找过没有找到,请教各位!
west 已回答的问题 2020年2月10日
请看关于回测的文档说明部分:
https://doc.shinnytech.com/tqsdk/latest/usage/backtest.html
以及注意最下面部分:“对 组合合约 进行回测时需注意:只能通过订阅 tick 数据来回测,不能订阅K线,因为K线是由最新价合成的,而交易所发回的组合合约数据中无最新价”
west 编辑答案 2020年2月10日
代码在这里不能排版,见谅

同样的原因是因为交易所作何并未给出最新价字段所以kline无法生成,同样你看quote字段中也是没有last_price字段的,你可以根据bid_price或ask_price做判断
bid_price1 或者ask_price1
谢谢回复,您的代码没问题可以返回套利合约最后的一个数据。
我添加了测试和图形化以及开仓条件就出现我原来描述的问题,代码如下:
from tqsdk import TqApi, TqBacktest
from datetime import date
api = TqApi(backtest=TqBacktest(start_dt=date(2019, 9, 10), end_dt=date(2020, 1, 10)), web_gui=True)
quote = api.get_quote(“DCE.SP c2005&c2009”)
position = api.get_position(“DCE.SP c2005&c2009”)
while True:
if quote.last_price < -50 and position == 0:
Order = api.insert_order(symbol='DCE.SP c2005&c2009', direction='BUY', offset='OPEN', volume=1)
print(quote)
api.close()
不能够这样用么