6.15K 浏览
0

我在程序中尝试:交易所简称+交易所套利合约代码出现错误,

SYMBOL = 'DCE.SP c2005&c2009'  # 合约代码
("获取 %s 的行情超时,请检查客户端及网络是否正常,且合约代码填写正确" % (symbol))

请问:
1.天勤SDK是否支持套利合约
2.如果支持应该怎样填写套利合约代码

我在帮助文档中找过没有找到,请教各位!
west 已回答的问题 2020年2月10日
0
from tqsdk import TqApi
 api = TqApi()
 quote = api.get_quote("DCE.SP c2005&c2009")
 print(quote)
 api.close()

tqsdk支持交易所标准套利组合,但是需要注意的是因为标准套利组合交易所并不提供最新价字段,所以如果是通过get_kline方式获取组合的话是不能自动生成k线,会显示获取超时,目前支持通过get_quote获取对应信息。

tq2021 发表新评论 2023年3月8日

谢谢回复,您的代码没问题可以返回套利合约最后的一个数据。
我添加了测试和图形化以及开仓条件就出现我原来描述的问题,代码如下:
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()

不能够这样用么

代码在这里不能排版,见谅

同样的原因是因为交易所作何并未给出最新价字段所以kline无法生成,同样你看quote字段中也是没有last_price字段的,你可以根据bid_price或ask_price做判断

bid_price1 或者ask_price1

您正在查看3个答案中的1个,单击此处查看所有答案。