同花顺Python策略编辑器帮助文档

同花顺Python策略编辑器帮助文档


如何追单

<h4><strong>简要说明</strong></h4> <p>追单:下一笔委托后,在达到预设的时间长度后,检查全局可撤委托表g_order中,该笔委托是否全部成交,如果没有全部成交,则撤单,并按照委托股数=(原委托单的委托数量-原委托单的成交数量-原委托单的撤销数量),重新委托,实现追单。</p> <hr /> <h4><strong>示例代码</strong></h4> <pre><code>#!/usr/bin/env python # -*- coding: utf-8 -*- from ths_api import * import numpy as np import pandas as pd import time #显示所有列 pd.set_option('display.max_columns', None) #显示所有行 pd.set_option('display.max_rows', None) #设置value的显示长度为200,默认为50 pd.set_option('max_colwidth',200) waittime = 10 #设置参数:过多长时间后查看原委托是否全部成交,单位:秒 ret = xd.cmd('buy 000001 16 100') #原委托 zdht = ret['htbh'] #获取原委托的合同编号 time.sleep( 1 ) #延时1s,以保证委托单已更新到可撤委托表,可从表中按合同编号撤单。 df = xd.order_to_dataframe(xd.g_order) print('下一笔委托后当前的可撤委托表:', '\n', df) print('睡眠 %.2f 秒,等待判断委托是否成交' % waittime) time.sleep(waittime) dic = xd.get_order_from_htbh(zdht) #以字典的方式通过合同编号获取刚下的委托单 print('检查等待 %.2f 秒后,刚下的那笔单的成交情况:' % waittime, '\n', dic) if dic['cxsl'] != dic['wtsl']-dic['cjsl']: #如果原委托的 “撤销数量 + 成交数量 != 委托数量”,说明没有全部成交 cz = dic['cz'] if cz == '买入': bos = 'buy' else: bos = 'sell' xd.cmd('cancel -h %s' % zdht) #撤原委托中的未成交部分 xd.cmd('%s %s %.2f %d' % (bos, dic['zqdm'], dic['wtjg'], (dic['wtsl']-dic['cjsl']-dic['cxsl']))) #追单 time.sleep( 10 ) #这里等待10秒,是为了确保用户已确认委托提示弹窗后输出可撤委托表数据,防止用户还未确认委托时程序已输出可撤委托表 print('追单后的当日可撤委托表:', '\n', xd.order_to_dataframe(xd.g_order)) </code></pre> <h4><strong>运行结果</strong></h4> <p>程序运行的输出及部分日志如下所示。由输出的可撤委托表的第二条委托记录可见,程序在21:06:02时刻先下了一笔单,之后过了10秒后,该笔委托未成交,之后程序对该笔委托进行撤单,并补下“委托数量=原委托单委托数量-原委托单成交数量-原委托单撤销数量”,其余参数相同的委托单,之后输出的当日可撤委托表中,21:06:02时刻下的委托单已消失,只有在21:06:27时刻追单的那笔委托。</p> <pre><code>tips=send buy code:000001 price:16 amount:100 tips=您的买入委托已成功提交,合同编号:1253953259。 下一笔委托后当前的可撤委托表: bz cjjj cjsl cxsl cz gdzh htbh jysc wtjg wtrq \ 0 未成交 0.0 0 0 买入 00108647829 1253967555 深圳A股 16.0 20191101 1 未成交 0.0 0 0 买入 00108647829 1253953259 深圳A股 16.0 20191101 wtsj wtsl zqdm zqmc 0 21:04:15 100 000001 平安银行 1 21:06:02 100 000001 平安银行 睡眠 10.00 秒,等待判断委托是否成交 检查等待 10.00 秒后,刚下的那笔单的成交情况: {'wtjg': 16.0, 'htbh': '1253953259', 'zqmc': '平安银行', 'zqdm': '000001', 'wtrq': '20191101', 'jysc': '深圳A股', 'cz': '买入', 'wtsl': 100, 'gdzh': '00108647829', 'cxsl': 0, 'cjsl': 0, 'bz': '未成交', 'cjjj': 0.0, 'wtsj': '21:06:02'} tips=您的撤单委托已成功提交,合同编号:1253953259。 tips=send buy code:000001 price:16.00 amount:100 tips=您的买入委托已成功提交,合同编号:1253981455。 追单后的当日可撤委托表: bz cjjj cjsl cxsl cz gdzh htbh jysc wtjg wtrq \ 0 未成交 0.0 0 0 买入 00108647829 1253967555 深圳A股 16.0 20191101 1 未成交 0.0 0 0 买入 00108647829 1253981455 深圳A股 16.0 20191101 wtsj wtsl zqdm zqmc 0 21:04:15 100 000001 平安银行 1 21:06:27 100 000001 平安银行 </code></pre>

页面列表

ITEM_HTML